Permissions Management
If you need to assign different permissions to employees in your enterprise to access your GaussDB(openGauss) resources, IAM is a good choice for fine-grained permissions management. IAM provides identity authentication, permissions management, and access control, helping you securely manage access to your HUAWEI CLOUD resources.
With IAM, you can use your account to create IAM users for your employees, and assign permissions to the users to control their access to specific resource types. For example, some software developers in your enterprise need to use GaussDB(openGauss) resources but must not delete them or perform any high-risk operations. To achieve this result, you can create IAM users for the software developers and grant them only the permissions required for using GaussDB(openGauss) resources.
If your account does not need individual IAM users for permissions management, you may skip this chapter.
IAM can be used for free. You pay only for the resources in your account. For more information about IAM, see the IAM Service Overview.
GaussDB(openGauss) Permissions
By default, new IAM users do not have 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. Currently, GaussDB(openGauss) shares the same permissions with RDS.
GaussDB(openGauss) is a project-level service deployed in specific physical regions. To assign GaussDB(openGauss) permissions to a user group, specify the scope as region-specific projects and select projects for the permissions to take effect. If All projects is selected, the permissions will take effect for the user group in all region-specific projects. When accessing GaussDB(openGauss), the users need to switch to a region where they have been authorized to use this service.
- Roles: A type of coarse-grained authorization mechanism that defines permissions related to users responsibilities. Only a limited number of service-level roles for authorization are available. When using roles to grant permissions, you need to also assign other roles on which the permissions depend to take effect. Roles are not ideal for fine-grained authorization and secure access control.
- Policies: A 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 and meets secure access control requirements. For example, you can grant IAM users only the permissions for managing a certain type of GaussDB(openGauss) resources. Most policies define permissions based on APIs. For the API actions supported by GaussDB(openGauss), see Permissions Policies and Supported Actions
Table 1 lists all the system permissions of GaussDB(openGauss).
|
Policy Name/System Role |
Description |
Category |
Dependencies |
|---|---|---|---|
|
RDS FullAccess |
Full permissions for RDS |
System-defined policy |
N/A |
|
RDS ReadOnlyAccess |
Read-only permissions for RDS |
System-defined policy |
N/A |
|
RDS ManageAccess |
Database administrator permissions for all operations except deleting RDS resources |
System-defined policy |
N/A |
|
RDS Administrator |
Administrator permissions for RDS |
System role |
The Tenant Guest and Server Administrator roles need to be assigned in the same project. |
Table 2 lists the common operations supported by each system policy of GaussDB(openGauss). Choose proper system policies according to this table.
|
Operation |
RDS FullAccess |
RDS ReadOnlyAccess |
RDS ManageAccess |
RDS Administrator |
|---|---|---|---|---|
|
Creating a DB instance |
√ |
x |
√ |
√ |
|
Deleting a DB instance |
√ |
x |
x |
√ |
|
Querying an instance list |
√ |
√ |
√ |
√ |
|
Operation |
Action |
Remarks |
|---|---|---|
|
Creating a DB instance |
rds:instance:create rds:param:list |
To select a VPC, subnet, and security group, you need to configure the following actions: vpc:vpcs:list vpc:vpcs:get vpc:subnets:get vpc:securityGroups:get To create an encrypted DB instance, you need to configure the KMS Administrator permission for the project. |
|
Scaling up storage space |
rds:instance:extendSpace |
N/A |
|
Reboot a DB instance |
rds:instance:restart |
N/A |
|
Delete a DB instance |
rds:instance:delete |
N/A |
|
Querying a DB instance list |
rds:instance:list |
N/A |
|
Querying DB instance details |
rds:instance:list |
If the VPC, subnet, and security group are displayed in the DB instance list, you need to configure vpc:*:get and vpc:*:list. |
|
Changing DB instance passwords |
rds:password:update |
N/A |
|
Changing a DB instance name |
rds:instance:modify |
N/A |
|
Changing failover priorities |
rds:instance:modifyStrategy |
N/A |
|
Binding or unbinding an EIP |
rds:instance:modifyPublicAccess |
To query public IP addresses, you need to configure the following actions: vpc:publicIps:get vpc:publicIps:list |
|
Obtaining a parameter template list |
rds:param:list |
N/A |
|
Creating a parameter template |
rds:param:create |
N/A |
|
Modifying parameters in a parameter template |
rds:param:modify |
N/A |
|
Applying a parameter template |
rds:param:apply |
N/A |
|
Modifying parameters of a specified DB instance |
rds:param:modify |
N/A |
|
Obtaining the parameter template of a specified DB instance |
rds:param:list |
N/A |
|
Obtaining parameters of a specified parameter template |
rds:param:list |
N/A |
|
Deleting a parameter template |
rds:param:delete |
N/A |
|
Resetting a parameter template |
rds:param:reset |
N/A |
|
Comparing parameter templates |
rds:param:list |
N/A |
|
Saving parameters in a parameter template |
rds:param:save |
N/A |
|
Querying a parameter template type |
rds:param:list |
N/A |
|
Setting an automated backup policy |
rds:instance:modifyBackupPolicy |
N/A |
|
Querying an automated backup policy |
rds:instance:list |
N/A |
|
Creating a manual backup |
rds:backup:create |
N/A |
|
Obtaining a backup list |
rds:backup:list |
N/A |
|
Deleting a manual backup |
rds:backup:delete |
N/A |
|
Querying restoration time ranges |
rds:instance:list |
N/A |
|
Restoring data to a new DB instance |
rds:instance:create |
To select a VPC, subnet, and security group, configure the following actions: vpc:vpcs:list vpc:vpcs:get vpc:subnets:get vpc:securityGroups:get |
|
Obtaining a database backup file list |
rds:backup:list |
N/A |
|
Viewing a task list |
rds:task:list |
N/A |
|
Deleting a task from the task center |
rds:task:delete |
N/A |
|
Managing a tag |
rds:instance:modify |
N/A |
|
Adding a node |
rds:instance:expandCluster |
N/A |
Last Article: DB Instance Versions
Next Article: Constraints
Did this article solve your problem?
Thank you for your score!Your feedback would help us improve the website.