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
On this page
Help Center/ GaussDB/ Service Overview/ Permissions Management

Permissions Management

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

If you need to assign different permissions to employees in your company to access your GaussDB 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 resources.

If your account does not need individual IAM users for permissions management, you can skip this section.

With IAM, you can use your account to create IAM users for your employees, and assign specific permissions to different users to control their access to specific resource types. For example, you can grant software developers in your company permissions to use GaussDB resources but not the permissions needed to delete them or perform any high-risk operations.

IAM can be used for free. You pay only for the resources in your account. For more information about IAM, see IAM Service Overview.

GaussDB Permissions

By default, new IAM users do not have any permissions assigned. You need to add a user to one or more groups, and attach permission 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.

GaussDB is a project-level service deployed for specific regions. To assign GaussDB permissions to a user group, specify the scope as region-specific projects and select the project for the permissions to take effect. If All projects is selected, the permissions will be granted to the user group in all region-specific projects. When accessing GaussDB, the users need to switch to the authorized region.

You can use roles and policies to manage user permissions.
  • Roles: A coarse-grained way of granting permissions related to users responsibilities. Only a limited number of service-level roles for authorization are available. When using roles to grant permissions, you may need to assign additional roles because of the different dependencies involved with role-based permissions. Roles are not ideal for fine-grained authorization and least privilege access.
  • Policies: A more fine-grained system. Policies let you define permissions required to perform operations on specific cloud resources under certain conditions. This mechanism allows for more flexible policy-based authorization on a principle of least privilege (PoLP) basis. For example, you can grant IAM users only the permissions needed to manage a certain type of GaussDB resources. Most policies define permissions based on APIs.

Table 1 lists all the system-defined policies supported by GaussDB.

Table 1 System-defined permissions for GaussDB

Policy Name

Description

Category

Dependency Configuration

GaussDB FullAccess

Full permissions for GaussDB

System-defined policy

To use storage autoscaling, create DR tasks, reset DR configurations, and rectify agency permissions, configure the following actions for IAM users:

  • Actions required for creating a custom policy:
    • iam:agencies:listAgencies
    • iam:agencies:createAgency
    • iam:permissions:listRolesForAgencyOnProject
    • iam:permissions:grantRoleToGroupOnProject
    • iam:roles:listRoles
    • iam:permissions:listRolesForAgencyOnDomain
    • iam:permissions:revokeRoleFromAgencyOnProject
    • iam:permissions:revokeRoleFromAgencyOnDomain
  • 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.
Actions required for creating a yearly/monthly instance using a RAM-based shared KMS key:
  • iam:agencies:listAgencies
  • iam:roles:listRoles
  • iam:agencies:pass
  • iam:agencies:createAgency
  • iam:permissions:grantRoleToAgency

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

GaussDB is a region-level service, and IAM is a global service. If you want to grant GaussDB FullAccess to a project, grant BSS ServiceAgencyReadPolicy (global service) to it as well. Granting GaussDB 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.

GaussDB ReadOnlyAccess

Read-only permissions for GaussDB

System-defined policy

None

Table 2 lists the common operations supported by each system policy of GaussDB. Choose appropriate system policies based on this table.

Table 2 Common operations supported by the GaussDB system policies

Operation

GaussDB FullAccess

GaussDB ReadOnlyAccess

Creating a GaussDB instance

x

Deleting a GaussDB instance

x

Querying GaussDB instances

Table 3 Common operations and supported actions

Operation

Action

Remarks

Creating a DB instance

gaussdb:instance:create

gaussdb: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

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

bss:order:update

bss:order:view

bss:balance:view

To create an encrypted instance, configure the following actions for the project:

kms:cmk:get

kms:cmk:list

To report event monitoring of a failed operation, configure the following actions:

"ces:alarmsOnOff:put"

"ces:alarms:create"

Changing instance specifications

gaussdb:instance:modifySpec

To report event monitoring of a failed operation, configure the following actions:

"ces:alarmsOnOff:put"

"ces:alarms:create"

Adding nodes

gaussdb:instance:modifySpec

To report event monitoring of a failed operation, configure the following actions:

"ces:alarmsOnOff:put"

"ces:alarms:create"

Scaling up storage space

gaussdb:instance:modifySpec

To report event monitoring of a failed operation, configure the following actions:

"ces:alarmsOnOff:put"

"ces:alarms:create"

Rebooting a DB instance

gaussdb:instance:restart

To report event monitoring of a failed operation, configure the following actions:

"ces:alarmsOnOff:put"

"ces:alarms:create"

Deleting a DB instance

gaussdb:instance:delete

To unsubscribe from a yearly/monthly instance, configure the following actions:

"bss:unsubscribe:update"

To report event monitoring of a failed operation, configure the following actions:

"ces:alarmsOnOff:put"

"ces:alarms:create"

Querying instances

gaussdb:instance:list

None

Querying instance details

gaussdb:instance:list

If the VPC, subnet, and security group are displayed in the instance list, configure vpc:*:get and vpc:*:list. If the used disk is displayed, configure ces:*:list.

Changing a DB instance password

gaussdb:instance:modify

To report event monitoring of a failed operation, configure the following actions:

"ces:alarmsOnOff:put"

"ces:alarms:create"

Changing a DB instance name

