Compute
Elastic Cloud Server
Huawei Cloud Flexus
Bare Metal Server
Auto Scaling
Image Management Service
Dedicated Host
FunctionGraph
Cloud Phone Host
Huawei Cloud EulerOS
Networking
Virtual Private Cloud
Elastic IP
Elastic Load Balance
NAT Gateway
Direct Connect
Virtual Private Network
VPC Endpoint
Cloud Connect
Enterprise Router
Enterprise Switch
Global Accelerator
Management & Governance
Cloud Eye
Identity and Access Management
Cloud Trace Service
Resource Formation Service
Tag Management Service
Log Tank Service
Config
OneAccess
Resource Access Manager
Simple Message Notification
Application Performance Management
Application Operations Management
Organizations
Optimization Advisor
IAM Identity Center
Cloud Operations Center
Resource Governance Center
Migration
Server Migration Service
Object Storage Migration Service
Cloud Data Migration
Migration Center
Cloud Ecosystem
KooGallery
Partner Center
User Support
My Account
Billing Center
Cost Center
Resource Center
Enterprise Management
Service Tickets
HUAWEI CLOUD (International) FAQs
ICP Filing
Support Plans
My Credentials
Customer Operation Capabilities
Partner Support Plans
Professional Services
Analytics
MapReduce Service
Data Lake Insight
CloudTable Service
Cloud Search Service
Data Lake Visualization
Data Ingestion Service
GaussDB(DWS)
DataArts Studio
Data Lake Factory
DataArts Lake Formation
IoT
IoT Device Access
Others
Product Pricing Details
System Permissions
Console Quick Start
Common FAQs
Instructions for Associating with a HUAWEI CLOUD Partner
Message Center
Security & Compliance
Security Technologies and Applications
Web Application Firewall
Host Security Service
Cloud Firewall
SecMaster
Anti-DDoS Service
Data Encryption Workshop
Database Security Service
Cloud Bastion Host
Data Security Center
Cloud Certificate Manager
Edge Security
Managed Threat Detection
Blockchain
Blockchain Service
Web3 Node Engine Service
Media Services
Media Processing Center
Video On Demand
Live
SparkRTC
MetaStudio
Storage
Object Storage Service
Elastic Volume Service
Cloud Backup and Recovery
Storage Disaster Recovery Service
Scalable File Service Turbo
Scalable File Service
Volume Backup Service
Cloud Server Backup Service
Data Express Service
Dedicated Distributed Storage Service
Containers
Cloud Container Engine
SoftWare Repository for Container
Application Service Mesh
Ubiquitous Cloud Native Service
Cloud Container Instance
Databases
Relational Database Service
Document Database Service
Data Admin Service
Data Replication Service
GeminiDB
GaussDB
Distributed Database Middleware
Database and Application Migration UGO
TaurusDB
Middleware
Distributed Cache Service
API Gateway
Distributed Message Service for Kafka
Distributed Message Service for RabbitMQ
Distributed Message Service for RocketMQ
Cloud Service Engine
Multi-Site High Availability Service
EventGrid
Dedicated Cloud
Dedicated Computing Cluster
Business Applications
Workspace
ROMA Connect
Message & SMS
Domain Name Service
Edge Data Center Management
Meeting
AI
Face Recognition Service
Graph Engine Service
Content Moderation
Image Recognition
Optical Character Recognition
ModelArts
ImageSearch
Conversational Bot Service
Speech Interaction Service
Huawei HiLens
Video Intelligent Analysis Service
Developer Tools
SDK Developer Guide
API Request Signing Guide
Terraform
Koo Command Line Interface
Content Delivery & Edge Computing
Content Delivery Network
Intelligent EdgeFabric
CloudPond
Intelligent EdgeCloud
Solutions
SAP Cloud
High Performance Computing
Developer Services
ServiceStage
CodeArts
CodeArts PerfTest
CodeArts Req
CodeArts Pipeline
CodeArts Build
CodeArts Deploy
CodeArts Artifact
CodeArts TestPlan
CodeArts Check
CodeArts Repo
Cloud Application Engine
MacroVerse aPaaS
KooMessage
KooPhone
KooDrive

Creating Custom Policies

Updated on 2022-08-16 GMT+08:00

You can create custom policies to supplement system-defined policies and implement more refined access control.

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

  • Visual editor: Select cloud services, actions, resources, and request conditions without the need to know policy syntax.
  • JSON: Edit JSON policies from scratch or based on an existing policy.

The following describes how to create a custom policy that allows users to modify DNS zones in the visual editor and JSON view.

Some examples of common custom DNS policies are provided.

