本ページでは、RAM ロールを使用してクロスアカウントリソースの権限付与とアクセスを実行する方法について説明します。
シナリオ
アカウント A とアカウント B は、 2 つの異なる企業 (企業 A と企業 B) を表します。 企業 A は、ビジネスをサポートするためさまざまなクラウドリソース (ECS インスタンス、RDS インスタンス、SLB インスタンス、OSS バケットなど) を購入しました。
要件分析
- アカウント A はリソースの所有者であり、アカウント A のリソースに対して操作を実行させるために、適切な権限をアカウント B に付与する必要があります。
- さらにアカウント B は、RAM ユーザー (従業員またはアプリケーション) に権限を付与する必要があります。 アカウント B の従業員が企業 B に入社または退職する時に、アカウント A は権限を変更する必要がありません。
- 企業 A または企業 B が契約を終了した場合、アカウント A はいつでもアカウント B の権限を削除することができます。
ソリューション
クロスアカウントの権限付与とリソースアクセスを実行するには、RAM ロールを使用します。
- アカウント A は RAM にロールを作成し、RAM ロールに適切な権限を付与し、アカウント B にこのロールの使用を許可します。
詳細は、「クロスアカウントの権限付与 (Cross-account authorization) 」をご参照ください。
- アカウント B の従業員 (RAM ユーザー) がこのロールを使用する必要がある場合、アカウント B はこの RAM ユーザーにアカウント A のリソースに対する操作を実行するための権限を付与できます。
詳細は、「クロスアカウントリソースアクセス (Cross-account resource access)」をご参照ください。
- 企業 A または企業 B が契約を終了した場合、アカウント A はアカウント B の権限を取り消すことができます。この場合、アカウント B のすべての RAM ユーザーは、このロールに関連する権限を失います。
詳細は、「クロスアカウント権限の削除 (Removing cross-account authorization)」をご参照ください。
クロスアカウント権限付与
- 企業 A は RAM ロール (ロールの名前は ecs-admin) を作成し、信頼できるエンティティとして [その他の Alibaba Cloud アカウント] (アカウント ID は 12345678) を選択します。
詳細は、信頼できる Alibaba Cloud アカウント用 RAM ロールの作成をご参照ください。
ロールを作成後、アカウント A は [基本情報] ページ上のロール情報を閲覧できます。
- この例では、ロールの Alibaba Cloud リソース名 (ARN) は以下のとおりです。
acs:ram::11223344:role/ecs-admin
- ロール内の信頼ポリシー (アカウント B の RAM ユーザーのみ引き受け可能) は、以下のとおりです。
{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "RAM": [ "acs:ram::12345678:root" ] } } ], "Version": "1" }
- この例では、ロールの Alibaba Cloud リソース名 (ARN) は以下のとおりです。
- アカウント A は
AliyunECSFullAccess
ポリシーをロール ecs-admin に添付します。詳細は、RAM での権限付与をご参照ください。
- アカウント B は、その従業員の RAM ユーザー (RAM ユーザーの名前は Alice) を作成し、その RAM ユーザーのログインパスワードを設定し、その RAM
ユーザーに STS AssumeRole API を呼び出す
AliyunSTSAssumeRoleAccess
システムポリシーを添付します。
クロスアカウントリソースアクセス
アカウント B の RAM ユーザー Alice がアカウント A の ECS リソースに (Alibaba Cloud コンソールを介して) アクセスできるようにするには、以下のステップを実行します。
- RAM コンソールにログインします。
ログイン時に、アカウントエイリアス company-b、RAM ユーザー名 Alice、およびパスワード 123456 を入力します。
- ポインタをアカウントアイコンの上に移動し、[ロールの切り替え] をクリックします。
表示されたページで、[エンタープライズエイリアス/デフォルトドメイン名] に company-a、[ロール名] に ecs-admin と入力します。
クロスアカウント権限の削除
アカウント A がアカウント B からロール ecs-admin を使用する権限を削除する手順は以下のとおりです。
- RAM コンソールにログインして [RAM ロール]、ecs-admin のロール名をクリックします。
- [信頼ポリシー管理] タブをクリックして
acs:ram::12345678:root
を削除します。注 またアカウント A は、[RAM ロール] ページ上で ecs-admin ロールを削除することでアカウント B の ecs-admin ロールを使用する権限も削除できます。 ただし、ロールにポリシーが添付されているとロールを削除することはできません。