Help Center/ GaussDB/ API Reference/ APIs (Recommended)/ Database and Account Management/ Configuring Permissions of a Database Role
Updated on 2024-12-27 GMT+08:00

Configuring Permissions of a Database Role

Function

This API is used to configure permissions of a database role for a specified instance. Before calling this API:

Constraints

  • This operation cannot be performed when the instance is in any of the following statuses: creating, changing instance specifications, frozen, or abnormal.
  • By default, read-only users have the create and usage permissions on the public schemas.
  • This API can only be used to configure permissions for a role at a time.
  • This API is unavailable for GaussDB instances in the M-compatible mode.

URI

POST https://{Endpoint}/v3.1/{project_id}/instances/{instance_id}/db-privilege

Table 1 Parameter description

Parameter

Mandatory

Type

Description

project_id

Yes

String

Explanation:

Project ID of a tenant in a region.

For details about how to obtain the value, see Obtaining a Project ID.

Restrictions:

None

Value range:

The value can contain 32 characters. Only letters and digits are allowed.

Default value:

None

instance_id

Yes

String

Instance ID.

Request

Table 2 Parameter description

Parameter

Mandatory

Type

Description

db_name

Yes

String

Database name.

The name cannot be a template database and must be an existing database name.

Template databases include postgres, template0, template1.

user

Yes

Object

Roles and permissions. For details, see Table 3.

Table 3 user field data structure description

Parameter

Mandatory

Type

Description

name

Yes

String

Database role name.

The name cannot be a system user or system role and must be an existing user or role.

System users or roles include rdsAdmin, rdsMetric, rdsBackup, rdsRepl, and root.

readonly

Yes

Boolean

Database permissions.

  • true: read only
  • false: read and write

schema

Yes

String

Schema name.

The name cannot be a template database or system schema and must be an existing schema. Template databases include postgres, template0, and template1. System schemas include public and information_schema.

default_privilege_grantee

No

String

Database user or role name.

The permissions of the user or role are granted to the role specified by the name field. The readonly field determines whether to grant the read-only permissions.

The name cannot be a system user or system role and must be an existing user or role. System users or roles include rdsAdmin, rdsMetric, rdsBackup, rdsRepl, and root.

Example Request

Configuring permissions of a database role
POST https://gaussdb-opengauss.ap-southeast-1.myhuaweicloud.com/v3.1/0483b6b16e954cb88930a360d2c4e663/instances/{instance_id}/db-privilege
{ 
  "db_name" : "gaussdb_test", 
  "user" : { 
     "name" : "rds", 
     "schema" : "rds001", 
     "readonly" : false ,
     "default_privilege_grantee": ""
   } 
 
}

Example Response

None

Status Code

Error Code

For details, see Error Codes.