gaussdb:instance:modify

None

Binding or unbinding an EIP

gaussdb:instance:modify

To display EIPs on the console, configure the following actions:

vpc:publicIps:get

vpc:publicIps:list

To report event monitoring of a failed operation, configure the following actions:

"ces:alarmsOnOff:put"

"ces:alarms:create"

Creating a parameter template

gaussdb:param:create

gaussdb:param:list

None

Modifying a parameter template

gaussdb:param:modify

None

Obtaining parameter templates

gaussdb:param:list

None

Applying a parameter template

gaussdb:param:apply

To report event monitoring of a failed operation, configure the following actions:

"ces:alarmsOnOff:put"

"ces:alarms:create

Deleting a parameter template

gaussdb:param:delete

None

Creating a manual backup

gaussdb:backup:create

To report event monitoring of a failed operation, configure the following actions:

"ces:alarmsOnOff:put"

"ces:alarms:create"

Obtaining backups

gaussdb:backup:list

None

Modifying the backup policy

gaussdb:instance:modifyBackupPolicy

None

Deleting a manual backup

gaussdb:backup:delete

To report event monitoring of a failed operation, configure the following actions:

"ces:alarmsOnOff:put"

"ces:alarms:create"

Restoring data to a new DB instance

gaussdb: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

To report event monitoring of a failed operation, configure the following actions:

"ces:alarmsOnOff:put"

"ces:alarms:create

Querying project tags

gaussdb:tag:list

None

Adding or deleting project tags in batches

gaussdb:instance:dealTag

None

Modifying quotas

gaussdb:quota:modify

None

Querying predefined tags

gaussdb:instance:list

To query predefined tags, configure the following action:

tms:resourceTags:list

Querying configured log groups

-

To query configured log groups, configure the following action:

lts:groups:get

Querying configured log streams

-

To query configured log streams, configure the following action:

lts:topics:get

Viewing metrics

-

ces:metric:listGroups

ces:metric:listConfig

Enabling autoscaling

gaussdb:instance:autoEnlargePolicy

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

  • iam:agencies:listAgencies
  • iam:agencies:createAgency
  • iam:permissions:listRolesForAgencyOnProject
  • iam:permissions:grantRoleToGroupOnProject
  • iam:roles:listRoles
  • iam:permissions:listRolesForAgencyOnDomain
  • iam:permissions:revokeRoleFromAgencyOnProject
  • iam:permissions:revokeRoleFromAgencyOnDomain
  • 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.

Querying advanced features

gaussdb:instance:listFeatures

None

Enabling advanced features

gaussdb:instance:updateFeatures

None

Table 4 DR operations and supported actions

Operation

Action

Remarks

Querying instances that can establish a DR relationship with a primary instance

gaussdb:disasterRecovery:list

gaussdb:instance:listAll

None

Querying the real-time DR monitoring status of an instance

gaussdb:disasterRecovery:list

gaussdb:disasterRecovery:get

None

Querying instances that have established a DR relationship

gaussdb:disasterRecovery:list

gaussdb:disasterRecovery:listAll

None

Resetting the DR relationship

gaussdb:disasterRecovery:construct

gaussdb:disasterRecovery:create

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

  • iam:agencies:listAgencies
  • iam:agencies:createAgency
  • iam:permissions:listRolesForAgencyOnProject
  • iam:permissions:grantRoleToGroupOnProject
  • iam:roles:listRoles
  • iam:permissions:listRolesForAgencyOnDomain
  • iam:permissions:revokeRoleFromAgencyOnProject
  • iam:permissions:revokeRoleFromAgencyOnDomain
  • 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.

An agency RDSAccessProjectResource (including the policy DBS AgencyPolicy) will be automatically created in the current region.

Establishing a DR relationship

gaussdb:disasterRecovery:construct

gaussdb:disasterRecovery:create

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

  • iam:agencies:listAgencies
  • iam:agencies:createAgency
  • iam:permissions:listRolesForAgencyOnProject
  • iam:permissions:grantRoleToGroupOnProject
  • iam:roles:listRoles
  • iam:permissions:listRolesForAgencyOnDomain
  • iam:permissions:revokeRoleFromAgencyOnProject
  • iam:permissions:revokeRoleFromAgencyOnDomain
  • 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.

An agency RDSAccessProjectResource (including the policy DBS AgencyPolicy) will be automatically created in the current region.

Promoting the DR instance to primary

gaussdb:disasterRecovery:failover

The RDSAccessProjectResource agency is required.

Removing a DR relationship

gaussdb:disasterRecovery:release

The RDSAccessProjectResource agency is required.

Switching roles of primary and DR instances

gaussdb:disasterRecovery:switchover

The RDSAccessProjectResource agency is required.

Re-establishing a DR relationship

gaussdb:disasterRecovery:construct

gaussdb:disasterRecovery:create

The RDSAccessProjectResource agency is required.

Performing a DR drill

gaussdb:disasterRecovery:simulation

The RDSAccessProjectResource agency is required.

Caching logs for DR

gaussdb:disasterRecovery:keeplog

None

Querying operation records

gaussdb:instance:listRecord

None

NOTE:

In DR scenarios, you also need to configure permissions and actions on the cloud where the DR instance resides before performing DR-related operations.

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