Permissions
If you need to assign different permissions to personnel in your enterprise to access your DDS resources, Identity and Access Management (IAM) is a good choice for fine-grained permissions management. IAM provides identity authentication, permissions management, and access control, helping you to securely access your Huawei Cloud resources.
With IAM, you can create IAM users and assign permissions to control their access to specific resources. For example, if you want some software developers in your enterprise to use DDS resources but do not want them to delete DDS instances or perform any other high-risk operations, you can create IAM users and grant permission to use DDS instances but not permission to delete them.
If your Huawei account does not require individual IAM users for permissions management, you can skip this section.
IAM is a free service. You only pay for the resources in your account. For more information about IAM, see IAM Service Overview.
DDS Permissions
New IAM users do not have any permissions assigned by default. You need to first add them to one or more groups and attach policies or roles to these groups. The users then inherit permissions from the groups and can perform specified operations on cloud services based on the permissions they have been assigned.
DDS is a project-level service deployed for specific regions. When you set Scope to Region-specific projects and select the specified projects in the specified regions, the users only have permissions for DDS instances in the selected projects. If you set Scope to All resources, the users have permissions for DDS instances in all region-specific projects. When accessing DDS, the users need to switch to the authorized region.
You can grant users permissions by using roles and policies.
- Roles: A coarse-grained authorization strategy provided by IAM to assign permissions based on users' job responsibilities. Only a limited number of service-level roles are available for authorization. Huawei Cloud services depend on each other. When you grant permissions using roles, you also need to attach any existing role dependencies. Roles are not ideal for fine-grained authorization and least privilege access.
- Policies: A fine-grained authorization strategy that defines permissions required to perform operations on specific cloud resources under certain conditions. This type of authorization is more flexible and is ideal for least privilege access. For example, you can grant users only permission to manage DDS instances of a certain type.
Table 1 lists all the system-defined permissions for DDS.
Role/Policy Name |
Description |
Type |
Dependencies |
---|---|---|---|
DDS FullAccess |
Full permissions for Document Database Service. |
System-defined policy |
To create yearly/monthly instances, configure the CBC actions:
To unsubscribe from a yearly/monthly instance, you need to configure the following CBC action:
|
DDS ReadOnlyAccess |
Read-only permissions for Document Database Service. Users with these permissions can only view DDS data. |
System-defined policy |
None |
Table 2 lists the common operations supported by system-defined permissions for DDS.
Operation |
DDS FullAccess |
DDS ReadOnlyAccess |
---|---|---|
Creating an instance |
√ |
x |
Querying instances |
√ |
√ |
Deleting an instance |
√ |
x |
Restarting an instance |
√ |
x |
Performing a primary/secondary switchover |
√ |
x |
Changing a database port |
√ |
x |
Resetting a password |
√ |
x |
Modifying an SSL policy |
√ |
x |
Changing a security group |
√ |
x |
Binding or unbinding an EIP |
√ |
x |
Scaling up storage space |
√ |
x |
Changing instance specifications |
√ |
x |
Adding nodes |
√ |
x |
Deleting the node that fails to be added |
√ |
x |
Modifying an automated backup policy |
√ |
x |
Renaming an instance |
√ |
x |
Changing a private IP address |
√ |
x |
Changing the parameter template associated with the node in a DB instance |
√ |
x |
Showing original slow logs |
√ |
x |
Enabling or disabling local log auditing |
√ |
x |
Downloading audit logs |
√ |
x |
Deleting audit logs |
√ |
x |
Downloading a backup |
√ |
x |
Creating a manual backup |
√ |
x |
Querying the backup list |
√ |
√ |
Restoring data to a new DB instance |
√ |
x |
Restoring data to an existing instance |
√ |
x |
Deleting a backup |
√ |
x |
Creating a parameter template |
√ |
x |
Viewing parameter templates |
√ |
√ |
Modifying a parameter template |
√ |
x |
Deleting a parameter template |
√ |
x |
Viewing a task center list |
√ |
x |
Stopping a backup |
√ |
x |
Table 3 lists common DDS operations and corresponding actions. You can refer to this table to customize permission policies.
Operation |
Actions |
Authorization Scope |
Description |
---|---|---|---|
Instance creation page |
|
Supported:
|
The VPC, subnet, and security group are displayed on the instance creation page. |
Creating an instance |
|
Supported:
|
If the default VPC, subnet, and security group are used, the vpc:*:create permission must be configured. To create an encrypted instance, configure the KMS Administrator permission for the project. |
Querying DB instances |
dds:instance:list |
Supported:
|
- |
Querying details of a DB instance |
dds:instance:list |
Supported:
|
If the VPC, subnet, and security group need to be displayed on the instance details page, add the vpc:*:get and vpc:*:list actions. |
Exporting DB instance lists |
dds:instance:list |
Supported:
|
If the VPC, subnet, and security group are required, add the vpc:*:get and vpc:*:list actions. |
Deleting a DB instance |
dds:instance:deleteInstance |
Supported:
|
When deleting a DB instance, delete the IP address on the data side. |
Restarting a DB instance |
dds:instance:reboot |
Supported:
|
- |
Performing a primary/secondary switchover |
dds:instance:switchover |
Supported:
|
- |
Changing a port |
dds:instance:modifyPort |
Supported:
|
- |
Resetting a password |
dds:instance:resetPasswd |
Supported:
|
- |
Modified SSL |
dds:instance:modifySSL |
Supported:
|
- |
Modifying a security group |
dds:instance:modifySecurityGroup |
Supported:
|
- |
Binding an EIP |
dds:instance:bindPublicIp |
Supported:
|
When binding an EIP, you need to query the created EIP.
For details, see Floating IP Address. |
Unbinding an EIP |
dds:instance:unbindPublicIp |
Supported:
|
For details, see Floating IP Address. |
Scaling up storage space |
dds:instance:extendVolume |
Supported:
|
- |
Changing DB instance classes |
dds:instance:modifySpec |
Supported:
|
- |
Adding nodes |
|
Supported:
|
- |
Deleting the node that fails to be added |
dds:instance:extendNode |
Supported:
|
If the IP address has been created but the subsequent procedure fails, delete the IP address on the data side. |
Modifying an automated backup policy |
dds:instance:modifyBackupPolicy |
Supported:
|
- |
Renaming a DB instance |
dds:instance:modify |
Supported:
|
- |
Changing a private IP address |
|
Supported:
|
Before changing the private IP address, query available IP addresses. |
Changing the parameter template associated with the node in a DB instance |
dds:instance:modifyParameter |
Supported:
|
- |
Showing original slow logs |
dds:instance:modifySlowLogPlaintextSwitch |
Supported:
|
- |
Enabling or disabling local log auditing |
dds:instances:modifyAuditLogSwitch |
Supported:
|
- |
Downloading audit logs |
dds:instances:downloadAuditLog |
Supported:
|
- |
Deleting audit logs |
dds:instance:deleteAuditLog |
Supported:
|
- |
Downloading a backup file |
dds:backup:download |
Supported:
|
- |
Changing the billing mode from pay-per-use to yearly/monthly |
dds:instances:renew |
Supported:
|
- |
Creating a Manual Backup |
dds:instance:createManualBackup |
Supported:
|
- |
Querying the backup list |
dds:backup:list |
Supported:
|
- |
Restoring data to a new DB instance |
|
Supported:
|
The KMS Administrator permission needs to be configured for the encrypted instance in the project. |
Restoring to an existing DB instance |
dds:backup:refreshInstanceFromBackup |
Supported:
|
- |
Deleting a backup |
dds:backup:delete |
Supported:
|
- |
Creating a parameter template |
dds:param:create |
Supported:
|
- |
Viewing parameter templates |
dds:param:list |
Supported:
|
- |
Modifying a parameter template |
dds:param:modify |
Supported:
|
- |
Deleting a parameter template |
dds:param:delete |
Supported:
|
- |
Task Center list |
dds:task:list |
Supported:
|
- |
Stopping a backup |
dds:backup:stop |
Supported:
|
- |
Querying a log group |
lts:groups:get |
Supported:
|
- |
Querying a log stream |
lts:topics:get |
Supported:
|
- |
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot