临时授权访问__访问控制_API 参考_对象存储 OSS-阿里云
STS介绍
OSS可以通过阿里云STS服务,临时进行授权访问。阿里云STS (Security Token Service) 是为云计算用户提供临时访问令牌的Web服务。通过STS,您可以为第三方应用或联邦用户(用户身份由您自己管理)颁发一个自定义时效和权限的访问凭证。第三方应用或联邦用户可以使用该访问凭证直接调用阿里云产品API,或者使用阿里云产品提供的SDK来访问云产品API。
- 您不需要透露您的长期密钥(AccessKey)给第三方应用,只需要生成一个访问令牌并将令牌交给第三方应用即可。这个令牌的访问权限及有效期限都可以由您自定义。
- 您不需要关心权限撤销问题,访问令牌过期后就自动失效。
以APP应用为例,交互流程如下图:
方案的详细描述如下:
- App用户登录。App用户身份是客户自己管理。客户可以自定义身份管理系统,也可以使用外部Web账号或OpenID。对于每个有效的App用户来说,AppServer是可以确切地定义出每个App用户的最小访问权限。
- AppServer请求STS服务获取一个安全令牌(SecurityToken)。在调用STS之前,AppServer需要确定App用户的最小访问权限(用Policy语法描述)以及授权的过期时间。然后通过调用STS的AssumeRole(扮演角色)接口来获取安全令牌。角色管理与使用相关内容请参考《RAM使用指南》中的角色管理。
- STS返回给AppServer一个有效的访问凭证,包括一个安全令牌(SecurityToken)、临时访问密钥(AccessKeyId, AccessKeySecret)以及过期时间。
- AppServer将访问凭证返回给ClientApp。ClientApp可以缓存这个凭证。当凭证失效时,ClientApp需要向AppServer申请新的有效访问凭证。比如,访问凭证有效期为1小时,那么ClientApp可以每30分钟向AppServer请求更新访问凭证。
- ClientApp使用本地缓存的访问凭证去请求Aliyun Service API。云服务会感知STS访问凭证,并会依赖STS服务来验证访问凭证,并正确响应用户请求。
STS安全令牌详情,请参考《RAM使用指南》中的角色管理。关键是调用STS服务接口AssumeRole来获取有效访问凭证即可。也可以直接使用STS SDK来调用该方法,点击查看
使用STS凭证构造签名请求
用户的客户端端拿到STS临时凭证后,通过其中安全令牌(SecurityToken)以及临时访问密钥(AccessKeyId, AccessKeySecret)构建签名。授权访问签名的构建方式与使用直接使用根账号的AccessKey在Header中包含签名基本一致,关键注意两点:
- 用户使用的签名密钥为STS提供的临时访问密钥(AccessKeyId, AccessKeySecret)。
- 用户需要将安全令牌(SecurityToken)携带在请求header中或者以请求参数的形式放入URI中。这两种形式只能选择其一,如果都选择,oss会返回InvalidArgument错误。
- 在header中包含头部
x-oss-security-token:SecurityToken
。计算签名CanonicalizedOSSHeaders时,将x-oss-security-token计算在内。 - 在URL中携带参数
security-token=SecurityToken
。计算签名CanonicalizedResource时 ,将security-token当做一个sub-resource计算在内。
- 在header中包含头部
最后更新:2016-11-23 17:16:07
上一篇:
在URL中包含签名__访问控制_API 参考_对象存储 OSS-阿里云
下一篇:
Bucket权限控制__访问控制_API 参考_对象存储 OSS-阿里云
vpc下内网隔离设置__常见问题_专有网络 VPC-阿里云
金融云开通使用流程__金融云新手上路_金融云-阿里云
ALTER TABLE__数据定义语言_SQL语法参考_云数据库 OceanBase-阿里云
修改实例 VPC 属性__实例相关接口_API 参考_云服务器 ECS-阿里云
限流降级简介__限流降级_用户指南_企业级分布式应用服务 EDAS-阿里云
云盾高防IP计费方式___购买指导_DDoS 高防IP-阿里云
体育赛事_阿里云帮助中心-阿里云,领先的云计算服务提供商
设置 SSL 加密__安全管理_用户指南_云数据库 RDS 版-阿里云
使用阿里云Java应用向导__使用手册_Eclipse 插件-阿里云
查询推流黑名单列表__直播流操作接口_API 手册_CDN-阿里云
相关内容
常见错误说明__附录_大数据计算服务-阿里云
发送短信接口__API使用手册_短信服务-阿里云
接口文档__Android_安全组件教程_移动安全-阿里云
运营商错误码(联通)__常见问题_短信服务-阿里云
设置短信模板__使用手册_短信服务-阿里云
OSS 权限问题及排查__常见错误及排除_最佳实践_对象存储 OSS-阿里云
消息通知__操作指南_批量计算-阿里云
设备端快速接入(MQTT)__快速开始_阿里云物联网套件-阿里云
查询API调用流量数据__API管理相关接口_API_API 网关-阿里云
使用STS访问__JavaScript-SDK_SDK 参考_对象存储 OSS-阿里云