Updated on 2024-06-12 GMT+08:00

Permissions Management

If you need to assign different permissions to employees in your enterprise to access your CDN resources, IAM is a good choice for fine-grained permissions management. IAM provides identity authentication, permissions management, and access control, helping you securely access your Huawei Cloud resources.

With IAM, you can use your Huawei Cloud account to create IAM users, and assign permissions to the users to control their access to specific resources. For example, some software developers in your enterprise need to use CDN resources but should not be allowed to delete the resources or perform any other high-risk operations. In this scenario, you can create IAM users for the software developers and grant them only the permissions required for using CDN resources.

If your HUAWEI ID does not require individual IAM users, skip this chapter.

IAM is a free service. You only pay for the resources in your account. For more information about IAM, see IAM Service Overview.

CDN Permissions

By default, new IAM users do not have any permissions assigned. You need to add a user to one or more groups, and attach permissions policies or roles to these groups. Users inherit permissions from the groups to which they are added and can perform specified operations on cloud services based on the permissions.

CDN is a global service deployed and accessed without specifying any physical region. CDN permissions are assigned to users in the global project, and users do not need to switch regions when accessing CDN.

You can grant users permissions by using roles and policies.

  • Roles: A type of coarse-grained authorization mechanism that defines permissions related to user responsibilities. This mechanism provides only a limited number of service-level roles for authorization. When using roles to grant permissions, you need to also assign other roles on which the permissions depend to take effect. However, roles are not an ideal choice for fine-grained authorization and secure access control.
  • Policies: A type of fine-grained authorization mechanism that defines permissions required to perform operations on specific cloud resources under certain conditions. This mechanism allows for more flexible policy-based authorization, meeting requirements for secure access control. For example, you can grant ECS users only the permissions for managing a certain type of ECSs. Most policies define permissions based on APIs. For the API actions supported by CDN, see Permissions Policies and Supported Actions.

A policy is a set of permissions defined in JSON format. By default, new IAM users do not have any permissions assigned. You need to add a user to one or more groups, and assign permissions policies to these groups. The user then inherits permissions from the groups it is a member of. This process is called authorization. After authorization, the user can perform specified operations on CDN based on the permissions. IAM provides system policies that define the common permissions for different services, such as administrator and read-only permissions.

CDN is a global service deployed and accessed without specifying any physical region. CDN permissions are assigned to users in the global project, and users do not need to switch regions when accessing CDN.

Table 1 lists all system-defined policies supported by CDN.

Table 1 System-defined policies supported by CDN

Policy

Description

Type

CDN Administrator

All operations on CDN.

Scope: Global-level service

System role

CDN DomainReadOnlyAccess

Read-only permissions on CDN acceleration domain names.

Scope: Global-level service

System-defined policy

CDN StatisticsReadOnlyAccess

Read-only permissions on CDN statistics.

Scope: Global-level service

System-defined policy

CDN LogsReadOnlyAccess

Read-only permissions on CDN logs.

Scope: Global-level service

System-defined policy

CDN DomainConfiguration

Permissions for configuring CDN acceleration domain names.

Scope: Global-level service

System-defined policy

CDN RefreshAndPreheatAccess

Permissions for CDN cache purge and prefetch.

Scope: Global-level service

System-defined policy

CDN FullAccess

All operations on CDN.

Scope: Global-level service

System-defined policy

CDN ReadOnlyAccess

All read-only operations on CDN.

Scope: Global-level service

System-defined policy

Table 2 lists the common operations supported by each system-defined policy or role of CDN. Select the policies or roles as needed.

Table 2 Common operations supported by each system-defined policy or role of CDN

Operation

CDN Administrator

CDN DomainReadOnlyAccess

CDN StatisticsReadOnlyAccess

CDN LogsReadOnlyAccess

CDN DomainConfiguration

CDN RefreshAndPreheatAccess

CDN FullAccess

CDN ReadOnlyAccess

Querying domain names

Supported

Supported

Not supported

Not supported

Not supported

Not supported

Supported

Supported

Creating domain names

Supported

Not supported

Not supported

Not supported

Supported

Not supported

Supported

Not supported

