Updated on 2025-11-25 GMT+08:00

Permissions

If you need to assign different permissions to personnel in your enterprise to access your RDS 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. If your Huawei Cloud account does not require IAM for permissions management, you can skip this section.

IAM is a free service. You only pay for the resources in your account.

With IAM, you can control access to specific Huawei Cloud resources. For example, if you want some software developers in your enterprise to use RDS resources but do not want them to delete RDS instances or perform any other high-risk operations, you can grant permission to use RDS instances but not permission to delete them.

IAM supports role/policy-based authorization and identity policy-based authorization.

The following table describes the differences between these two authorization models.

Table 1 Differences

Authorization Model

Authorization Using

Permissions

Authorization Method

Scenarios

Role/Policy

User-permission-authorization scope

  • System-defined role
  • System-defined policies
  • Custom policies

Assigning roles or policies to principals

To authorize a user, you need to add it to a user group first and then specify the scope of authorization. It provides a limited number of condition keys and cannot meet the requirements of fine-grained permissions control. This method is suitable for small- and medium-sized enterprises.

Identity policy

User-policy

  • System-defined policy
  • Custom identity policies
  • Assigning identity policies to principals
  • Attaching identity policies to principals

You can authorize a user by attaching an identity policy to it. User-specific authorization and a variety of key conditions allow for more fine-grained permissions control. However, this model can be hard to set up. It requires a certain amount of expertise and is suitable for medium- and large-sized enterprises.

Assume that you want to grant IAM users the permissions needed to create RDS instances in CN North-Beijing4 and OBS buckets in CN South-Guangzhou. With role/policy-based authorization, the administrator needs to create two custom policies and attach both to the IAM users. With identity policy-based authorization, the administrator only needs to create one custom policy, configure the condition key g:RequestedRegion for the policy, and then attach the policy to the users or grant the users the access permissions to the specified regions. Identity policy-based authorization is more flexible than role/policy-based authorization.

Policies/identity policies and actions in the two authorization models are not interoperable. You are advised to use the identity policy-based authorization model. Role/Policy-based Permissions Management and Identity Policy-based Permissions Management describe system-defined permissions in the two authorization models.

For more information about IAM, see IAM Service Overview.

Role/Policy-based Permissions Management

RDS supports role/policy-based permissions management. 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.

RDS is a project-level service deployed for specific regions. When you set Scope to Region-specific projects and select the specified projects (for example, ap-southeast-2) in the specified regions(for example, AP-Bangkok), the users only have permissions for RDS instances in the selected projects. If you set Scope to All resources, the users have permissions for RDS instances in all region-specific projects. When accessing RDS instances, the users need to switch to the authorized region.

Table 2 lists all the system-defined permissions for RDS. System-defined policies in role/policy-based authorization are not interoperable with those in identity policy-based authorization.

Table 2 System-defined permissions for RDS

Role/Policy Name

Description

Type

Dependencies

RDS FullAccess

Full permissions for Relational Database Service.

System-defined policy

None

RDS ReadOnlyAccess

Read-only permissions for Relational Database Service.

System-defined policy

None

RDS ManageAccess

Database administrator permissions for all operations except deleting RDS resources.

System-defined policy

None

RDS Administrator

Administrator permissions for Relational Database Service.

System-defined role

Tenant Guest and Server Administrator roles, which must be attached in the same project as the RDS Administrator role

Table 3 lists the common operations supported by system-defined permissions for RDS.

Table 3 Common operations supported by system-defined permissions

Operation

RDS FullAccess

RDS ReadOnlyAccess

RDS ManageAccess

RDS Administrator

Creating an RDS instance

x

Deleting an RDS instance

x

x

Querying RDS instances

Role/Policy Dependencies of the RDS Console

Table 4 Role/Policy dependencies of the RDS console

Console Function

Dependency

Role/Policy Required

Creating an RDS instance

Identity and Access Management (IAM)

Virtual Private Cloud (VPC)

Data Encryption Workshop (DEW)

Creating a yearly/monthly DB instance requires the following actions:

  • bss:order:update
  • bss:order:pay
To use storage autoscaling, an IAM user must be granted the following actions:
  • iam:agencies:listAgencies
  • iam:agencies:createAgency
  • iam:permissions:listRolesForAgencyOnProject
  • iam:permissions:grantRoleToGroupOnProject
  • iam:permissions:grantRoleToAgencyOnProject
  • iam:roles:listRoles
  • iam:roles:createRole

