Updated on 2024-09-11 GMT+08:00

Granting Permissions to a Database User

Function

This API is used to grant permissions to a database user. Before calling this API:

URI

POST /v3/{project_id}/instances/{instance_id}/db-users/privilege

Table 1 URI parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Project ID of a tenant in a region.

To obtain this value, see Obtaining a Project ID.

instance_id

Yes

String

Instance ID, which is compliant with the UUID format.

Request Parameters

Table 2 Request header parameters

Parameter

Mandatory

Type

Description

X-Auth-Token

Yes

String

User token.

It can be obtained by calling the IAM API used to obtain a user token.

The value of X-Subject-Token in the response header is the token value.

X-Language

No

String

Request language type. The default value is en-us.

Values:

  • en-us
  • zh-cn
Table 3 Request body parameter

Parameter

Mandatory

Type

Description

users

Yes

Array of GrantDatabasePermission objects

List of database users. The list contains up to 50 database users.

Table 4 GrantDatabasePermission

Parameter

Mandatory

Type

Description

name

Yes

String

Database username.

host

Yes

String

Host IP address.

databases

Yes

Array of DatabasePermission objects

List of databases. The list contains up to 50 databases.

Table 5 DatabasePermission

Parameter

Mandatory

Type

Description

name

Yes

String

Database name.

readonly

Yes

Boolean

Whether the permission is read-only.

  • true: read-only
  • false: read/write

Response Parameters

Status code: 201

Table 6 Response body parameters

Parameter

Type

Description

job_id

String

ID of the task for authorizing the database permissions to a user.

Status code: 400

Table 7 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error message.

Status code: 500

Table 8 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error message.

Example Request

Granting the read/write permission to a database user

POST https://{endpoint}/v3/054e292c9880d4992f02c0196d3ea468/instances/a23fb62bd61e4e9e9636fd2225f395bein07/db-users/privilege
{
  "users" : [ {
    "name" : "gaussdb_mysql_user1",
    "host" : "127.0.0.1",
    "databases" : [ {
      "name" : "test",
      "readonly" : false
    } ]
  } ]
}

Example Response

Status code: 201

Success.

{
  "job_id" : "dff1d289-4d03-4942-8b9f-463ea07c000d"
}

Status Code

For details, see Status Codes.

Error Code

For details, see Error Codes.