信頼できるエンティティが ID プロバイダー(IdP)である Resource Access Management(RAM)ロールは、Alibaba Cloud と信頼できる IdP 間のロールベースのシングルサインオン(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 を指定します。
JSON
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:recipient
SAML アサーションの受信者。Alibaba Cloud は、この条件の値に基づいて SAML アサーションの受信者を確認します。
はい
値を
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 を指定します。
JSON
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
発行者。RAM ロールを引き受けることができるのは、RAM ロールを引き受けるために使用する OIDC トークンの iss フィールドがこの条件を満たしている場合のみです。
条件演算子は StringEquals である必要があります。値は、選択した OIDC IdP に指定した発行者の URL である必要があります。信頼できる IdP によって発行された OIDC トークンのみを使用して RAM ロールを引き受けることができるように、この条件を指定できます。
はい
https://dev-xxxxxx.okta.com
oidc:aud
対象ユーザー。RAM ロールを引き受けることができるのは、RAM ロールを引き受けるために使用する OIDC トークンの aud フィールドがこの条件を満たしている場合のみです。
条件演算子は StringEquals である必要があります。値は、選択した OIDC IdP に指定した 1 つ以上のクライアント ID にすることができます。指定したクライアント ID を使用して生成された OIDC トークンのみを使用して RAM ロールを引き受けることができるように、この条件を指定できます。
はい
0oa294vi1vJoClev****
oidc:sub
サブジェクト。RAM ロールを引き受けることができるのは、RAM ロールを引き受けるために使用する OIDC トークンの sub フィールドがこの条件を満たしている場合のみです。
条件演算子は、すべてのタイプの文字列にすることができます。値は最大 10 個のサブジェクトにすることができます。RAM ロールを引き受けるために使用できる ID をさらに制限するために、この条件を指定できます。この条件を指定しないでおくこともできます。
いいえ
00u294e3mzNXt4Hi****
[ロールの作成] ダイアログボックスで、[ロール名] パラメーターを設定し、[OK] をクリックします。
次のステップ
RAM ロールが作成された後、RAM ロールには権限がありません。RAM ロールに権限を付与できます。詳細については、「RAM ロールに権限を付与する」をご参照ください。