全部產品
Search
文件中心

:AssumeRoleWithSAML - SAML角色SSO時擷取扮演角色的臨時身份憑證

更新時間:Aug 08, 2025

進行SAML角色SSO時,通過調用AssumeRoleWithSAML介面,擷取扮演RAM角色的臨時身份憑證(STS Token)。

介面說明

前提條件

調試

您可以在OpenAPI Explorer中直接運行該介面,免去您計算簽名的困擾。運行成功後,OpenAPI Explorer可以自動產生SDK程式碼範例。

調試

授權資訊

當前API暫無授權資訊透出。

請求參數

名稱

類型

必填

描述

樣本值

SAMLProviderArn

string

RAM 中建立的 SAML 身份供應商的 ARN。

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

您可以通過 RAM 控制台或 API 查看身份供應商的 ARN。具體如下:

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

RoleArn

string

要扮演的 RAM 角色的 ARN。

該角色是可信實體為 SAML 身份供應商的 RAM 角色。更多資訊,請參見建立可信實體為身份供應商的 RAM 角色CreateRole

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

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

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

SAMLAssertion

string

Base 64 編碼後的 SAML 斷言。

長度為 4~100000 個字元。

說明

需要從 IdP 擷取完整的 SAML 響應,不能是單獨的 SAML 斷言欄位。

base64_encoded_saml_assertion

Policy

string

為 STS Token 額外添加的一個權限原則,進一步限制 STS Token 的許可權。具體如下:

  • 如果指定該權限原則,則 STS Token 最終的許可權取 RAM 角色權限原則與該權限原則的交集。

  • 如果不指定該權限原則,則 STS Token 最終的許可權就是 RAM 角色的許可權。

長度為 1~2048 個字元。

url_encoded_policy

DurationSeconds

integer

Token 有效期間。單位:秒。

Token 有效期間最小值為 900 秒,最大值為MaxSessionDuration設定的時間,預設值為 3600 秒。

您可以通過 CreateRole 或 UpdateRole 介面設定角色最大會話時間MaxSessionDuration。更多資訊,請參見 CreateRoleUpdateRole

3600

說明

由於 AssumeRoleWithSAML 介面使用 SAML 斷言進行身份認證,可以匿名訪問,因此不需要提供公用請求參數中的SignatureSignatureMethodSignatureVersionAccessKeyId參數。關於公用請求參數的詳情,請參見公用請求參數

返回參數

名稱

類型

描述

樣本值

object

返回參數。

RequestId

string

請求 ID。

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

SAMLAssertionInfo

object

SAML 斷言中的部分資訊。

SubjectType

string

SAML 斷言中NameID的格式。當首碼為urn:oasis:names:tc:SAML:2.0:nameid-format:時,首碼會被移除。例如:persistent/transient

persistent

Subject

string

SAML 斷言中Subject - NameID欄位的值。

alice@example.com

Issuer

string

SAML 斷言中Issuer欄位的值。

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

Recipient

string

SAML 斷言中Subject - SubjectConfirmation - SubjectConfirmationData欄位中Recipient屬性的值。

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

AssumedRoleUser

object

角色扮演臨時身份。

AssumedRoleId

string

臨時身份的 ID。

34458433936495****:alice

Arn

string

臨時身份的 ARN。

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

Credentials

object

訪問憑證。

SecurityToken

string

安全性權杖。

說明

安全性權杖的長度不固定,我們強烈建議您不要對安全性權杖的最大長度做任何限制。

********

Expiration

string

Token 到期失效時間(UTC 時間)。

2015-04-09T11:52:19Z

AccessKeySecret

string

存取金鑰。

wyLTSmsyPGP1ohvvw8xYgB29dlGI8KMiH2pK****

AccessKeyId

string

存取金鑰 ID。

STS.L4aBSCSJVMuKg5U1****

SourceIdentity

string

源身份資訊。

在扮演角色時,可以指定扮演者的源身份(SourceIdentity)作為會話的初始身份標識。 該源身份的值在持續扮演角色的鏈式會話中將一直存在,中途不可更改,可確保操作的可追溯性和安全性。

如果沒有設定源身份資訊,則該欄位不會返回。

Alice

樣本

正常返回樣本

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****"
  },
  "SourceIdentity": "Alice"
}

錯誤碼

HTTP status code

錯誤碼

錯誤資訊

描述

500 InternalError STS Server Internal Error happened, please send the RequestId to us.

訪問錯誤中心查看更多錯誤碼。

變更歷史

更多資訊,參考變更詳情