このトピックでは、RAM (Resource Access Management) ロールを使用して、Alibaba Cloudアカウント間で権限を付与する方法について説明します。 2つの企業 (企業Aおよび企業B) が例として使用されます。 エンタープライズBがエンタープライズAの指定されたリソースにアクセスすることを許可するために、エンタープライズAはRAMロールを作成してエンタープライズBに割り当てることができます。
前提条件
Alibaba Cloudアカウントにアカウントエイリアスが設定されています。 詳細については、「デフォルトドメイン名の表示と変更」をご参照ください。
背景情報
エンタープライズAは、ECS (Elastic Compute Service) インスタンス、ApsaraDB RDSインスタンス、SLB (Server Load Balancer) インスタンス、OSS (Object Storage Service) バケットなど、複数のタイプのAlibaba Cloudリソースを購入しました。 企業Aは、企業Bが企業Aの特定のリソースにアクセスすることを許可したい。
エンタープライズAには次の要件があります。
エンタープライズAは、クラウドリソースの所有者としてのみ機能します。 エンタープライズAは、エンタープライズAの指定されたクラウドリソースの維持、監視、および管理をエンタープライズBに許可できます。
従業員がエンタープライズBに参加または離脱する場合、エンタープライズAは権限を変更する必要はありません。 エンタープライズBは、エンタープライズAのクラウドリソースに対するきめ細かい権限をRAMユーザーに付与できます。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アカウント全体に権限を付与する
Enterprise AはアカウントAを使用して、
ecs-admin
という名前のRAMロールを作成します。 Alibaba Cloudアカウントが信頼できるエンティティタイプとして選択されています。説明RAMロールが作成されると、[その他のAlibaba Cloudアカウント] が選択され、信頼できるAlibaba Cloudアカウントとして
134567890123 ****
が指定されます。 これにより、アカウントBに属するRAMユーザーがRAMロールを引き受けることができます。詳細については、「信頼できるAlibaba CloudアカウントのRAMロールの作成」をご参照ください。
RAMロールの作成後、エンタープライズAは基本情報ページでRAMロールに関する情報を表示できます。
この例では、RAMロールのAlibaba Cloudリソース名 (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" }
Enterprise AはアカウントAを使用して、
AliyunECSFullAccess
ポリシーをRAMロールecs-admin
にアタッチします。詳細については、「RAMロールへの権限の付与」をご参照ください。
Enterprise BはアカウントBを使用して、
Alice
という名前のRAMユーザーを作成します。詳細については、「RAM ユーザーの作成」をご参照ください。
Enterprise 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****
を入力する必要があります。詳細については、「Alibaba Cloud管理コンソールへのRAMユーザーとしてのログイン」をご参照ください。
ポインタをプロフィール写真の上に移動し、[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ロールから権限を取り消す」をご参照ください。