信頼できるエンティティとして ID プロバイダー (IdP) を持つ Resource Access Management (RAM) ロールは、エンタープライズ IdP と Alibaba Cloud との間のロールベースのシングルサインオン (SSO) を可能にします。信頼できる IdP のユーザーは、この RAM ロールを引き受けることができます。
SAML IdP のための RAM ロールの作成
Security Assertion Markup Language (SAML) 2.0 を使用してロールベース SSO を実装するには、SAML IdP 用の RAM ロールを作成する必要があります。
前提条件
SAML IdP が作成されていること。詳細については、「SAML IdP の管理」をご参照ください。
操作手順
RAM 管理者として RAM コンソールにログインします。
左側のナビゲーションウィンドウで、 を選択します。
[ロール] ページで、[ロールの作成] をクリックします。

[ロールの作成] ページの右上隅にある [ポリシーエディターに切り替え] をクリックします。

エディターで SAML IdP を指定します。
エディターは、ビジュアルエディターモードと JSON モードをサポートしています。
ビジュアルエディター
[プリンシパル] セクションで、SAML IdP を指定します。


スクリプトエディター
Principal要素で、Federatedフィールドに SAML IdP を指定し、Condition要素を設定します。{ "Version": "1", "Statement": [ { "Effect": "Allow", "Principal": { "Federated": "acs:ram::100*******0719:saml-provider/Azure-AD" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "saml:recipient": [ "https://signin.alibabacloud.com/saml-role/sso" ] } } } ] }
エディターで条件を設定します。
次の表に、サポートされているサービス固有の条件キーを示します。
条件キー
説明
必須
例
saml:recipientSAML アサーションの受信者。Alibaba Cloud はこの値を確認して、意図した受信者であることを検証します。
はい
固定値:
https://signin.alibabacloud.com/saml-role/sso[ロールの作成] ダイアログボックスで、[ロール名] を入力し、[OK] をクリックします。
OIDC IdP のための RAM ロールの作成
OpenID Connect (OIDC) を使用してロールベース SSO を実装するには、OIDC IdP 用の RAM ロールを作成する必要があります。
前提条件
OIDC IdP が作成されていること。詳細については、「OIDC IdP の作成」をご参照ください。
操作手順
RAM 管理者として RAM コンソールにログインします。
左側のナビゲーションウィンドウで、 を選択します。
[ロール] ページで、[ロールの作成] をクリックします。

[ロールの作成] ページの右上隅にある [ポリシーエディターに切り替え] をクリックします。

エディターで OIDC IdP を指定します。
エディターは、ビジュアルエディターモードと JSON モードをサポートしています。
ビジュアルエディター
[プリンシパル] セクションで、OIDC IdP を指定します。


スクリプトエディター
Principal要素で、Federatedフィールドに OIDC IdP を指定し、Condition要素を設定します。{ "Version": "1", "Statement": [ { "Effect": "Allow", "Principal": { "Federated": "acs:ram::100*******0719:oidc-provider/xiyun****" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "oidc:iss": [ "https://dev-xxxxxx.okta.com" ], "oidc:aud": [ "0oa294vi1vJoClev****" ] } } } ] }
エディターで条件を設定します。
次の表に、サポートされているサービス固有の条件キーを示します。
条件キー
説明
必須
例
oidc:iss発行者。OIDC トークンの iss フィールドがこの条件を満たす場合にのみ、RAM ロールを偽装できます。
OIDC 発行者。ロールを引き受けるには、OIDC トークンの `iss` フィールドがこの条件と一致する必要があります。条件演算子は `StringEquals` である必要があります。値は、OIDC IdP に指定した発行者 URL である必要があります。これにより、信頼できる IdP からのトークンのみがロールを引き受けることが保証されます。
はい
https://dev-xxxxxx.okta.com
oidc:audオーディエンス。OIDC トークンの aud フィールドがこの条件を満たす場合にのみ、RAM ロールを偽装できます。
OIDC オーディエンス。ロールを引き受けるには、OIDC トークンの `aud` フィールドがこの条件と一致する必要があります。条件演算子は `StringEquals` である必要があります。値には、OIDC IdP に設定した 1 つ以上のクライアント ID を指定できます。これにより、指定したクライアント ID のトークンのみがロールを引き受けることが保証されます。
はい
0oa294vi1vJoClev****
oidc:sub主題。RAM ロールは、その偽装に使用する OIDC トークンの sub フィールドがこの条件を満たす場合にのみ、偽装できます。
OIDC サブジェクト。ロールを引き受けるには、OIDC トークンの `sub` フィールドがこの条件と一致する必要があります。任意の文字列条件演算子を使用できます。条件値として最大 10 個のサブジェクトを指定できます。この条件は、ロールを引き受けることができる ID をさらに制限します。この条件はオプションです。
いいえ
00u294e3mzNXt4Hi****
[ロールの作成] ダイアログボックスで、[ロール名] を入力し、[OK] をクリックします。
次のステップ
新しく作成された RAM ロールには、デフォルトでは権限がありません。RAM ロールに権限を付与する必要があります。詳細については、「RAM ロールへの権限付与」をご参照ください。