应用通过用户授权调用TOP提供的API可以获取和操作用户、商品、订单等数据,为了防止这些数据泄露和恶意篡改,TOP提供保障应用安全的一系列服务。这些服务包括:授权管理、服务器托管报备、IP白名单设置、缺陷列表、API调用监控和用户授权监控。根据这些服务收集到的数据构建应用的安全指数,统一衡量应用的安全状况。
主要在开放平台后台查看和设置,查看路径:【淘宝开放平台控制台->开发->我的应用->应用管理】。
授权用户会影响您的安全指数,应用面向不同数量的用户群体,对应的安全级别会不同,该设置也是主要影响应用安全等级的因素。
路径:【控制台->开发->我的应用->应用管理->应用设置->授权管理】。
主要供开发者设置主机是否托管,也是影响应用安全等级的因素之一。
路径:【控制台->开发->我的应用->应用管理->应用设置->服务器托管报备】,一键点击完成服务器托管报备。
说明:如果您的应用已经使用托管服务器,请点击”确认已托管“按钮。报备成功后,您的应用的安全等级会被提升,并请在IP白名单中设置您的托管服务器的IP地址。如果您的应用未使用托管服务器,请点击下方“取消”按钮。
IP白名单是您用来调用API的服务器IP,设置后,该AppKey只允许在IP白名单范围内的服务器IP过来调用API,非白名单IP无法调用API,可以防止您的AppKey被其他服务器盗用。比如,即使AppKey 和Secret 被盗,如果盗用者不是从您的服务器IP发起的API调用请求,则会被TOP拒绝。设置IP白名单时,IP最后两位可以使用通配符“*”,比如:74.125.71.10,74.125.71.*,74.125.*.*。
路径:【控制台->开发->我的应用->应用管理->安全中心->IP白名单设置】。
通过TOP主动监控,帮助ISV发现应用的缺陷,提升应用品质。
路径:【控制台->开发->我的应用->应用管理->安全中心->缺陷列表】。
根据应用采取的安全措施,决定应用调用API时访问的范围不同。
路径:【控制台->开发->我的应用->应用管理->报表中心->API调用详情】。
对应用的授权用户数突增突降进行监控。
路径:【控制台->开发->我的应用->应用管理-->报表中心->授权详情】。
TOP对于每一个APPKEY,都会认定其应用安全级别,共分为0,1,2,3四级,APPKEY的安全等级,决定了其访问R2、W2 API的授权时长。计算公式如下:
可在【控制台->开发->我的应用->应用管理->概览】 中的APP证书管理页面查看:
为了更加灵活的对淘宝开放平台开放的数据进行安全管控, 降低用户数据泄露或者被恶意修改的风险,推出了安全等级的概念。
淘宝开放平台对API(或者API字段)及 应用分别打了r1、r2、w1、w2 和 0,1,2,3四种安全级别的标记。与 r1、r2、w1、w2对应的是在access token(session key)颁发时增加了4个过期时间:r1_expires_in、r2_expires_in、w1_expires_in、w2_expires_in。这4个值分别用来表示此access token 调用各级别API(或字段)的有效期,如下:(受安全等级限制的应用有:第三方IT工具、服务商后台系统、店铺模块后台这3类应用;商家后台系统和新业务这类卖家自用型应用暂不受影响。)
安全等级 |
API级别 |
正式环境测试 |
上线运行中 |
是否可刷新 |
Refresh刷新时长 |
3级 |
R1 |
24小时 |
同订购时长 |
是 |
已上线应用与订购时长一致,正式环境测试24小时有效 |
R2 |
24小时 |
同订购时长 |
是 |
已上线应用与订购时长一致,正式环境测试24小时有效 |
|
W1 |
24小时 |
同订购时长 |
是 |
已上线应用与订购时长一致,正式环境测试24小时有效 |
|
W2 |
24小时 |
同订购时长 |
是 |
已上线应用与订购时长一致,正式环境测试24小时有效 |
|
2级 |
R1 |
24小时 |
同订购时长 |
是 |
已上线应用与订购时长一致,正式环境测试24小时有效 |
R2 |
24小时 |
72小时 |
是 |
已上线应用与订购时长一致,正式环境测试24小时有效 |
|
W1 |
24小时 |
同订购时长 |
是 |
已上线应用与订购时长一致,正式环境测试24小时有效 |
|
W2 |
30分钟 |
30分钟 |
否 |
|
|
1级 |
R1 |
24小时 |
同订购时长 |
是 |
已上线应用与订购时长一致,正式环境测试24小时有效 |
R2 |
24小时 |
24小时 |
否 |
|
|
W1 |
24小时 |
同订购时长 |
是 |
已上线应用与订购时长一致,正式环境测试24小时有效 |
|
W2 |
5分钟 |
5分钟 |
否 |
|
|
0级 |
R1 |
30分钟 |
30分钟 |
否 |
|
R2 |
0分钟 |
0分钟 |
否 |
|
|
W1 |
30分钟 |
30分钟 |
否 |
|
|
W2 |
0分钟 |
0分钟 |
否 |
|
例如一个安全等级为2级的应用,在用户授权后颁发一个session key(access token),同时会返回4个过期时间:r1_expires_in=2160000(单位秒,下同)、r2_expires_in=259200、w1_expires_in=2160000、w2_expires_in=1800。
这些时长的含义如下:
1)session key颁发后1800秒内,APP可以使用这个session key调用w2级别的API或字段。另外3个过期时间含义相同。
2)session key颁发后超过1800秒,APP不可以再使用这个session key调用w2级别的API或字段。另外3个过期时间含义相同。
3)对于本例来说如果R2级别的授权过期了,可以使用refresh token刷新一下R2的授权时长。刷新后使用新返回的session key(access token)又可以重新调用R2级别的API或字段。
4)对于本例来说如果w2级别的授权过期了,如上表格所示w2级别的授权是不能刷新的。所以APP需要引导用户到授权页面重新授权 。
不需要关心的情况
第一种情况:APPKEY的安全等级为1,2,并且访问的API或者字段中没有W2或者R2打标
第二种情况:APPKEY的安全等级为3
需要关心的情况
第一种情况:APPKEY的安全等级为0
第二种情况:APPKEY的安全等级为1,2,并且访问的API或者字段中有W2或者R2打标
TOP开放的全部API中,有部分API(或API中的部分字段)由于涉及读取/操作用户敏感性数据。根据API(或API Field)所涉及的私密等级,以及风险的严重程度,将API(或API Field)为为以下等级:
R1:普通用户信息的读操作
R2:敏感用户信息的读操作,例如用户手机号码、详细地址等
W1:普通用户或用户关联信息的写操作,例如商品的一般属性等
W2:高危用户或用户关联信息的写操作,例如商品的价格属性等
安全等级相关内容请参见文档:点击查看。
为了保证开放平台上应用的安全性,我们制定了详细的应用安全规范,要求所有接入淘宝开放平台的第三方应用必须严格遵守。具体安全规范内容请参见文档:
点击查看。