このトピックでは、Resource Access Management (RAM) ロールを使用して Alibaba Cloud アカウント間で権限を付与する方法について説明します。2 つの企業 (企業 A と企業 B) を例として使用します。企業 B に企業 A の指定されたリソースへのアクセスを承認するには、企業 A は RAM ロールを作成して企業 B に割り当てることができます。その後、企業 B は RAM ロールを引き受けて、指定されたリソースにアクセスできます。
背景情報
企業 A は、Elastic Compute Service (ECS) インスタンス、ApsaraDB RDS インスタンス、Server Load Balancer (SLB) インスタンス、Object Storage Service (OSS) バケットなど、複数のタイプの Alibaba Cloud リソースを購入しています。企業 A は、企業 B に企業 A の指定されたリソースへのアクセスを承認したいと考えています。
企業 A には次の要件があります。
企業 A はクラウドリソース所有者としてのみ機能します。企業 A は、企業 B に企業 A の指定されたクラウドリソースの保守、監視、および管理を承認できます。
従業員が企業 B に入社または退社した場合、企業 A は権限を変更する必要はありません。企業 B は、RAM ユーザーに企業 A のクラウドリソースに対する詳細な権限を付与できます。 RAM ユーザー資格情報は、従業員またはアプリケーションのいずれかに割り当てることができます。
企業 A と企業 B の間の契約が終了した場合、企業 A は企業 B から権限を取り消すことができます。
ソリューション
この例では、企業 A は企業 B の従業員に企業 A の ECS リソースを管理する権限を与える必要があります。企業 A にはアカウント A という名前の Alibaba Cloud アカウントがあり、企業 B にはアカウント B という名前の Alibaba Cloud アカウントがあります。
アカウント A の ID は
123456789012****
で、アカウントエイリアスはcompany-a
です。アカウント B の ID は
134567890123****
で、アカウントエイリアスはcompany-b
です。
アカウントエイリアスの設定方法の詳細については、「デフォルトのドメイン名を表示および変更する」をご参照ください。
企業 A はアカウント A を使用して RAM ロールを作成し、必要な権限を RAM ロールに付与してから、アカウント B にこのロールを引き受ける権限を与えます。
詳細については、「Alibaba Cloud アカウント間で権限を付与する」をご参照ください。
企業 B の従業員が RAM ユーザーを使用してこのロールを引き受ける必要がある場合、企業 B はアカウント B を使用して RAM ユーザーに必要な権限を付与できます。次に、RAM ユーザーは RAM ロールを引き受けてアカウント A のリソースにアクセスします。
詳細については、「Alibaba Cloud アカウント間でリソースにアクセスする」をご参照ください。
企業 A と企業 B の間の契約が終了した場合、企業 A はアカウント B から権限を取り消すことができます。その後、アカウント B の RAM ユーザーは RAM ロールの権限を持ちません。
詳細については、「Alibaba Cloud アカウント間で権限を取り消す」をご参照ください。
Alibaba Cloud アカウント間で権限を付与する
企業 A はアカウント A を使用して、
ecs-admin
という名前の RAM ロールを作成します。信頼できるエンティティタイプとして [クラウドアカウント] が選択されています。説明RAM ロールの作成時に、[その他のアカウント] が選択され、
134567890123****
が信頼できるエンティティとして指定されます。これにより、アカウント B に属する RAM ユーザーが RAM ロールを引き受けることができるようになります。詳細については、「信頼できる Alibaba Cloud アカウントの RAM ロールを作成する」をご参照ください。
RAM ロールの作成後、企業 A は基本情報ページで RAM ロールの情報を表示できます。
この例では、RAM ロールの Alibaba Cloud Resource Name (ARN) は
acs:ram::123456789012****:role/ecs-admin
です。次のポリシーが RAM ロールにアタッチされています。
説明このポリシーは、アカウント B の RAM ユーザーが RAM ロールを引き受けることができることを示しています。
{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "RAM": [ "acs:ram::134567890123****:root" ] } } ], "Version": "1" }
企業 A はアカウント A を使用して、
AliyunECSFullAccess
ポリシーを RAM ロールecs-admin
にアタッチします。詳細については、「RAM ロールに権限を付与する」をご参照ください。
企業 B はアカウント B を使用して、
Alice
という名前の RAM ユーザーを作成します。詳細については、「RAM ユーザーを作成する」をご参照ください。
企業 B はアカウント B を使用して、RAM ユーザーのログインパスワードを
123456****
に設定し、AliyunSTSAssumeRoleAccess
ポリシーを RAM ユーザーにアタッチします。これにより、RAM ユーザーは RAM ロールを引き受けることができます。詳細については、「RAM ユーザーに権限を付与する」をご参照ください。
Alibaba Cloud アカウント間でリソースにアクセスする
企業 A がアカウント A を使用してアカウント B に必要な権限を付与した後、アカウント B の RAM ユーザー Alice
は、RAM ロールを引き受けることでアカウント A の ECS リソースにアクセスできます。企業 B の従業員は、次の手順を実行して RAM ユーザーとして RAM ロールを引き受けることができます。
Alice という名前の RAM ユーザーとして RAM コンソール にログインします。
説明ログインページで、アカウントエイリアス
company-b
、ユーザー名Alice
、およびパスワード123456****
を入力する必要があります。詳細については、「RAM ユーザーとして Alibaba Cloud 管理コンソールにログインする」をご参照ください。
プロファイル画像にポインターを移動し、[ID の切り替え] をクリックします。
説明表示されるページで、アカウントエイリアス
company-a
とロール名ecs-admin
を入力する必要があります。詳細については、「RAM ロールを引き受ける」をご参照ください。
Alibaba Cloud アカウント間で権限を取り消す
企業 A はアカウント A を使用して、アカウント B から RAM ロール ecs-admin
を引き受ける権限を取り消すことができます。企業 A は、次の手順を実行して、RAM ロールを引き受ける権限を取り消すことができます。
アカウント A を使用して RAM コンソール にログインします。
左側のナビゲーションウィンドウで、 を選択します。
表示されるページの [ロール名] 列で、RAM ロール
ecs-admin
をクリックします。[信頼ポリシー] タブで、[信頼ポリシーの編集] をクリックします。表示されるパネルで、
"acs:ram::134567890123****:root"
を削除します。説明企業 A はアカウント A を使用して RAM ロール [ecs-admin] を削除することもできます。これにより、アカウント B から RAM ロールの権限が取り消されます。RAM ロールを削除する前に、RAM ロールにアタッチされているポリシーをデタッチする必要があります。詳細については、「RAM ロールから権限を取り消す」をご参照ください。