Security Assertion Markup Language (SAML) を使用したロールベースのシングルサインオン (SSO) では、Resource Access Management (RAM) ロールの一時的な ID 認証情報(セキュリティトークンサービス (STS) トークン)を取得するために AssumeRoleWithSAML 操作を呼び出します。
操作説明
前提条件
外部 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 秒、最大値は
|
3600 |
AssumeRoleWithSAML 操作は 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 Secret です。 |
wyLTSmsyPGP1ohvvw8xYgB29dlGI8KMiH2pK**** |
| AccessKeyId |
string |
AccessKey ID です。 |
STS.L4aBSCSJVMuKg5U1**** |
| SourceIdentity |
string |
ソース 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. |
完全なリストについては、「エラーコード」をご参照ください。
変更履歴
完全なリストについては、「変更履歴」をご参照ください。