亚马逊API: 历史与安全监管

亚马逊是一个特别API化的公司,每一个产品都有API。正是因为如此,技术圈的人们戏称它是“超级API公司”。为什么它能得到这样的称号呢?

因为在2002年,贝索斯突然向全公司发布了一道指令(来自“Steve Yegge 对 Google 平台吐槽”一文):

亚马逊API: 历史与安全监管_第1张图片

(1)从今天起,所有的团队都要以服务接口的方式,提供数据和各种功能。

(2)团队之间必须通过接口来通信。

(3)不允许任何其他形式的互操作:不允许直接链接,不允许直接读其他团队的数据,不允许共享内存,不允许任何形式的后门。唯一许可的通信方式,就是通过网络调用服务。

(4)具体的实现技术不做规定,HTTP、Corba、PubSub、自定义协议皆可。

(5)所有的服务接口,必须从一开始就以可以公开作为设计导向,没有例外。这就是说,在设计接口的时候,就默认这个接口可以对外部人员开放,没有讨价还价的余地。

(6)不遵守上面规定,就开除

贝索斯意识到,当时亚马逊现有的卖书送书的基础设施,其实可以变成一个非常出色、可定制的计算平台,但前提是整个基础设施必须改造成面向服务的架构。这个意识就算是拿到今天也是非常超前的,它成就了亚马逊AWS服务这一块生意,甚至可以说成就了云计算这一领域的基础建设。

这个意识,和API、微服务的相关思想一起成就了亚马逊庞大的产品线 。下面的图是维基百科的亚马逊产品线列表,大家可以感受一下:

亚马逊API: 历史与安全监管_第2张图片

我们跨境电商最可能用到的,就是“Websites”下面的“Marketplace”和“Amazon Web Services”下面的“Product Advertising API”了。

其中,MWS(Marketpace Web Service 的简称)API 可以支撑日常店铺管理的所有工作,而 Product Advertising API 是专门对于广告进行管理的。广告部门不只服务电商,API也是单独出来。下面是 MWS API 的官方首页和 Product Advertising API 的官方首页:

亚马逊API: 历史与安全监管_第3张图片
亚马逊API: 历史与安全监管_第4张图片

API为亚马逊带来了极大的好处,同时也带来了不少问题:组和组之间只用API来交流,有考虑不当的地方就会让系统崩溃。一个笑话,说亚马逊每个组最大的敌人就是来自于其他组的攻击,比如实习生错发请求导致另外的组的服务拥塞什么的。所以API的安全性每个内部组看得都非常紧,这也包括授权合规等方面。如果店铺没有保护好自己的API权限,把过高的权限给了第三方,就会触发亚马逊对店铺方面的保护机制。这个机制不是为了惩罚店铺,而是为了让店铺更好的保护好自己的授权,同时让第三方的服务更加规范。

那么哪些授权是安全的呢?

对于 MWS API,第三方应该用下面的方法来进行授权操作:

亚马逊API: 历史与安全监管_第5张图片

换句话说,应该拿到用户的SellerId和MWSAuthToken,但要用自己的Secret Key 和AWSAccessKeyId,而不能用用户的。这些授权的结果可以在 seller central 后台看到。

对于 Advertising API,官方推荐的方法是用”Login with Amazon”来解决,如下图所示:

亚马逊API: 历史与安全监管_第6张图片

这样的用户授权体验就是一次正常的登录操作,而授权结果可以在“Manage Login with Amazon” ( https://www.amazon.com/ap/adam) 中看到。

亚马逊API: 历史与安全监管_第7张图片

举例:如下面的图显示,Qinggu Ads Management(清谷广告管理)从正规渠道得到了您的授权。

亚马逊API: 历史与安全监管_第8张图片

关注微信公众号:清谷科技,亦可搜索微信号:qinggukeji

定期推送跨境电商资讯,分享站内站外引流、海外广告投放的技巧干货。

声明:转载文章不得修改标题及原文,并请注明出处。

文章配图来自网络,如涉及侵权请联系后台删除。

你可能感兴趣的:(亚马逊API: 历史与安全监管)