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

Configuring Permissions of Database Accounts

Function

This API is used to configure permissions of database accounts for a specified DB 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.
  • You can only authorize one schema to one user at a time.

URI

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

Table 1 Parameter description

Parameter

Mandatory

Description

project_id

Yes

Explanation:

Project ID of a tenant in a region.

For details about how to obtain the project ID, 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

Instance ID.

Request Parameters

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.

users

Yes

Array of objects

Database accounts. Each element is a database account. A single request supports a maximum of 50 elements. For details, see Table 3.

Table 3 users field data structure description

Parameter

Mandatory

Type

Description

name

Yes

String

Database account.

The value cannot be a system user and must be an existing account.

System users: rdsAdmin, rdsMetric, rdsBackup, rdsRepl, and root.

readonly

Yes

Boolean

Permission of the database account.

  • true: read only
  • false: read and write

schema_name

Yes

String

Schema name.

The name cannot be public or information_schema, and must be an existing schema name.

Example Request

Configuring permissions for multiple accounts of the gaussdb_test database
POST https://gaussdb-opengauss.ap-southeast-1.myhuaweicloud.com/v3/0483b6b16e954cb88930a360d2c4e663/instances/{instance_id}/db-privilege
{ 
  "db_name" : "gaussdb_test", 
  "users" : [ { 
    "name" : "rds", 
    "readonly" : false, 
    "schema_name" : "teste123" 
  }, { 
    "name" : "rds001", 
    "readonly" : true, 
    "schema_name" : "teste134" 
  }, { 
    "name" : "rds002", 
    "readonly" : false, 
    "schema_name" : "teste135" 
  } ] 
}

Example Response

None

Status Code

Error Code

For details, see Error Codes.