AssumeRole
通过调用AssumeRole接口,获取一个扮演RAM角色的临时身份凭证(STS Token)
服务地址:
华东1 金融云
输入参数
只看必填
DurationSecondsToken有效期
Policy为STS Token额外添加的一个权限策略
RoleArn要扮演的RAM角色ARN
该接口不能使用阿里云账号(主账号)调用,只能使用 RAM 用户或 RAM 角色调用
RoleSessionName角色会话名称
ExternalId角色外部ID
插件下载了解更多
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 中包含签名服务端签名后直传

请求参数

字段名称字段详情
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

访问凭证。

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