Security Assertion Markup Language(SAML)を使用するロールベースのシングルサインオン(SSO)の場合、AssumeRoleWithSAML 操作を呼び出して、RAM ロールの 一時的な ID クレデンシャル(セキュリティトークンサービス(STS)トークン)を取得します。
操作説明
前提条件
外部 ID プロバイダー(IdP)から SAML レスポンスを取得します。
Resource Access Management(RAM)で SAML ID プロバイダーを作成します。 詳細については、「SAML ID プロバイダーを作成する」または「CreateSAMLProvider」をご参照ください。
SAML ID プロバイダーの RAM ロールを作成します。 詳細については、「ID プロバイダーの RAM ロールを作成する」または「CreateRole」をご参照ください。
今すぐお試しください
テスト
RAM 認証
リクエストパラメーター
|
パラメーター |
タイプ |
必須 / 任意 |
説明 |
例 |
| SAMLProviderArn |
string |
任意 |
RAM で作成された SAML IdP の Alibaba Cloud リソースネーム(ARN)。 形式: IdP の ARN は、RAM コンソールで表示するか、API 操作を呼び出すことで表示できます。
|
acs:ram::123456789012****:saml-provider/company1 |
| RoleArn |
string |
任意 |
偽装する RAM ロールの ARN。 RAM ロールの信頼できるエンティティは SAML IdP です。 詳細については、「ID プロバイダーの RAM ロールを作成する」または「CreateRole」をご参照ください。 形式: ロールの ARN は、RAM コンソールで表示するか、API 操作を呼び出すことで表示できます。
|
acs:ram::123456789012****:role/adminrole |
| SAMLAssertion |
string |
任意 |
Base64 エンコードされた SAML アサーション。 値は 4 ~ 100,000 文字の長さでなければなりません。 説明
IdP から完全な SAML レスポンスを取得します。 SAML アサーションフィールドだけを使用しないでください。 |
base64_encoded_saml_assertion |
| Policy |
string |
任意 |
STS トークンの権限をさらに制限するためのアクセス ポリシー。 このパラメーターは次のように動作します。
値は 1 ~ 2,048 文字の長さでなければなりません。 |
url_encoded_policy |
| DurationSeconds |
integer |
任意 |
トークンの有効期限。 単位: 秒。 最小値は 900 秒です。 最大値は CreateRole または UpdateRole 操作を呼び出すときに、 |
3600 |
AssumeRoleWithSAML 操作は ID 認証に SAML アサーションを使用し、匿名アクセスを許可するため、共通リクエスト パラメーター Signature、SignatureMethod、SignatureVersion、または AccessKeyId を指定する必要はありません。 共通リクエスト パラメーターの詳細については、「共通リクエスト パラメーター」をご参照ください。
レスポンスパラメーター
|
パラメーター |
タイプ |
説明 |
例 |
|
object |
レスポンス パラメーター。 |
||
| RequestId |
string |
リクエスト ID。 |
6894B13B-6D71-4EF5-88FA-F32781734A7F |
| SAMLAssertionInfo |
object |
SAML アサーションに関する情報。 |
|
| SubjectType |
string |
SAML アサーションの NameID 要素の形式。 プレフィックスが |
persistent |
| Subject |
string |
SAML アサーションの |
alice@example.com |
| Issuer |
string |
SAML アサーションの |
http://example.com/adfs/services/trust |
| Recipient |
string |
SAML アサーションの |
https://signin.aliyun.com/saml-role/SSO |
| AssumedRoleUser |
object |
偽装されたロールの一時的な ID。 |
|
| AssumedRoleId |
string |
一時的な ID の ID。 |
34458433936495****:alice |
| Arn |
string |
一時的な ID の ARN。 |
acs:sts::123456789012****:assumed-role/AdminRole/alice |
| Credentials |
object |
アクセス クレデンシャル。 |
|
| SecurityToken |
string |
セキュリティ トークン。 説明
セキュリティトークンの長さは可変です。 セキュリティトークンに最大長の制限を課さないでください。 |
******** |
| Expiration |
string |
トークンの有効期限。 時刻は UTC です。 |
2015-04-09T11:52:19Z |
| AccessKeySecret |
string |
AccessKey シークレット。 |
wyLTSmsyPGP1ohvvw8xYgB29dlGI8KMiH2pK**** |
| AccessKeyId |
string |
AccessKey ID。 |
STS.L4aBSCSJVMuKg5U1**** |
| SourceIdentity |
string |
ソース ID。 ロールを偽装するときに、ロール ユーザーのソース ID を指定できます。 ソース ID は、セッションの初期 ID として使用されます。 ソース ID の値は、連鎖したロール偽装セッション全体で保持され、変更することはできません。 これにより、操作のトレーサビリティとセキュリティが確保されます。 ソース ID を設定しない場合、このパラメーターは返されません。 |
Alice |
例
成功レスポンス
JSONJSON
{
"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 ステータスコード |
エラーコード |
エラーメッセージ |
説明 |
|---|---|---|---|
| 500 | InternalError | STS Server Internal Error happened, please send the RequestId to us. |
完全なリストについては、「エラーコード」をご参照ください。
変更履歴
完全なリストについては、「変更履歴」をご参照ください。