Authorizing a Database Account

Function

This API is used to grant permissions to a database account in a specified DB instance.

Constraints

  • Databases cannot be created when the DB instance is in any of the following statuses: creating, changing instance class, changing port, frozen, or abnormal.
  • By default, read-only users have the create and usage permissions on the public schema.

URI

  • URI format

    POST https://{Endpoint}/v3/{project_id}/instances/{instance_id}/db_privilege

  • Example

    https://rds.cn-north-1.myhuaweicloud.com/v3/0483b6b16e954cb88930a360d2c4e663/instances/dsfae23fsfdsae3435in01/db_privilege

  • Parameter description
    Table 1 Parameter description

    Name

    Mandatory

    Description

    project_id

    Yes

    Specifies the project ID of a tenant in a region.

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

    instance_id

    Yes

    Specifies the DB instance ID.

Request

  • Parameter description
    Table 2 Parameter description

    Name

    Mandatory

    Type

    Description

    db_name

    Yes

    String

    Specifies the database name.

    The database name contains 1 to 63 characters, including letters, digits, and underscores (_). It cannot start with pg or a digit, and must be different from RDS for PostgreSQL template library names.

    RDS for PostgreSQL template libraries include postgres, template0, and template1.

    users

    Yes

    Array of objects

    Specifies the account that associated with the database. A single request supports a maximum of 50 elements.

    For details on the element structure, see Table 3.

    Table 3 users field data structure description

    Name

    Mandatory

    Type

    Description

    name

    Yes

    String

    Specifies the username of the database account.

    The database account name contains 1 to 63 characters, including letters, digits, and underscores (_). It cannot start with pg or a digit and must be different from system user names.

    System users include rdsAdmin, rdsMetric, rdsBackup, rdsRepl, rdsProxy, and rdsDdm.

    readonly

    Yes

    Boolean

    Specifies the database account rights.

    • true: Read only
    • false: Read and write

    schema_name

    Yes

    String

    Specifies the schema name.

    The value cannot be empty and contains 1 to 63 characters, including letters, digits, and underscores (_). It cannot start with pg or a digit, and must be different from RDS for PostgreSQL template library names and existing schema names. This parameter is mandatory.

    RDS for PostgreSQL template libraries include postgres, template0, and template1.

  • Request example
    {"db_name": "rds_test",
        "users": [
            {
                "name": "rds",
                "readonly ": false,
                "schema_name": "teste123"
            },
            {
                "name": "rds001",
                "readonly": true,
                "schema_name":" teste123"
            },
           {
                "name": "rds002",
                "readonly ": false,
                " schema_name": " teste123"
            }
        ]
     }

Response

  • Normal response
    Table 4 Parameter description

    Name

    Type

    Description

    resp

    String

    Returns successful if the invoking is successful.

Status Code

For details, see Status Codes.

Error Code

For details, see Error Codes.