リソースディレクトリは、リソースレベルでの認証をサポートします。 Resource Access Management (RAM) またはCloudSSOを使用して、リソースディレクトリ内のリソースの階層管理を実行できます。
シナリオ
ほとんどの場合、複数の子会社を持つ大規模なグループ企業のリソースディレクトリの管理アカウントは、企業のクラウド管理チームまたはO&Mチームによって管理されます。 企業のクラウド管理チームは、特定の管理責任を各子会社の管理者に委任することを望む場合があります。 このように、各子会社の管理者はリソースを独立して管理することができ、リソース管理の効率と柔軟性が向上します。
このトピックでは、会社の各子会社の管理者がリソースを管理できるようにする方法について説明します。 この例では、会社Yが使用されます。 会社Yには、ビジネス部門1とビジネス部門2の2つのビジネス部門があります。 Y社は、経営責任を事業部門のO&M管理者に委任したいと考えています。 これにより、O&M管理者は、アカウント構造と従業員の権限を個別に管理できます。 下表に詳細を示します。
学科 | 管理者 | 義務 |
セキュリティ部门 | マイク | マイクは、会社の中央セキュリティチームの管理者であり、セキュリティ制御ポリシーのグローバルかつ集中管理を担当しています。 |
ビジネス部1 | Alice | アリスはビジネス部1のO&M管理者です。 Aliceは、ビジネス部門1内でのみ、リソースアカウントと組織の作成、制御ポリシーの設定、および組織のメンバーの通知連絡先の設定を行うことができます。 アリスは他の操作を実行できません。 |
ビジネス部2 | Bob | ボブはビジネス部2のO&M管理者です。 Bobは、ビジネス部門2内でのみ、リソースアカウントおよび組織を作成し、制御ポリシーを設定し、組織のメンバーの通知連絡先を設定できます。 ボブは他の操作を実行できません。 |
ソリューション
階層管理は、リソーススコープと操作に対する権限のきめ細かい制御を実装します。
リソースディレクトリは、リソースレベルでの認証をサポートします。 Action要素の操作とResource要素のリソースをポリシーで指定して、RAMを使用してリソースレベルで認証を行うことができます。詳細については、RAM権限付与のトピックのリソースディレクトリセクションをご参照ください。
ビジネス要件に基づいて、次のいずれかのソリューションを選択できます。
解決策1: RAMを使用して階層管理
リソースディレクトリを有効化します。
Y社の管理者は、Alibaba Cloudアカウントを作成し、Alibaba Cloudアカウントの企業実名認証を完了し、Alibaba Cloudアカウントを使用してリソースディレクトリを有効にし、リソースディレクトリに
Business Department 1およびBusiness Department 2という名前のフォルダを作成する必要があります。 Y社の管理者は、財務部門の従業員になることができます。 リソースディレクトリを有効にし、リソースディレクトリにフォルダーを作成する方法の詳細については、「リソースディレクトリを有効にする」および「フォルダの作成」をご参照ください。リソースディレクトリを有効にするために使用されるAlibaba Cloudアカウントは、リソースディレクトリの管理アカウントです。
Mikeという名前のRAMユーザーを作成し、グローバル制御ポリシーを設定する権限をMikeに付与します。Y社の管理者は、リソースディレクトリの管理アカウントを使用してRAMコンソールにログインし、
Mikeという名前のRAMユーザーを作成し、MikeのAccessKeyペアを作成し、次のカスタムポリシーをMikeにアタッチします。 詳細については、「RAMユーザーの作成」、「カスタムポリシーの作成」、および「RAMユーザーへの権限付与」をご参照ください。カスタムポリシーには、次のドキュメントがあります。
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "resourcemanager:*ControlPolicy*", "resourcemanager:*ControlPolicies*" ], "Resource": [ "acs:resourcemanager:*:*:account/*", "acs:resourcemanager:*:*:folder/*", "acs:resourcemanager:*:*:policy/controlpolicy/*" ] }, { "Effect": "Allow", "Action": [ "resourcemanager:GetResourceDirectory", "resourcemanager:ListAccount*", "resourcemanager:GetFolder*", "resourcemanager:ListFolder*", "resourcemanager:GetAccount", "resourcemanager:GetControlPolicy*", "resourcemanager:ListControlPolicies", "resourcemanager:ListControlPolicyAttachmentsForTarget", "resourcemanager:ListTargetAttachmentsForControlPolicy", "resourcemanager:ListTagKeys", "resourcemanager:ListTagValues" ], "Resource": "*" } ] }Aliceという名前のRAMユーザーを作成し、AliceにBusiness Department 1フォルダーの管理権限を付与します。Y社の管理者は、リソースディレクトリの管理アカウントを使用してRAMコンソールにログインし、
Aliceという名前のRAMユーザーを作成し、AliceのAccessKeyペアを作成し、次のカスタムポリシーをAliceにアタッチします。 詳細については、「RAMユーザーの作成」、「カスタムポリシーの作成」、および「RAMユーザーへの権限付与」をご参照ください。カスタムポリシーには、次のドキュメントがあります。
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "resourcemanager:GetResourceDirectory", "resourcemanager:ListTagKeys", "resourcemanager:ListTagValues" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "resourcemanager:*Account*", "resourcemanager:*Parent*", "resourcemanager:*Folder*", "resourcemanager:*Handshake*", "resourcemanager:*Contact*", "resourcemanager:*Members*", "resourcemanager:*ControlPolicy*", "resourcemanager:*ControlPolicies*", "resourcemanager:*SendVerificationCodeFor*", "resourcemanager:*BindSecureMobilePhone*" ], "Resource": [ "acs:resourcemanager:*:*:account/rd-3G****/r-Wm****/fd-bqp2FA****/*", // The RDPath of the Business Department 1 folder. "acs:resourcemanager:*:*:folder/rd-3G****/r-Wm****/fd-bqp2FA****/*", // The RDPath of the Business Department 1 folder. "acs:resourcemanager:*:*:folder/rd-3G****/r-Wm****/fd-bqp2FA****", // The RDPath of the Business Department 1 folder. "acs:resourcemanager:*:*:handshake/*", "acs:resourcemanager:*:*:policy/controlpolicy/*", "acs:resourcemanager:*:*:messagecontact/*" ] }, { "Effect": "Deny", "Action": [ "resourcemanager:DeleteControlPolicy", "resourcemanager:UpdateControlPolicy", "resourcemanager:DisableControlPolicy", "resourcemanager:EnableControlPolicy", "resourcemanager:DeleteMessageContact", "resourcemanager:UpdateMessageContact", "resourcemanager:CancelMessageContactUpdate", "resourcemanager:CancelHandshake" ], "Resource": "*" } ] }Bobという名前のRAMユーザーを作成し、Business Department 2フォルダーの管理権限をBobに付与します。Y社の管理者は、リソースディレクトリの管理アカウントを使用してRAMコンソールにログインし、
Bobという名前のRAMユーザーを作成し、BobのAccessKeyペアを作成してから、次のカスタムポリシーをBobにアタッチします。 詳細については、「RAMユーザーの作成」、「カスタムポリシーの作成」、および「RAMユーザーへの権限付与」をご参照ください。カスタムポリシーには、次のドキュメントがあります。
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "resourcemanager:GetResourceDirectory", "resourcemanager:ListTagKeys", "resourcemanager:ListTagValues" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "resourcemanager:*Account*", "resourcemanager:*Parent*", "resourcemanager:*Folder*", "resourcemanager:*Handshake*", "resourcemanager:*Contact*", "resourcemanager:*Members*", "resourcemanager:*ControlPolicy*", "resourcemanager:*ControlPolicies*", "resourcemanager:*SendVerificationCodeFor*", "resourcemanager:*BindSecureMobilePhone*" ], "Resource": [ "acs:resourcemanager:*:*:account/rd-3G****/r-Wm****/fd-bqp2FA****/*", // The RDPath of the Business Department 2 folder. "acs:resourcemanager:*:*:folder/rd-3G****/r-Wm****/fd-bqp2FA****/*", // The RDPath of the Business Department 2 folder. "acs:resourcemanager:*:*:folder/rd-3G****/r-Wm****/fd-bqp2FA****", // The RDPath of the Business Department 2 folder. "acs:resourcemanager:*:*:handshake/*", "acs:resourcemanager:*:*:policy/controlpolicy/*", "acs:resourcemanager:*:*:messagecontact/*" ] }, { "Effect": "Deny", "Action": [ "resourcemanager:DeleteControlPolicy", "resourcemanager:UpdateControlPolicy", "resourcemanager:DisableControlPolicy", "resourcemanager:EnableControlPolicy", "resourcemanager:DeleteMessageContact", "resourcemanager:UpdateMessageContact", "resourcemanager:CancelMessageContactUpdate", "resourcemanager:CancelHandshake" ], "Resource": "*" } ] }結果を確認します。
Mike、Alice、BobのAccessKeyペアを別々に使用して、API operations of Resource Directoryを呼び出し、Mike、Alice、Bobがリソースディレクトリ内のアクセス許可を持つリソースにアクセスします。AliceがBusiness Department 1フォルダ内のリソースに対してのみ操作を実行でき、BobがBusiness Department 2フォルダ内のリソースに対してのみ操作を実行できる場合、前述の設定が有効になります。
解決策2: CloudSSOを使用して階層管理を実行する
リソースディレクトリを有効化します。
Y社の管理者は、Alibaba Cloudアカウントを作成し、Alibaba Cloudアカウントの企業実名認証を完了し、Alibaba Cloudアカウントを使用してリソースディレクトリを有効にし、リソースディレクトリに
Business Department 1およびBusiness Department 2という名前のフォルダを作成する必要があります。 Y社の管理者は、財務部門の従業員になることができます。 リソースディレクトリを有効にし、リソースディレクトリにフォルダーを作成する方法の詳細については、「リソースディレクトリを有効にする」および「フォルダの作成」をご参照ください。リソースディレクトリを有効にするために使用されるAlibaba Cloudアカウントは、リソースディレクトリの管理アカウントです。
Mikeという名前のCloudSSOユーザーを作成し、グローバル制御ポリシーを設定する権限をMikeに付与します。Y社の管理者は、リソースディレクトリの管理アカウントを使用してCloudSSOコンソールにログインし、
Mikeという名前のCloudSSOユーザーを作成し、Mikeのログオンパスワードを指定し、アクセス設定を作成し、Mikeのリソースディレクトリの管理アカウントのアクセス設定をプロビジョニングします。 詳細については、「ユーザーの作成」、「アクセス設定の作成」、および「リソースディレクトリ内のアカウントに対するアクセス権限の割り当て」をご参照ください。アクセス設定では、次のドキュメントを持つインラインポリシーが使用されます。
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "resourcemanager:*ControlPolicy*", "resourcemanager:*ControlPolicies*" ], "Resource": [ "acs:resourcemanager:*:*:account/*", "acs:resourcemanager:*:*:folder/*", "acs:resourcemanager:*:*:policy/controlpolicy/*" ] }, { "Effect": "Allow", "Action": [ "resourcemanager:GetResourceDirectory", "resourcemanager:ListAccount*", "resourcemanager:GetFolder*", "resourcemanager:ListFolder*", "resourcemanager:GetAccount", "resourcemanager:GetControlPolicy*", "resourcemanager:ListControlPolicies", "resourcemanager:ListControlPolicyAttachmentsForTarget", "resourcemanager:ListTargetAttachmentsForControlPolicy", "resourcemanager:ListTagKeys", "resourcemanager:ListTagValues" ], "Resource": "*" } ] }Aliceという名前のCloudSSOユーザーを作成し、AliceにBusiness Department 1フォルダーの管理権限を付与します。Y社の管理者は、リソースディレクトリの管理アカウントを使用してCloudSSOコンソールにログインし、
Aliceという名前のCloudSSOユーザーを作成し、Aliceのログインパスワードを指定してアクセス設定を作成し、Aliceのリソースディレクトリの管理アカウントのアクセス設定をプロビジョニングします。 詳細については、「ユーザーの作成」、「アクセス設定の作成」、および「リソースディレクトリ内のアカウントに対するアクセス権限の割り当て」をご参照ください。アクセス設定では、次のドキュメントを持つインラインポリシーが使用されます。
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "resourcemanager:GetResourceDirectory", "resourcemanager:ListTagKeys", "resourcemanager:ListTagValues" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "resourcemanager:*Account*", "resourcemanager:*Parent*", "resourcemanager:*Folder*", "resourcemanager:*Handshake*", "resourcemanager:*Contact*", "resourcemanager:*Members*", "resourcemanager:*ControlPolicy*", "resourcemanager:*ControlPolicies*", "resourcemanager:*SendVerificationCodeFor*", "resourcemanager:*BindSecureMobilePhone*" ], "Resource": [ "acs:resourcemanager:*:*:account/rd-3G****/r-Wm****/fd-bqp2FA****/*", // The RDPath of the Business Department 1 folder. "acs:resourcemanager:*:*:folder/rd-3G****/r-Wm****/fd-bqp2FA****/*", // The RDPath of the Business Department 1 folder. "acs:resourcemanager:*:*:folder/rd-3G****/r-Wm****/fd-bqp2FA****", // The RDPath of the Business Department 1 folder. "acs:resourcemanager:*:*:handshake/*", "acs:resourcemanager:*:*:policy/controlpolicy/*", "acs:resourcemanager:*:*:messagecontact/*" ] }, { "Effect": "Deny", "Action": [ "resourcemanager:DeleteControlPolicy", "resourcemanager:UpdateControlPolicy", "resourcemanager:DisableControlPolicy", "resourcemanager:EnableControlPolicy", "resourcemanager:DeleteMessageContact", "resourcemanager:UpdateMessageContact", "resourcemanager:CancelMessageContactUpdate", "resourcemanager:CancelHandshake" ], "Resource": "*" } ] }Bobという名前のCloudSSOユーザーを作成し、Business Department 2フォルダーの管理権限をBobに付与します。Y社の管理者は、リソースディレクトリの管理アカウントを使用してCloudSSOコンソールにログインし、
Bobという名前のCloudSSOユーザーを作成し、Bobのログオンパスワードを指定し、アクセス設定を作成し、Bobのリソースディレクトリの管理アカウントのアクセス設定をプロビジョニングします。 詳細については、「ユーザーの作成」、「アクセス設定の作成」、および「リソースディレクトリ内のアカウントに対するアクセス権限の割り当て」をご参照ください。アクセス設定では、次のドキュメントを持つインラインポリシーが使用されます。
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "resourcemanager:GetResourceDirectory", "resourcemanager:ListTagKeys", "resourcemanager:ListTagValues" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "resourcemanager:*Account*", "resourcemanager:*Parent*", "resourcemanager:*Folder*", "resourcemanager:*Handshake*", "resourcemanager:*Contact*", "resourcemanager:*Members*", "resourcemanager:*ControlPolicy*", "resourcemanager:*ControlPolicies*", "resourcemanager:*SendVerificationCodeFor*", "resourcemanager:*BindSecureMobilePhone*" ], "Resource": [ "acs:resourcemanager:*:*:account/rd-3G****/r-Wm****/fd-bqp2FA****/*", // The RDPath of the Business Department 2 folder. "acs:resourcemanager:*:*:folder/rd-3G****/r-Wm****/fd-bqp2FA****/*", // The RDPath of the Business Department 2 folder. "acs:resourcemanager:*:*:folder/rd-3G****/r-Wm****/fd-bqp2FA****", // The RDPath of the Business Department 2 folder. "acs:resourcemanager:*:*:handshake/*", "acs:resourcemanager:*:*:policy/controlpolicy/*", "acs:resourcemanager:*:*:messagecontact/*" ] }, { "Effect": "Deny", "Action": [ "resourcemanager:DeleteControlPolicy", "resourcemanager:UpdateControlPolicy", "resourcemanager:DisableControlPolicy", "resourcemanager:EnableControlPolicy", "resourcemanager:DeleteMessageContact", "resourcemanager:UpdateMessageContact", "resourcemanager:CancelMessageContactUpdate", "resourcemanager:CancelHandshake" ], "Resource": "*" } ] }結果を確認します。
Alibaba Cloudコマンドラインインターフェイス (Alibaba Cloud CLI) を使用して、CloudSSOユーザーの
Mike、Alice、Bobとして個別にCloudSSOユーザーポータルにログインします。 次に、Alibaba Cloud CLIでコマンドを実行して、Mike、Alice、およびBobがリソースディレクトリ内の権限を持つリソースにアクセスします。AliceがBusiness Department 1フォルダ内のリソースに対してのみ操作を実行でき、BobがBusiness Department 2フォルダ内のリソースに対してのみ操作を実行できる場合、前述の設定が有効になります。 Alibaba Cloud CLIを使用してCloudSSOユーザーポータルにログインする方法については、「Alibaba Cloud CLIを使用してCloudSSOおよびAlibaba Cloudリソースにアクセスする」をご参照ください。説明CloudSSOを使用して階層管理を実行するソリューションの設定を完了した後、権限を持つリソースに対して操作を実行するにはCLIのみを使用できます。 CloudSSOコンソールのリソースに対して操作を実行することはできません。