すべてのプロダクト
Search
ドキュメントセンター

Resource Access Management:RAMを使用したCLB権限の管理

最終更新日:Oct 30, 2024

このトピックでは、Resource Access Management (RAM) ユーザーのClassic Load Balancer (CLB) 権限を管理する方法について説明します。 RAMコンソールで、カスタムポリシーを作成し、RAMユーザーにポリシーをアタッチできます。

背景情報

  • RAMユーザーのCLB権限を管理する前に、次のシステムポリシーに注意してください。

    • AliyunSLBFullAccess: RAMユーザーにCLBインスタンスを管理する権限を付与します。

    • AliyunSLBReadOnlyAccess: CLBインスタンスに読み取り専用権限を付与します。

    提供されたシステムポリシーがビジネス要件を満たせない場合は、カスタムポリシーを作成できます。

  • RAMユーザーのCLB権限を管理する前に、CLB権限に注意してください。 詳細については、「RAMユーザーの権限付与」をご参照ください。

手順

  1. RAMユーザーを作成します。

    詳細については、「RAM ユーザーの作成」をご参照ください。

  2. カスタムポリシーを作成します。

    詳細については、「カスタマイズポリシーの作成」および「ポリシーの例」をご参照ください。

  3. ポリシーを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インスタンスリストを表示できます。