Creating a Custom Policy in the Visual Editor

  1. Log in to the management console.
  2. On the management console, hover over the username in the upper right corner, and choose Identity and Access Management from the drop-down list.
  3. In the left navigation pane, choose Permissions.
  4. Click Create Custom Policy.

    The Create Custom Policy page is displayed.

  5. Enter a policy name.
  6. Select a scope in which the policy will take effect based on the type of services to be set in this policy.
    • Global services: Select this option if the services to which the policy is related are available for all regions once deployed. When creating custom policies for globally deployed services, specify the scope as Global services. Custom policies of this scope must be attached to user groups in the Global service region.
    • Project-level services: Select this option if the services to which the policy is related are deployed in specific regions. When creating custom policies for regionally deployed services, specify the scope as Project-level services. Custom policies of this scope must be attached to user groups in specific regions except the Global service region.

    Select Project-level services here.

    NOTE:

    A custom policy can contain actions of multiple services that are all globally available or all deployed only in specific projects. To define permissions required for accessing both globally available and project-specific services, create two custom policies and specify the scope respectively as Global services and Project-level services.

  7. Select Visual editor.
  8. In the Policy Content area, configure a custom policy.
    1. Select Allow or Deny.
    2. Select Cloud service.
      NOTE:

      Only one cloud service can be selected for each permission block. To configure permissions for multiple cloud services, click Add Permissions or switch to the Creating a Custom Policy in the JSON View.

    3. Select actions.
    4. (Optional) Select a resource type. For example, if you select Specific, you can click Specify resource path to specify the resource to be authorized.
    5. (Optional) Add request conditions by specifying condition keys, operators, and values.
      Table 1 Criterion

      Name

      Description

      Condition Key

      A key in the Condition element of a statement. There are global and service-level condition keys.

      • Global-level condition key: The prefix is g:, which applies to all operations, as shown in Table 2.
      • Project-level condition key: The prefix is the abbreviation of a service, for example, dns:. This key applies only to the operations of the corresponding service.

      Operator

      Used together with a condition key to form a complete condition statement.

      Value

      Used together with a condition key and an operator that requires a keyword, to form a complete condition statement.

      Table 2 Global request condition

      Global condition keys

      Type

      Description

      g:CurrentTime

      Time

      Time when an authentication request is received. The time is in ISO 8601 format, for example, 2012-11-11T23:59:59Z.

      g:DomainName

      String

      Account name

      g:MFAPresent

      Boolean

      Whether to use multi-factor authentication (MFA) to obtain a token

      g:MFAAge

      Value

      Validity period of the token obtained through MFA. This condition must be used together with g:MFAPresent.

      g:ProjectName

      String

      Project name

      g:ServiceName

      String

      Service name

      g:UserId

      String

      IAM user ID

      g:UserName

      String

      IAM username

  9. (Optional) Switch to the JSON view. Then you can modify the policy content in the JSON structure.
    NOTE:

    If the JSON structure is wrong after modification, check the content, or click Reset to cancel the modification

  10. (Optional) To add another permission block for the policy, click Add Permissions. Alternatively, click the plus (+) icon on the right of an existing permission block to clone its permissions.
  11. (Optional) Describe the policy.
  12. Click OK. The custom policy is created.
  13. Assign the policy to a user group so that users in the group can inherit the permissions of the policy by referring to Creating a User and Granting DNS Permissions.

Creating a Custom Policy in the JSON View

  1. Log in to the management console.
  2. On the management console, hover over the username in the upper right corner, and choose Identity and Access Management from the drop-down list.
  3. In the left navigation pane, choose Permissions.
  4. Click Create Custom Policy.

    The Create Custom Policy page is displayed.

  5. Enter a policy name.
  6. Select a scope in which the policy will take effect based on the type of services to be set in this policy.
    • Global services: Select this option if the services to which the policy is related are available for all regions once deployed. When creating custom policies for globally deployed services, specify the scope as Global services. Custom policies of this scope must be attached to user groups in the Global service region.
    • Project-level services: Select this option if the services to which the policy is related are deployed in specific regions. When creating custom policies for regionally deployed services, specify the scope as Project-level services. Custom policies of this scope must be attached to user groups in specific regions except the Global service region.

    Select Project-level services here.

    NOTE:

    A custom policy can contain actions of multiple services that are all globally available or all deployed only in specific projects. To define permissions required for accessing both globally available and project-specific services, create two custom policies and specify the scope respectively as Global services and Project-level services.

  7. Select JSON.
  8. (Optional) Click Select Existing Policy, and select a policy to use it as template, such as DNS FullAccess.
  9. Click OK.
  10. Modify the statements in the template.
    • Effect: Enter Allow or Deny.
    • Action: Enter the actions listed in the DNS API actions table, for example, dns:zone:create.
    NOTE:

    The Version value of a custom policy must be 1.1.

  11. (Optional) Describe the policy.
  12. Click OK. If the policy list is displayed, the policy is created successfully. If a message indicating incorrect policy content is displayed, modify the policy.
  13. Assign the policy to a user group so that users in the group can inherit the permissions of the policy by referring to Creating a User and Granting DNS Permissions.

We use cookies to improve our site and your experience. By continuing to browse our site you accept our cookie policy. Find out more

Feedback

Feedback

Feedback

0/500

Selected Content

Submit selected content with the feedback