注意:以下文档只适用于TOP接口,请谨慎使用!

文档中心 > 基础技术

为了更加灵活的对淘宝开放平台开放的数据进行安全管控, 降低用户数据泄露或者被恶意修改的风险。淘宝开放平台对API或者API字段打了R1,R2,W1,W2四类安全级别的标记,和对开发者的应用打了0,1,2,3四种安全级别的标记。 与R1,R2,W1,W2对应的是在session key(access token)颁发时增加了4个过期时间:r1_expires_in、r2_expires_in、w1_expires_in、w2_expires_in。这4个值分别用来表示此sessionkey调用各级别API或字段的有效期。? 原来的短授权方式已经停止使用,请大家不用再加“&scope=”参数进行短授权了。用户授权请参考《用户授权介绍》。


关于订单接口R2字段出现用户隐私数据(包括收货人联系方式、收货地址等) *** 模糊化字段的情况,和应用安全等级没有关系,是开放平台为了保护用户隐私数据信息安全所做的调整。如果您的应用是商家后台系统,想要获取该类明文数据,请按照文档完成聚石塔入驻流程,入驻完成后使用 塔内IP 发起调用,即可获取明文数据。如果您的应用是ERP类目,或者商家后台系统从聚石塔 塔内IP 调用API,但返回的数据还是模糊化带*的,可以 提交工单 申请R2去模糊化。注意:appkey非自研商家应用&非erp商家应用,不支持R2数据去模糊化,请使用自研应用或者erp应用获取订单数据。

一、一分钟判断是否与我有关


不需要修改程序升级的情况:

第一种情况:APPKEY的安全等级为1,2,并且访问的API或者字段中没有W2或者R2打标;

第二种情况:APPKEY的安全等级为3。


需要修改程序升级的情况:

第一种情况:APPKEY的安全等级为0;

第二种情况:APPKEY的安全等级为1,2,并且访问的API或者字段中有W2或者R2打标。


二、API安全等级


TOP开放的全部API中,有部分API(或API中的部分字段)由于涉及读取/操作用户敏感性数据。

根据API(或API Field)所涉及的私密等级,以及风险的严重程度,将API(或API Field)为为以下等级:


R1:普通用户信息的读操作;

R2:敏感用户信息的读操作,例如用户手机号码、详细地址等;

W1:普通用户或用户关联信息的写操作,例如商品的一般属性等;

W2:高危用户或用户关联信息的写操作,例如商品的价格属性等;


应用访问策略:只允许自己访问,小部分人访问,所有人访问。


请重点关注被TOP定义为R2级(Read Level 2)与W2级(Write Level 2)的API,在调用这些API的授权时长将单独计算,并且相对普通授权时间大幅缩短。它们是:

API安全等级

API

API类型

涉及字段

字段说明

R2

taobao.trades.sold.get

开放

alipay_id

买家支付宝ID

receiver_name

收货人的姓名

receiver_address

收货人的详细地址

receiver_mobile

收货人的手机号码

receiver_phone

收货人的电话号码

taobao.trades.sold.increment.get

开放

alipay_id

买家支付宝ID

receiver_name

收货人的姓名

receiver_address

收货人的详细地址

receiver_mobile

收货人的手机号码

receiver_phone

收货人的电话号码

taobao.trade.fullinfo.get

开放

buyer_alipay_no

买家支付宝账号

receiver_name

收货人的姓名

receiver_address

收货人的详细地址

receiver_mobile

收货人的手机号码

receiver_phone

收货人的电话号码

buyer_email

买家邮件地址

W2

taobao.item.sku.update

开放

price 

商品价格

taobao.item.sku.price.update

开放

整个API

 

taobao.promotion.coupon.add

增值

整个API

 

taobao.ump.activity.add

增值

整个API

 

taobao.ump.activity.update

增值

整个API

 

taobao.ump.detail.add

增值

整个API

 

taobao.ump.detail.list.add

增值

整个API

 

taobao.ump.detail.update

增值

整个API

 

taobao.ump.range.add

增值

整个API

 

taobao.rp.refunds.agree

开放

整个API

 


三、APPKEY安全等级


TOP对于每一个APPKEY,都会认定其应用安全级别,共分为0,1,2,3四级,APPKEY的安全等级,决定了其访问R2、W2 API的授权时长。计算方式:


image


四、如何查看一个的应用的安全等级?


可登录【开放平台控制台】-【应用管理】- 【概览】-【APP证书】管理页面查看:


image.png


五、应用对应的授权时长规则(非自研系统应用)


APPKEY安全等级

API和字段安全等级

session时长

是否可刷新

refresh时长

3

R1

上架应用与订购时长一致,非上架应用默认24小时

上架应用与订购时长一致,非上架应用与当前设置的时长一致

R2