Selecting a VPC, subnet, and security group during instance creation requires the following actions:

  • vpc:vpcs:list
  • vpc:vpcs:get
  • vpc:subnets:get
  • vpc:securityGroups:get
  • vpc:securityGroupRules:get

Creating an encrypted instance requires the KMS Administrator permission for the project.

To create a yearly/monthly instance using a RAM-based shared KMS key, an IAM user must be granted the following actions:
  • iam:agencies:listAgencies
  • iam:roles:listRoles
  • iam:agencies:pass
  • iam:agencies:createAgency
  • iam:permissions:grantRoleToAgency

    RDS FullAccess already contains the iam:agencies:listAgencies, iam:roles:listRoles, and iam:agencies:pass actions.

    RDS is a region-level service, and IAM is a global service. If you grant a user the RDS FullAccess policy for a specific project, grant BSS ServiceAgencyCreatePolicy (global service) for the project as well. Granting RDS FullAccess for all projects eliminates the need for additional configuration when using IAM actions.

    BSS ServiceAgencyCreatePolicy contains the following actions: iam:agencies:createAgency and iam:permissions:grantRoleToAgency.

Changing a DB instance type from single-node to primary/standby

Data Encryption Workshop (DEW)

If the original single-node instance is encrypted, configure the KMS Administrator permission for the project.

Querying DB instance details

Virtual Private Cloud (VPC)

Displaying VPCs, subnets, and security groups on the instance details page requires vpc:*:get and vpc:*:list.

Changing a floating IP address

Virtual Private Cloud (VPC)

Querying unused IP addresses requires the following actions:

  • vpc:subnets:get
  • vpc:ports:get

Binding or unbinding an EIP

Virtual Private Cloud (VPC)

Querying EIPs requires the following actions:

  • vpc:publicIps:get
  • vpc:publicIps:list

Migrating a standby DB instance to another AZ

Data Encryption Workshop (DEW)

Standby DB instance migration involves operations on the IP address in the subnet. For encrypted DB instances, configure the KMS Administrator permission for the project.

Restoring data to a new DB instance

Virtual Private Cloud (VPC)

Selecting a VPC, subnet, and security group requires the following actions:

  • vpc:vpcs:list
  • vpc:vpcs:get
  • vpc:subnets:get
  • vpc:securityGroups:get
  • vpc:securityGroupRules:get

Managing a tag

Tag Management Service (TMS)

Performing tag-related operations requires the tms:resourceTags:* permission.

Configuring storage autoscaling

Identity and Access Management (IAM)

To use storage autoscaling, an IAM user must be granted the following actions:
  • iam:agencies:listAgencies
  • iam:agencies:createAgency
  • iam:permissions:listRolesForAgencyOnProject
  • iam:permissions:grantRoleToGroupOnProject
  • iam:permissions:grantRoleToAgencyOnProject
  • iam:roles:listRoles
  • iam:roles:createRole

DBA Assistant

Data Admin Service (DAS)

Cloud Eye

IAM users must have the RDS FullAccess, DAS FullAccess (or DAS Administrator), and CES FullAccess permissions.

Identity Policy-based Permissions Management

RDS supports identity policy-based authorization. Table 5 lists all the system-defined identity policies for RDS. System-defined policies in identity policy-based authorization are not interoperable with those in role/policy-based authorization.

Table 5 System-defined identity policies for RDS

Identity Policy Name

Description

Type

RDSReadOnlyPolicy

Read-only permissions for RDS.

System-defined identity policies

RDSFullAccessPolicy

Full permissions for RDS

System-defined identity policies

Table 6 lists the common operations supported by system-defined identity policies for RDS.

Table 6 Common operations supported by system-defined identity policies

Operation

RDSReadOnlyPolicy

RDSFullAccessPolicy

Creating an RDS instance

x

Deleting an RDS instance

x

Querying RDS instances

Identity Policy Dependencies of the RDS Console

Table 7 Identity policy dependencies of the RDS console

Console Function

Role/Policy Required

Creating an RDS instance

For a yearly/monthly DB instance:

BILLINGFullAccessPolicy

Changing a DB instance type from single-node to primary/standby

For a yearly/monthly DB instance:

BILLINGFullAccessPolicy

Restoring data to a new DB instance

For a yearly/monthly DB instance:

BILLINGFullAccessPolicy