Help Center/ Distributed Cache Service/ User Guide/ Using IAM to Grant Access to DCS/ Using IAM Roles or Policies to Grant Access to DCS
Updated on 2025-11-12 GMT+08:00

Using IAM Roles or Policies to Grant Access to DCS

System-defined permissions in Role/Policy-based Authorization provided by Identity and Access Management (IAM) let you control access to DCS. 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 DCS 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 DCS resources.

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

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

Prerequisites

Before granting permissions to user groups, learn about system-defined permissions in Role/Policy-based Permissions Management for DCS. To grant permissions for other services, learn about all system-defined permissions supported by IAM.

Process Flow

Figure 1 Process of granting DCS permissions
  1. On the IAM console, create a user group and grant it permissions

    Create a user group on the IAM console and assign the DCS ReadOnlyAccess permissions to the group.

  2. Create an IAM user and add it to the created user group.

    On the IAM console, create a user and add it to the user group created in 1.

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

    In the authorized region, perform the following operations:

    • Choose Service List > Distributed Cache Service. Then click Buy DCS Instance on the DCS console. If a message appears indicating that you have insufficient permissions to perform the operation, the DCS ReadOnlyAccess 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 DCS ReadOnlyAccess policy has already taken effect.

Example Custom Policies

You can create custom policies to supplement the system-defined policies of DCS. For details about actions supported in custom policies, see Distributed Cache Service API Reference > "Permissions and Supported Actions" > "Actions Supported by Policy-based Authorization".

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

  • 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 Policy. The following lists examples of common DCS custom policies.

  • Example 1: Grant permission to delete and restart DCS instances and clear data of an instance.
    {
        "Version": "1.1",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "
                         dcs:instance:delete
                         dcs:instance:modifyStatus
                     "
                ]
            }
        ]
    }
  • Example 2: Grant permission to deny DCS deletion.

    A policy with only "Deny" permissions must be used together with other policies. If the permissions granted to an IAM user contain both "Allow" and "Deny", the "Deny" permissions take precedence over the "Allow" permissions.

    Assume that you want to grant the permissions of the DCS FullAccess policy to a user but want to prevent them from deleting DCS instances. You can create a custom policy for denying DCS deletion, and attach this policy together with the DCS FullAccess policy to the user. As an explicit deny in any policy overrides any allows, the user can perform all operations on DCS instances excepting deleting them. Example policy denying DCS deletion:

    {
            "Version": "1.1",
            "Statement": [
                    {
                            "Effect": "Deny",
                            "Action": [
                                    "dcs:instance:delete"
                            ]
                    }
            ]
    }
  • Example 3: Create a custom policy containing multiple actions.

    A custom policy can contain the actions of one or multiple services that are of the same type (global or project-level). Example policy containing multiple actions:

    { 
            "Version": "1.1", 
            "Statement": [ 
                    { 
                            "Action": [ 
                                    "dcs:instance:create", 
                                    "dcs:instance:delete", 
                    "ecs:servers:create", 
                    "ecs:servers:get" 
                            ], 
                            "Effect": "Allow" 
                    } 
            ] 
    }

DCS Resources

A resource is an object that exists within a service. DCS resources include instance. To select these resources, specify their paths.

Table 1 DCS resources and their paths

Resource

Path

instance

[Format]

DCS:*:*: instance:instance ID

[Note]

For instance resources, DCS automatically generates the prefix (DCS:*:*:instance:) of the resource path.

For the path of a specific instance, add the instance ID to the end. You can also use an asterisk * to indicate any instance. For example:

DCS:*:*:instance:* indicates any DCS instance.