このトピックでは、Resource Access Management (RAM) ユーザーのClassic Load Balancer (CLB) 権限を管理する方法について説明します。 RAMコンソールで、カスタムポリシーを作成し、RAMユーザーにポリシーをアタッチできます。
背景情報
RAMユーザーのCLB権限を管理する前に、次のシステムポリシーに注意してください。
AliyunSLBFullAccess: RAMユーザーにCLBインスタンスを管理する権限を付与します。
AliyunSLBReadOnlyAccess: CLBインスタンスに読み取り専用権限を付与します。
提供されたシステムポリシーがビジネス要件を満たせない場合は、カスタムポリシーを作成できます。
RAMユーザーのCLB権限を管理する前に、CLB権限に注意してください。 詳細については、「RAMユーザーの権限付与」をご参照ください。
手順
RAMユーザーを作成します。
詳細については、「RAM ユーザーの作成」をご参照ください。
カスタムポリシーを作成します。
詳細については、「カスタマイズポリシーの作成」および「ポリシーの例」をご参照ください。
ポリシーをRAMユーザーにアタッチします。
詳細については、「RAMユーザーへの権限付与」をご参照ください。
ポリシーの例
例1: RAMユーザーに2つの特定のCLBインスタンスを管理する権限を付与します。
Alibaba CloudアカウントのCLBインスタンス
lb-abcdxxxxxx001およびlb-abcdxxxxxx002を管理する権限をRAMユーザーに付与するには、次のサンプルスクリプトを使用します。{ "Statement": [ { "Effect": "Allow", "Action": "slb:*", "Resource": [ "acs:slb:*:*:loadbalancer/lb-abcdxxxx001", "acs:slb:*:*:loadbalancer/lb-abcdxxxx002" ] }, { "Effect": "Allow", "Action": "slb:Describe*", "Resource": "*" } ], "Version": "1" }説明許可されたRAMユーザーはすべてのCLBインスタンスを表示できますが、指定された2つのCLBインスタンスのみを管理できます。
Describe *要素はポリシーで必須です。 それ以外の場合、許可されたRAMユーザーはServer Load Balancer (SLB) コンソールでインスタンスを表示できません。 ただし、RAMユーザーはAPI操作を呼び出すか、CLIまたはSDKを使用して2つの指定されたCLBインスタンスを管理できます。
例2: ECS (Elastic Compute Service) インスタンスをSLBインスタンス
slb-001のバックエンドサーバーとして追加する権限をRAMユーザーに付与します。 ECSインスタンスのIDはlb-abcdxxxx001です。{ "Statement": [ { "Effect": "Allow", "Action": "slb:AddBackendServers", "Resource": ["acs:slb:*:*:loadbalancer/slb-001"] }, { "Effect": "Allow", "Action": "slb:AddBackendServers", "Resource": ["acs:ecs:*:*:instance/lb-abcdxxxx001"] }, { "Effect": "Allow", "Action": "slb:DescribeLoadBalancers", "Resource": "acs:slb:*:*:loadbalancer/*" } ], "Version": "1" }説明例1で説明したポリシーに基づいてCLBインスタンスを管理する権限をRAMユーザーに付与した後、RAMユーザーに次の2つの権限も付与する必要があります。 それ以外の場合、RAMユーザーはECSインスタンスを追加または削除したり、ECSインスタンスの重みを設定したりできません。
CLBインスタンスの権限
ECSインスタンスの権限
例3: RAMユーザーに、特定のCLBインスタンスでECS関連の操作を実行する権限を付与します。
{ "Statement": [{ "Effect": "Allow", "Action": "slb:*", "Resource": [ "acs:slb:*:*:loadbalancer/lb-abcdxxxx001", "acs:slb:*:*:loadbalancer/lb-abcdxxxx002" ] }, { "Effect": "Allow", "Action": "slb:Describe*", "Resource": "*" }, { "Effect": "Allow", "Action": "ecs:DescribeInstances", "Resource": "*" }, { "Effect": "Allow", "Action": "slb:*", "Resource": [ "acs:ecs:*:*:instance/i-instance001", "acs:ecs:*:*:instance/i-instance002" ] } ], "Version": "1" }説明上記のポリシーにより、RAMユーザーはCLBインスタンス
lb-abcdxxxx001およびabcdxxxx002を管理できます。 これにより、RAMユーザーは、CLBインスタンスに対してECS関連のすべての操作を実行できます。 たとえば、RAMユーザーは、指定された2つのCLBインスタンスのバックエンドサーバーとしてECSインスタンスi-instance001およびi-instance002を追加し、ECSインスタンスの重みを設定できます。 このポリシーがRAMユーザーにアタッチされた後、ユーザーがECSインスタンスを選択すると、RAMユーザーはECSインスタンスリストを表示できます。