進行SAML角色SSO時,通過調(diào)用AssumeRoleWithSAML接口,獲取扮演RAM角色的臨時身份憑證(STS Token)。
接口說明
前提條件
- 確保已從外部身份提供商(IdP)獲取到 SAML 響應。
- 確保已在 RAM 中創(chuàng)建了 SAML 身份提供商。具體操作,請參見創(chuàng)建 SAML 身份提供商或 CreateSAMLProvider 。
- 確保已在 RAM 中創(chuàng)建了可信實體為 SAML 身份提供商的 RAM 角色。具體操作,請參見創(chuàng)建可信實體為身份提供商的 RAM 角色或 CreateRole 。
調(diào)試
您可以在OpenAPI Explorer中直接運行該接口,免去您計算簽名的困擾。運行成功后,OpenAPI Explorer可以自動生成SDK代碼示例。
授權(quán)信息
請求參數(shù)
名稱 | 類型 | 必填 | 描述 | 示例值 |
---|---|---|---|---|
SAMLProviderArn | string | 是 | RAM 中創(chuàng)建的 SAML 身份提供商的 ARN。 格式: 您可以通過 RAM 控制臺或 API 查看身份提供商的 ARN。具體如下:
| acs:ram::123456789012****:saml-provider/company1 |
RoleArn | string | 是 | 要扮演的 RAM 角色的 ARN。 該角色是可信實體為 SAML 身份提供商的 RAM 角色。更多信息,請參見創(chuàng)建可信實體為身份提供商的 RAM 角色或 CreateRole 。 格式: 您可以通過 RAM 控制臺或 API 查看角色 ARN。具體如下:
| acs:ram::123456789012****:role/adminrole |
SAMLAssertion | string | 是 | Base64 編碼后的 SAML 斷言。 長度為 4~100000 個字符。 說明
需要從 IdP 獲取完整的 SAML 響應,不能是單獨的 SAML 斷言字段。
| base64_encoded_saml_assertion |
Policy | string | 否 | 為 STS Token 額外添加的一個權(quán)限策略,進一步限制 STS Token 的權(quán)限。具體如下:
長度為 1~2048 個字符。 | url_encoded_policy |
DurationSeconds | long | 否 | Token 有效期。單位:秒。 Token 有效期最小值為 900 秒,最大值為 您可以通過 CreateRole 或 UpdateRole 接口設置角色最大會話時間 | 3600 |
Signature
、SignatureMethod
、SignatureVersion
和AccessKeyId
參數(shù)。關(guān)于公共請求參數(shù)的詳情,請參見公共請求參數(shù)。
返回參數(shù)
示例
正常返回示例
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 | 錯誤碼 | 錯誤信息 |
---|---|---|
500 | InternalError | STS Server Internal Error happened, please send the RequestId to us. |
訪問錯誤中心查看更多錯誤碼。