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
Situation Awareness
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
On this page

Show all

Permissions

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

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 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 RDS resources but do not want them to delete RDS instances or perform any other high-risk operations, you can create IAM users and grant permission to use RDS 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.

RDS 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.

RDS 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 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.

You can grant 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. 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 database resources of a certain type. A majority of fine-grained policies contain permissions for specific APIs, and permissions are defined using API actions. For the API actions supported by RDS, see Permissions and Supported Actions.

Table 1 lists all the system-defined permissions for RDS.

Table 1 System-defined permissions for RDS

Role/Policy Name

Description

Type

Dependencies

RDS FullAccess

Full permissions for Relational Database Service

System-defined policy

To purchase a yearly/monthly DB instance, configure the following actions:

bss:order:update

bss:order:pay

To use storage autoscaling, configure the following actions for IAM users:
  • Creating a custom policy:
    • iam:agencies:listAgencies
    • iam:agencies:createAgency
    • iam:permissions:listRolesForAgencyOnProject
    • iam:permissions:grantRoleToGroupOnProject
    • iam:roles:listRoles
    • iam:roles:createRole
  • Adding system role Security Administrator:
    1. Select a user group to which the user belongs.
    2. Click Authorize in the Operation column.
    3. Add the Security Administrator role.
To create a yearly/monthly instance using a RAM-based shared KMS key, configure 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 RDS FullAccess to a project, grant BSS ServiceAgencyReadPolicy (global service) to the project as well. Granting RDS FullAccess to 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.

RDS ReadOnlyAccess

Read-only permissions for Relational Database Service

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-defined role

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

If only the RDS Administrator role is attached and you want to use storage autoscaling, configure the actions on storage autoscaling listed in Table 3 for IAM users:

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

Table 2 Common operations supported by system-defined permissions

Operation

RDS FullAccess

RDS ReadOnlyAccess

RDS ManageAccess

RDS Administrator

Creating an RDS DB instance

x

Deleting an RDS DB instance

x

x

Querying an RDS DB instance list

Table 3 Common operations and supported actions

Operation

Actions

Remarks

Creating a DB instance

rds:instance:create

rds:param:list

To select a VPC, subnet, and security group, configure the following actions:

vpc:vpcs:list

vpc:vpcs:get

vpc:subnets:get

vpc:securityGroups:get

vpc:securityGroupRules:get

To create an encrypted instance, configure the KMS Administrator permission for the project.

To purchase a yearly/monthly DB instance, configure the following actions:

bss:order:update

bss:order:pay

Changing DB instance specifications

rds:instance:modifySpec

N/A

Scaling up storage space

rds:instance:extendSpace

N/A

Changing a DB instance type from single to primary/standby

rds:instance:singleToHa

If the original single DB instance is encrypted, you need to configure the KMS Administrator permission in the project.

Rebooting a DB instance

rds:instance:restart

N/A

Deleting 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 a DB instance password

rds:password:update

N/A

Changing a database port

rds:instance:modifyPort

N/A

Changing a floating IP address

rds:instance:modifyIp

To query the list of unused IP addresses, configure the following actions:

vpc:subnets:get

vpc:ports:get

Changing a DB instance name

rds:instance:modify

N/A

Changing a maintenance window

rds:instance:modify

N/A

Performing a manual switchover

rds:instance:switchover

N/A

Changing the replication mode

rds:instance:modifySynchronizeModel

N/A

Changing the failover priority

rds:instance:modifyStrategy

N/A

Changing a security group

rds:instance:modifySecurityGroup

N/A

Binding or unbinding an EIP

rds:instance:modifyPublicAccess

To query public IP addresses, configure the following actions:

vpc:publicIps:get

vpc:publicIps:list

Modifying the recycling policy

rds:instance:setRecycleBin

N/A

Querying the recycling policy

rds:instance:list

N/A

Enabling or disabling SSL

rds:instance:modifySSL

N/A

Enabling or disabling event scheduler

rds:instance:modifyEvent

N/A

Configuring read/write splitting

rds:instance:modifyProxy

N/A

Applying for a private domain name

rds:instance:createDns

N/A

Migrating a standby DB instance to another AZ

rds:instance:create

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

Restoring tables to a specified point in time

rds:instance:tableRestore

N/A

Configuring TDE permission

rds:instance:tde

Only used for RDS for SQL Server DB instances.

Changing host permission

rds:instance:modifyHost

N/A

Querying hosts of the corresponding database account

rds:instance:list

N/A

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

Obtaining the link for downloading a backup file

rds:backup:download

N/A

Deleting a manual backup

rds:backup:delete

N/A

Replicating a backup

rds:backup:create

N/A

Querying the restoration time range

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

vpc:securityGroupRules:get

Restoring data to an existing or original DB instance

rds:instance:restoreInPlace

N/A

Obtaining the binlog clearing policy

rds:binlog:get

N/A

Merging binlog files

rds:binlog:merge

N/A

Downloading a binlog file

rds:binlog:download

N/A

Deleting a binlog file

rds:binlog:delete

N/A

Configuring a binlog clearing policy

rds:binlog:setPolicy

N/A

Obtaining a database backup file list

rds:backup:list

N/A

Obtaining a backup database list at a specified time point

rds:backup:list

N/A

Querying a database error log

rds:log:list

N/A

Querying a database slow log

rds:log:list

N/A

Downloading a database error log

rds:log:download

N/A

Downloading a database slow log

rds:log:download

N/A

Enabling or disabling the audit log function

rds:auditlog:operate

N/A

Obtaining an audit log list

rds:auditlog:list

N/A

Querying the audit log policy

rds:auditlog:list

N/A

Obtaining the link for downloading an audit log

rds:auditlog:download

N/A

Obtaining a switchover log

rds:log:list

N/A

Creating a database

rds:database:create

N/A

Querying details about databases

rds:database:list

N/A

Querying authorized databases of a specified user

rds:database:list

N/A

Dropping a database

rds:database:drop

N/A

Creating a database account

rds:databaseUser:create

N/A

Querying details about database accounts

rds:databaseUser:list

N/A

Querying authorized accounts of a specified database

rds:databaseUser:list

N/A

Deleting a database account

rds:databaseUser:drop

N/A

Authorizing a database account

rds:databasePrivilege:grant

N/A

Revoking permissions of a database account

rds:databasePrivilege:revoke

N/A

Viewing a task center list

rds:task:list

N/A

Deleting a task from the task center

rds:task:delete

N/A

Submitting an order for a yearly/monthly DB instance

bss:order:update

To purchase a yearly/monthly DB instance, configure the following actions:

bss:order:pay

Managing a tag

rds:instance:modify

Tag-related operations depend on the tms:resourceTags:* permission.

Configuring autoscaling

rds:instance:extendSpace

To enable autoscaling, configure the following actions for the IAM users instead of your Huawei account:

  • Creating a custom policy
    • iam:agencies:listAgencies
    • iam:agencies:createAgency
    • iam:permissions:listRolesForAgencyOnProject
    • iam:permissions:grantRoleToGroupOnProject
    • iam:roles:listRoles
    • iam:roles:createRole
  • Adding system role Security Administrator:
    1. Select a user group to which the user belongs.
    2. Click Authorize in the Operation column.
    3. Add the Security Administrator role.

Stopping or starting a DB instance

rds:instance:operateServer

N/A

Stopping an instance

rds:instance:stop

N/A

Starting an instance

rds:instance:start

N/A

Modifying the remarks of a database account

rds:databaseUser:update

N/A

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