Help Center/ Application Service Mesh/ User Guide/ Using IAM to Grant Access to ASM/ Using IAM Identity Policies to Grant Access to ASM
Updated on 2026-06-25 GMT+08:00

Using IAM Identity Policies to Grant Access to ASM

To manage fine-grained permissions for your ASM resources using identity policies, use Identity and Access Management (IAM). 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 ASM 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 ASM 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, learn about system-defined permissions in Identity Policy-based Permissions. To grant permissions for other services, learn about all system-defined permissions supported by IAM.

Process Flow

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

    Create a user or user group on the IAM console.

  2. Attach a system-defined identity policy (ASMReadOnlyPolicy as an example) to the user or user group.

    Assign the permissions defined in the system-defined identity policy ASMReadOnlyPolicy to the user or user 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 > Application Service Mesh. Click Buy Mesh on the ASM console. If a message appears indicating that you have insufficient permissions to perform the operation, ASMReadOnlyPolicy is in effect.
    • Choose another service from Service List. If a message appears indicating that you have insufficient permissions to access the service, ASMReadOnlyPolicy is in effect.

Example Custom Identity Policies

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

To create a custom identity policy, choose either visual editor or JSON.

  • Visual editor: Select cloud services, actions, resources, and request conditions. This does not require knowledge of policy grammar.
  • 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 identity policy applies to and use the Condition element (service-specific condition keys) to control when the identity policy is in effect. For details about the supported resource types and condition keys, see Actions Supported by Identity Policy-based Authorization.

The following provides examples of custom ASM identity policies.

  • Example 1: Grant permissions to create service meshes.
    {
        "Version": "5.0",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "asm:mesh:create",
                    "asm:mesh:createGateway"
                ]
            }
        ]
    }
  • Example 2: Create a custom identity policy containing multiple actions.

    A custom identity policy can contain the actions of one or more services. Example identity policy containing multiple actions:

    {
        "Version": "5.0",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "asm:mesh:create",
                    "asm:mesh:createGateway"
                ]
            },
            {
                "Effect": "Allow",
                "Action": [
                    "evs:volumes:create",
                    "evs:volumes:list"
                ]
            },
            {
                "Effect": "Allow",
                "Action": [
                    "ecs:cloudServers:createServers",
                    "ecs:cloudServers:listServersDetails"
                ]
            }
        ]
    }