AssumeRole_安全令牌_API文档

插件下载了解更多
VS Code 插件
安装插件之前,确保已安装 VS Code安装插件之前,确保已安装 VS Code
Alibaba Cloud Developer Toolkit is a collection of extensions that can help access Alibaba Cloud services in Visual Studio Code.
JetBrains 插件
安装插件之前,确保已安装 JetBrains IDE安装插件之前,确保已安装 JetBrains IDE
The Alibaba Cloud Developer Toolkit for JetBrains makes it easier to access Alibaba Cloud services.

接口说明

前提条件

该接口不能使用阿里云账号(主账号)调用,只能使用 RAM 用户或 RAM 角色调用,请确保已为调用者(RAM 用户或 RAM 角色)授予 STS 的管理权限(AliyunSTSAssumeRoleAccess)。

否则,会报如下错误:

You are not authorized to do this action. You should be authorized by RAM.

问题原因和解决方法如下:

最佳实践

STS Token 自颁发后将在一段时间内有效,建议您设置合理的 Token 有效期,并在有效期内重复使用,以避免业务请求速率上升后,STS Token 颁发的速率限制影响到业务。具体速率限制,请参见 STS 服务调用次数是否有上限。您可以通过请求参数DurationSeconds设置 Token 有效期。

在移动端上传或下载 OSS 文件等场景下,其访问量较大,即使重复使用 STS Token 也可能无法满足限流要求。为避免 STS 的限流成为 OSS 访问量的瓶颈,您可以尝试 OSS 的在 URL 中包含签名的方案。更多信息,请参见在 URL 中包含签名服务端签名后直传

流控信息

请求速率为100/1(s)。

授权信息

如下是此API对应的授权信息,用于RAM权限策略语句的Action元素中,为RAM用户或RAM角色授予调用此API的权限。请通过 RAM 访问控制设置,使用方法可参考访问控制帮助文档

具体说明如下:展开详情

操作访问级别资源类型条件关键字关联操作
sts:AssumeRole
Get
Role
acs:ram::{#accountId}:role/{#RoleName}

请求参数

字段名称字段详情
DurationSecondsinteger<int64>

Token 有效期。单位:秒。展开详情

注意 该字段类型为 Long,在序列化/反序列化的过程中可能导致精度丢失,请注意数值不得大于 9007199254740991。
示例值:3600
Policystring

为 STS Token 额外添加的一个权限策略,进一步限制 STS Token 的权限。具体如下:展开详情

示例值:{"Statement": [{"Action": ["*"],"Effect": "Allow","Resource": ["*"]}],"Version":"1"}
RoleArnstring

要扮演的 RAM 角色 ARN。展开详情

示例值:acs:ram::123456789012****:role/adminrole
RoleSessionNamestring

角色会话名称。展开详情

示例值:alice
ExternalIdstring

角色外部 ID。展开详情

示例值:abcd1234

请求说明

关于公共请求参数的详情,请参见公共请求参数

返回参数

字段名称字段详情
RequestIdstring

请求 ID。

示例值:6894B13B-6D71-4EF5-88FA-F32781734A7F
AssumedRoleUserobject

角色扮演时的临时身份。

Credentialsobject

访问凭证。

返回示例

错误码

全局错误码
HTTP 状态码错误码错误信息操作
400
InvalidParameter.DurationSeconds
The Min/Max value of DurationSeconds is 15min/1hr.诊断
400
InvalidParameter.ExternalId
The parameter ExternalId is wrongly formed.诊断
400
InvalidParameter.RoleArn
The parameter RoleArn is wrongly formed.诊断
400
InvalidParameter.RoleSessionName
The parameter RoleSessionName is wrongly formed.诊断
400
InvalidParameter.SerialNumber
The parameter SerialNumber is wrongly formed.诊断
400
InvalidParameter.TokenCode
The parameter TokenCode is wrongly formed.诊断
400
InvalidParameter.PolicyGrammar
The parameter Policy has not passed grammar check.诊断
400
InvalidParameter.PolicySize
The size of Policy must be smaller than 2048 bytes.诊断
400
InvalidParameter.ContentType
The ContentType request header must be either "application/json" or "application/x-www-form-urlencoded".诊断
403
NoPermission
You are not authorized to do this action. You should be authorized by RAM.诊断
403
AuthenticationFail.ApiUsername
The specified api username is not legal.诊断
403
AuthenticationFail.ApiPassword
The specified api password is not legal.诊断
404
EntityNotExist.Role
The specified Role not exists .诊断
500
InternalError
STS Server Internal Error happened, please send the RequestId to us.诊断

变更历史

变更时间变更内容概要操作
2022-09-27
变更错误码400

相关示例