Deleting domain names

Supported

Not supported

Not supported

Not supported

Supported

Not supported

Supported

Not supported

Querying origin information

Supported

Supported

Not supported

Not supported

Not supported

Not supported

Supported

Supported

Querying HTTPS settings

Supported

Supported

Not supported

Not supported

Not supported

Not supported

Supported

Supported

Querying cache rules

Supported

Supported

Not supported

Not supported

Not supported

Not supported

Supported

Supported

Querying IP blacklists

Supported

Not supported

Not supported

Not supported

Not supported

Not supported

Supported

Not supported

Modifying origin information

Supported

Not supported

Not supported

Not supported

Supported

Not supported

Supported

Not supported

Configuring HTTPS

Supported

Not supported

Not supported

Not supported

Supported

Not supported

Supported

Not supported

Configuring cache rules

Supported

Not supported

Not supported

Not supported

Not supported

Not supported

Supported

Not supported

Enabling the purge function

Supported

Not supported

Not supported

Not supported

Not supported

Supported

Supported

Not supported

Enabling the prefetch function

Supported

Not supported

Not supported

Not supported

Not supported

Supported

Supported

Not supported

Querying the total network traffic

Supported

Not supported

Supported

Not supported

Not supported

Not supported

Supported

Supported

Querying details of network traffic

Supported

Not supported

Supported

Not supported

Not supported

Not supported

Supported

Supported

Querying details of network bandwidth

Supported

Not supported

Supported

Not supported

Not supported

Not supported

Supported

Supported

Querying consumption summary

Supported

Not supported

Supported

Not supported

Not supported

Not supported

Supported

Supported

Querying carrier consumption

Supported

Not supported

Supported

Not supported

Not supported

Not supported

Supported

Supported

Querying logs

Supported

Not supported

Not supported

Supported

Not supported

Not supported

Supported

Supported

The CDN DomainConfiguration and CDN RefreshAndPreheatAccess permissions cannot be configured separately. To configure the two permissions, you must configure the CDN DomainReadOnlyAccess permission as well. Otherwise, all domain names are invisible, and domain configurations and cache purge and prefetch configurations cannot be performed.

Dependencies Between CDN and Other Services

Some CDN permissions depend on the policies of other cloud services. To view or use other cloud resources on the CDN console, enable the system policy access control feature of IAM and assign dependency policies for other cloud services.

  • Dependency policies are assigned based on the CDN FullAccess or CDN ReadOnlyAccess policy you configured.

    To grant an IAM user permissions to view or use resources of other cloud services on the CDN console, you must first grant the CDN Administrator, CDN FullAccess, or CDN ReadOnlyAccess policy to the user group to which the user belongs and then grant the dependency policies listed in Table 3.

Table 3 Dependency policies and roles

Console Function

Dependent Services

Roles or Policies Required

OBS authorization

Identity and Access Management (IAM)

  • Creating an agency: iam:agencies:createAgency
  • Listing agencies: iam:agencies:listAgencies
  • Querying agency details: iam:agencies:getAgency
  • Granting permissions to an agency for a region-specific project: iam:permissions:grantRoleToAgencyOnProject
  • Checking whether an agency has specified permissions for a region-specific project: iam:permissions:checkRoleForAgencyOnProject
  • Listing projects: iam:projects:listProjects
  • Listing permissions: iam:roles:listRoles

Origin server settings

  • Setting the domain name of an OBS bucket as the origin server

Object Storage Service (OBS)

  • Listing buckets: obs:bucket:ListAllMyBuckets
  • Listing objects in a bucket: obs:bucket:ListBucket
  • Checking whether a bucket exists and obtaining its metadata: obs:bucket:HeadBucket

SCM certificates

Cloud Certificate Manager (CCM)

  • Listing certificates: scm:cert:list
  • Exporting a certificate: scm:cert:download

Filtering domain names by tag

Tag Management Service (TMS)

Querying predefined tags: tms:predefineTags:list

Enterprise projects

Enterprise Management

  • Querying details about an enterprise project: eps:enterpriseProjects:get
  • Listing enterprise projects: eps:enterpriseProjects:list