Resource Access Management (RAM) ロールの信頼ポリシーは、どのプリンシパル (RAM ユーザー、ロール、またはサービス) がそのロールを偽装できるかを定義します。 このポリシーを変更して、ロールを偽装できるエンティティを変更できます。 このトピックでは、プリンシパルを Alibaba Cloud アカウント、Alibaba Cloud サービス、または ID プロバイダー (IdP) に設定する例を示します。
背景情報
RAM ロールを作成する際には、信頼ポリシーでそのプリンシパルを定義する必要があります。 通常、このポリシーは作成後に変更する必要はありませんが、偽装権限を付与または取り消すために更新が必要になる場合があります。
ロールの信頼ポリシーを変更すると、アプリケーションに大きな影響を与える可能性があります。 ポリシーから削除されたプリンシパルはロールを偽装できなくなり、サービス中断の原因となる可能性があります。 本番環境に適用する前に、すべての変更を非本番環境でテストすることを推奨します。
操作手順
RAM 管理者として RAM コンソールにログインします。
左側のナビゲーションウィンドウで、 を選択します。
[ロール] ページで、対象の RAM ロールの名前をクリックします。
[信頼ポリシー] タブで、[信頼ポリシーの編集] をクリックします。

コードエディタで JSON ポリシードキュメントを変更し、[OK] をクリックします。
例 1:RAM ロールの信頼できるエンティティを Alibaba Cloud アカウントに変更
Alibaba Cloud アカウント内のプリンシパルがロールを偽装できるようにするには、Principal 要素に RAM キーを指定します。アカウント全体、特定の RAM ユーザー、または別の RAM ロールを指定できます。
アカウント内のすべての RAM ユーザーとロールにロールの偽装を許可する
次のポリシーでは、アカウント 123456789012**** 内の任意の RAM ユーザーまたはロールがこのロールを偽装できます。
{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "RAM": [ "acs:ram::123456789012****:root" ] } } ], "Version": "1" }特定の RAM ユーザーのみにロールの偽装を許可する
この例では、アカウント 123456789012**** の
testuserという名前の RAM ユーザーのみがこのロールを偽装できます。"Principal": { "RAM": [ "acs:ram::123456789012****:user/testuser" ] }説明信頼ポリシーを編集する前に、
testuserという名前の RAM ユーザーが作成されていることを確認してください。特定の RAM ロールのみにロールの偽装を許可する
この例では、アカウント 123456789012**** の
testroleという名前の RAM ロールのみがこのロールを偽装できます。"Principal": { "RAM": [ "acs:ram::123456789012****:role/testrole" ] }説明信頼ポリシーを編集する前に、
testroleという名前の RAM ロールが作成されていることを確認してください。
例 2:RAM ロールの信頼できるエンティティを Alibaba Cloud サービスに変更
Alibaba Cloud サービスがユーザーに代わってロールを偽装できるようにするには、Principal 要素の Service キーにサービスプリンシパル名 (ecs.aliyuncs.com など) を指定します。
次のポリシーでは、Elastic Compute Service (ECS) がこのロールを偽装できます。
{
"Statement": [
{
"Action": "sts:AssumeRole",
"Effect": "Allow",
"Principal": {
"Service": [
"ecs.aliyuncs.com"
]
}
}
],
"Version": "1"
}サービスリンクロールの信頼ポリシーは編集できません。 このポリシーは、リンクされた Alibaba Cloud サービスによって事前定義および管理されます。 詳細については、「サービスリンクロール」をご参照ください。
例 3:RAM ロールの信頼できるエンティティを IdP に変更
IdP のユーザーがロールを偽装できるようにするには、Principal 要素の Federated キーに SAML または OIDC プロバイダーの ARN を指定します。
次のポリシーでは、アカウント 123456789012**** の SAML プロバイダー testprovider からフェデレーションされたユーザーがこのロールを偽装できます。
{
"Statement": [
{
"Action": "sts:AssumeRole",
"Effect": "Allow",
"Principal": {
"Federated": [
"acs:ram::123456789012****:saml-provider/testprovider"
]
},
"Condition":{
"StringEquals":{
"saml:recipient":"https://signin.alibabacloud.com/saml-role/sso"
}
}
}
],
"Version": "1"
}