上架应用与订购时长一致,非上架应用默认24小时

W1

上架应用与订购时长一致,非上架应用默认24小时

W2

上架应用与订购时长一致,非上架应用默认24小时

2

R1

上架应用与订购时长一致,非上架应用默认24小时

上架应用与订购时长一致,非上架应用默认24小时

R2

3天

W1

上架应用与订购时长一致,非上架应用默认24小时

W2

30分钟

1

R1

上架应用与订购时长一致,非上架应用默认24小时

上架应用与订购时长一致,非上架应用默认24小时

R2

1天

W1

上架应用与订购时长一致,非上架应用默认24小时

W2

5分钟

0

R1

30分钟

0分钟

R2

0分钟

W1

30分钟

W2

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需要引导用户到授权页面重新授权 。


六、各应用标签授权时长


 标签名称  正式测试环境 上线运行中  备注
IT工具类  24小时  订购时长绑定  
 无线买家应用  24小时  24小时  已停止接入
 xTao合作网站  24小时  24小时  已停止接入
 商家后台系统  24小时  1年  
 店铺模块前台  无session  无session  已停止接入
 店铺模块后台  24小时  订购时长绑定  已停止接入
 新业务 24小时  1个月  


授权使用文档:用户授权介绍


七、我该怎么做


1. 首先确认应用是否处于影响范围内。

判断方式, 我的应用有无调用(在报表中心查看我的应用调用记录)API安全等级中定义的R2、W2 级别的API(详细列表:如上介绍),如果应用有调用,则需要根据新的规则,对应用进行一定改造以免影响基本功能。举例:应用A有使用taobao.item.sku.update中的修改价格功能(使用字段price,此字段API安全等级为W2),则A应用需要进行一定改造。

2. 查看当前应用所处的应用安全等级。

3. ISV需要根据实际使用场景修改应用或者升级应用的安全等级。


八、提高安全等级办法


提高安全等级有3个方法,服务器托管报备、设置IP白名单、设置小部分人使用(主要)。方法分别如下:


1. 服务器托管报备


登录开放平台控制台 --【开发】--【我的应用】-【应用管理】-【安全中心】- 【IP白名单设置】页面设置,如下。

如果您的应用已经使用托管服务器,请点击【确认已托管】按钮。

报备成功后,您的应用的安全等级会被提升,并请在IP白名单中设置您的托管服务器的IP地址。

如果您的应用未使用托管服务器,请点击【取消】按钮。


image.png


2. IP白名单


登录开放平台控制台 --【开发】--【我的应用】-【应用管理】-【安全中心】- 【IP白名单设置】页面设置,如下。

IP白名单是您用来调用API的服务器IP地址,设置后可以防止您的AppKey被其他服务器盗用查看更多

设置IP白名单会影响您的应用安全指数, 查看更多


image.png


3. 设置小部分人使用


仅第三方应用、非自用型应用、在线订购等应用可以设置小部分人使用,商家自研系统需要做授权报备处理。 具体点击查看


九、常见FAQ


1. 我们的应用,现在加了IP白名单,然后没有主机托管万网, 也就是 安全等级=1?

答:加了IP白名单或者主机托管安全等级为1,如果既加入了IP白名单又托管了万网,安全等级为2。


2. 安全等级=1,访问R2数据,session时长=1天,如果在 第23个小时,我们用该session调用了一次API,这个session时长会顺延1天吗?还是说 自用户授权后? 只管1天, 跟我们调用不调用没关系?

答:安全等级为1的时候,必须要用户重新登录,R2的session才会延长一天。当安全等级为2的时候,需要开发者在3天内,通过access token重新refresh一下,才会顺延三天,不需要用户登录。

注:现在top协议和Oauth2.0两种登录授权方式都是支持refresh token的。


3. 手机客户端无法绑定IP,是否能够得到R2,W2这些安全等级高的数据?

答:目前官方提供了IOS版的SDK,可以来保证从IOS请求过来的数据安全性,通过IOS SDK调用API会有与应用安全等级为2的APPKEY享有相同的敏感数据授权时长。

安全等级为2的授权时长:参见上面的应用对应的授权时长规则。


4. 安全等级授权过期会返回以下几个错误:


R1字段过期返回:Insufficient security level:R1 security authorize invalid。

R2字段过期返回:Insufficient security level:R2 security authorize invalid。

W1字段过期返回:Insufficient security level:W1 security authorize invalid。

W2字段过期返回:Insufficient security level:W2 security authorize invalid。


答:解决办法为重新top登录授权或者oauth2.0登录授权一次,延长授权时长。


5. 为什么全部都进行设置安全等级还是2级?

答:【非自研】使用的应用,【部分应用】的安全等级【最高只能到2级】


FAQ

关于此文档暂时还没有FAQ
返回
顶部