Help Center/ Dedicated Distributed Storage Service/ User Guide/ Using IAM to Grant Access to DSS/ Using IAM Roles or Policies to Grant Access to DSS
Updated on 2026-05-20 GMT+08:00

Using IAM Roles or Policies to Grant Access to DSS

System-defined permissions provided by Identity and Access Management (IAM) let you control access to DSS. With IAM, you can:

  • Create IAM users for personnel based on your enterprise's organizational structure. Each IAM user has their own identity credentials for accessing DSS resources.
  • Grant users only the permissions required to perform a given task based on their job responsibilities.
  • Entrust a HUAWEI ID or a cloud service to perform efficient O&M on your DSS 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 Authorization for DSS. To grant permissions for other services, learn about all permissions supported by IAM.

Process Flow

Figure 1 Process of granting DSS permissions using role/policy-based authorization
  1. On the IAM console, create a user group and grant it permissions.

    Create a user group on the IAM console and assign the DSS 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 > DSS. Then click Apply for Storage Pool on the DSS console. If a message appears indicating that you have insufficient permissions to perform the operation, the DSS ReadOnlyAccess policy is in effect.
    • Choose another service from Service List. If a message appears indicating that you have insufficient permissions to access the service, the DSS ReadOnlyAccess policy is in effect.

Example Custom Policies

You can create custom policies to supplement the system-defined policies of DSS. For details about actions supported in custom policies, see .

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 grammar.
  • JSON: Create a JSON policy from scratch or based on an existing policy.

For details, see Creating a Custom Policy. The following lists examples of common DSS custom policies.

  • Example 1: Grant users full DSS permissions.
    This policy allows an authorized user to perform any operation on DSS.
    {
        "Version": "1.1",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                   "dss:*:*"
                ]
            }
        ]
    }
  • Example 2: Grant users read-only DSS permissions.
    {
        "Version": "1.1",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                   "dss:*:get",
                   "dss:*:list"
                ]
            }
        ]
    }
  • Example 3: Grant permission to deny storage pool update.

    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 DSS FullAccess policy to a user but want to prevent them from updating DSS storage pools. You can create a custom policy for denying DSS storage pool update, and attach this policy together with the DSS FullAccess policy to the user. As an explicit deny in any policy overrides any allows, the user can perform all operations on DSS resources except updating storage pools. Example policy denying storage pool update:

    {
      "Version": "1.1",
      "Statement": [
        {
          "Effect": "Deny",
          "Action": [
            "dss:pools:update"
          ]
        }
      ]
    }