首页 访问控制 开发参考 API参考 API参考(STS) API目录 角色扮演 AssumeRoleWithSAML - SAML角色SSO时获取扮演角色的临时身份凭证

AssumeRoleWithSAML - SAML角色SSO时获取扮演角色的临时身份凭证

更新时间: 2023-08-11 13:46:25

进行SAML角色SSO时,通过调用AssumeRoleWithSAML接口,获取扮演RAM角色的临时身份凭证(STS Token)。

接口说明

前提条件

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

调试

授权信息

当前API暂无授权信息透出。

请求参数

名称类型必填描述示例值
SAMLProviderArnstring

RAM中创建的SAML身份提供商的ARN。

格式:acs:ram::<account_id>:saml-provider/<saml_provider_id>

您可以通过RAM控制台或API查看身份提供商的ARN。具体如下:

acs:ram::123456789012****:saml-provider/company1
RoleArnstring

要扮演的RAM角色的ARN。

该角色是可信实体为SAML身份提供商的RAM角色。更多信息,请参见创建可信实体为身份提供商的RAM角色CreateRole

格式:acs:ram::<account_id>:role/<role_name>

您可以通过RAM控制台或API查看角色ARN。具体如下:

acs:ram::123456789012****:role/adminrole
SAMLAssertionstring

Base64编码后的SAML断言。

长度为4~100000个字符。

说明 需要从IdP获取完整的SAML响应,不能是单独的SAML断言字段。
base64_encoded_saml_assertion
Policystring

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

  • 如果指定该权限策略,则STS Token最终的权限取RAM角色权限策略与该权限策略的交集。
  • 如果不指定该权限策略,则STS Token最终的权限就是RAM角色的权限。

长度为1~2048个字符。

url_encoded_policy
DurationSecondslong

Token有效期。单位:秒。

Token有效期最小值为900秒,最大值为MaxSessionDuration设置的时间,默认值为3600秒。

您可以通过CreateRole或UpdateRole接口设置角色最大会话时间MaxSessionDuration。更多信息,请参见CreateRoleUpdateRole

3600
说明 由于AssumeRoleWithSAML接口使用SAML断言进行身份认证,可以匿名访问,因此不需要提供公共请求参数中的SignatureSignatureMethodSignatureVersionAccessKeyId参数。关于公共请求参数的详情,请参见公共请求参数

返回参数

名称类型描述示例值
object

返回参数。

RequestIdstring

请求ID。

6894B13B-6D71-4EF5-88FA-F32781734A7F
SAMLAssertionInfoobject

SAML断言中的部分信息。

SubjectTypestring

SAML断言中NameID的格式。当前缀为urn:oasis:names:tc:SAML:2.0:nameid-format:时,前缀会被移除。例如:persistent/transient

persistent
Subjectstring

SAML断言中Subject - NameID字段的值。

alice@example.com
Issuerstring

SAML断言中Issuer字段的值。

http://example.com/adfs/services/trust
Recipientstring

SAML断言中Subject - SubjectConfirmation - SubjectConfirmationData字段中Recipient属性的值。

https://signin.aliyun.com/saml-role/SSO
AssumedRoleUserobject

角色扮演临时身份。

AssumedRoleIdstring

临时身份的ID。

34458433936495****:alice
Arnstring

临时身份的ARN。

acs:sts::123456789012****:assumed-role/AdminRole/alice
Credentialsobject

访问凭证。

SecurityTokenstring

安全令牌。

说明 安全令牌的长度不固定,我们强烈建议您不要对安全令牌的最大长度做任何限制。
********
Expirationstring

Token到期失效时间(UTC时间)。

2015-04-09T11:52:19Z
AccessKeySecretstring

访问密钥。

wyLTSmsyPGP1ohvvw8xYgB29dlGI8KMiH2pK****
AccessKeyIdstring

访问密钥ID。

STS.L4aBSCSJVMuKg5U1****

示例

正常返回示例

JSON格式

{
  "RequestId": "6894B13B-6D71-4EF5-88FA-F32781734A7F",
  "SAMLAssertionInfo": {
    "SubjectType": "persistent",
    "Subject": "alice@example.com",
    "Issuer": "http://example.com/adfs/services/trust",
    "Recipient": "https://signin.aliyun.com/saml-role/SSO"
  },
  "AssumedRoleUser": {
    "AssumedRoleId": "34458433936495****:alice",
    "Arn": "acs:sts::123456789012****:assumed-role/AdminRole/alice"
  },
  "Credentials": {
    "SecurityToken": "********",
    "Expiration": "2015-04-09T11:52:19Z",
    "AccessKeySecret": "wyLTSmsyPGP1ohvvw8xYgB29dlGI8KMiH2pK****",
    "AccessKeyId": "STS.L4aBSCSJVMuKg5U1****"
  }
}

错误码

HTTP status code错误码错误信息
500InternalErrorSTS Server Internal Error happened, please send the RequestId to us.
500InternalErrorSTS Server Internal Error happened, please send the RequestId to us.

访问错误中心查看更多错误码。

阿里云首页 访问控制 相关技术圈