ID プロバイダー (IdP) を信頼する RAM ロールは、お使いのエンタープライズ IdP と Alibaba Cloud 間でのロールベースのシングルサインオン (SSO) に使用されます。信頼された IdP のユーザーは、このロールを引き受けることができます。
SAML ID プロバイダー用の RAM ロールの作成
SAML 2.0 ベースの SSO の場合、SAML ID プロバイダーを信頼する RAM ロールを作成する必要があります。
前提条件
SAML ID プロバイダーが作成されていることを確認してください。詳細については、「SAML ID プロバイダーの管理」をご参照ください。
操作手順
-
RAM 管理者としてRAM コンソールにログインします。
-
左側のナビゲーションペインで、 を選択します。
-
ロール ページで、ロール作成 をクリックします。
-
ロール作成 ページで、右上隅にある Switch to Policy Editor をクリックします。
-
ポリシーエディターで SAML ID プロバイダーを指定します。
エディターには、ビジュアルエディターと JSON エディターの 2 つのモードがあります。どちらのモードも使用できます。
-
ビジュアルエディター
Principal セクションで、SAML ID プロバイダーを指定します。
[IDプロバイダー] ラジオボタンを選択し、その横にある [編集] をクリックします。 表示された [プリンシパルの追加] ダイアログボックスで、[ID プロバイダー] リストからターゲット ID プロバイダー (例:Azure-AD) を選択し、[OK] をクリックします。
[アクション] セクションで、
sts:AssumeRoleを選択して、ロールを引き受ける権限を付与します。 -
JSON エディター
principal要素で、Federatedフィールドに SAML プロバイダーを指定し、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:recipientAlibaba Cloud はこの要素の値をチェックして、SAML アサーションが Alibaba Cloud 宛てであることを確認します。
はい
値は固定です:
https://signin.alibabacloud.com/saml-role/sso -
ロール作成 ダイアログボックスで、ロール名 を入力し、OK をクリックします。
OIDC ID プロバイダー用の RAM ロールの作成
OIDC ベースの SSO の場合、OIDC ID プロバイダーを信頼する RAM ロールを作成する必要があります。
前提条件
OIDC ID プロバイダーが作成されていることを確認してください。詳細については、「OIDC ID プロバイダーの作成」をご参照ください。
操作手順
-
RAM 管理者としてRAM コンソールにログインします。
-
左側のナビゲーションペインで、 を選択します。
-
ロール ページで、ロール作成 をクリックします。
-
ロール作成 ページで、右上隅にある Switch to Policy Editor をクリックします。
-
ポリシーエディターで、OIDC ID プロバイダーを指定します。
エディターには、ビジュアルエディターと JSON エディターの 2 つのモードがあります。どちらのモードも使用できます。
-
ビジュアルエディター
Principal セクションで、OIDC ID プロバイダーを指定します。
[プリンシパルの追加] ダイアログボックスで、[ID プロバイダータイプ] を OIDC に設定し、[ID プロバイダー] ドロップダウンリストからターゲットプロバイダーを選択して、[OK] をクリックします。
-
JSON エディター
principal要素で、Federatedフィールドに OIDC プロバイダーを指定し、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:issOIDC の発行者。ロールを引き受けるには、OIDC トークン内の
issクレームの値がこの条件に一致する必要があります。この条件では、StringEquals 演算子を使用する必要があります。値は、OIDC ID プロバイダーの発行者 URL である必要があります。これにより、信頼された発行者からのトークンのみがロールを引き受けるために使用されるようになります。
はい
https://dev-xxxxxx.okta.com
oidc:audOIDC のオーディエンス。ロールを引き受けるには、OIDC トークン内の
audクレームの値がこの条件に一致する必要があります。この条件では、StringEquals 演算子を使用する必要があります。値には、OIDC ID プロバイダーのクライアント ID を 1 つ以上指定できます。これにより、指定されたクライアント ID によって生成された OIDC トークンのみがロールを引き受けるために使用されるようになります。
はい
0oa294vi1vJoClev****
oidc:subOIDC のサブジェクト。ロールを引き受けるには、OIDC トークン内の
subクレームの値がこの条件に一致する必要があります。このオプションの条件には任意の文字列比較演算子を使用でき、最大 10 個のサブジェクトを指定できます。
いいえ
00u294e3mzNXt4Hi****
-
ロール作成 ダイアログボックスで、ロール名 を入力し、OK をクリックします。
次のステップ
デフォルトでは、新しい RAM ロールには権限がありません。ロールに権限を付与する必要があります。詳細については、「RAM ロールの権限管理」をご参照ください。