Updated on 2025-11-21 GMT+08:00

Using IAM Identity Policies to Grant Access to ELB

The identity policy-based authorization provided by Identity and Access Management (IAM) lets you control access to your ELB resources. With IAM, you can:

  • Create IAM users or user groups for personnel based on your enterprise's organizational structure. Each IAM user has their own identity credentials for accessing ELB resources.
  • Grant users only the permissions required to perform a given task based on their job responsibilities.
  • Entrust a Huawei Cloud account or a cloud service to perform efficient O&M on your ELB resources.

If your Huawei Cloud account meets your permissions requirements, you can skip this section.

Figure 1 shows the process flow of identity policy-based authorization.

Prerequisites

Before granting permissions to user groups, learn about system-defined identity policies in Identity Policy-based Authorization for ELB. To grant permissions for other services, learn about all System Permissions.

Process Flow

Figure 1 Process of granting ELB permissions using identity policy-based authorization
  1. On the IAM console, create an IAM user or create a user group.

  2. Attach a system-defined identity policy to the user or user group.

    Assign the permissions defined in the system-defined identity policy ELBReadOnlyAccessPolicy to the user or group, or attach the system-defined identity policy to it.

  3. Log in as the IAM user and verify permissions.

    In the authorized region, perform the following operations:

    • Choose Service List > Elastic Load Balance. Then click Buy Elastic Load Balancer on the ELB console. If a message appears indicating that you have insufficient permissions to perform the operation, the ELBReadOnlyAccessPolicy policy is in effect.
    • Choose any other service in Service List. If a message appears indicating that you have insufficient permissions to access the service, the ELBReadOnlyAccessPolicy policy has already taken effect.

Example Custom Policies

You can create custom identity policies to supplement the system-defined identity policies of ELB. For details about actions supported in custom identity policies, see Actions Supported by Identity Policy-based Authorization.

You can create custom identity policies in either of the following ways:

  • Visual editor: Select cloud services, actions, resources, and request conditions. This does not require knowledge of policy syntax.
  • JSON: Create a JSON policy or edit an existing one.

For details, see Creating a Custom Identity Policy and Attaching It to a Principal.

When creating a custom identity policy, use the Resource element to specify the resources the policy applies to and use the Condition element (service-specific condition keys) to control when the policy is in effect. For details about the supported resource types and condition keys, see Identity Policy-based Authorization.

  • Example 1: Grant permission to create and delete load balancers.
    {  
         "Version": "5.0",  
         "Statement": [  
             {  
                 "Effect": "Allow",  
                 "Action": [  
                     "elb:loadbalancers:create",
                     "elb:loadbalancers:delete"
                 ]  
             }  
         ]  
     }
  • Example 2: Create a custom policy containing multiple actions.

    A custom policy can contain the actions of one or multiple services. The following is an example policy containing actions of multiple services:

    {
        "Version": "5.0",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "elb:loadbalancers:create",
                    "elb:loadbalancers:delete"
                ]
            },
            {
                "Effect": "Deny",
                "Action": [
                    "elb:loadbalancers:get",
                    "elb:loadbalancers:list"
                ]
            },
            {
                "Effect": "Allow",
                "Action": [
                    "vpc:vpcs:get",
                    "vpc:vpcs:list"
                ]
            }
        ]
    }