Updated on 2024-06-07 GMT+08:00

Querying Database Users

Function

This API is used to query database users for a specified DB instance.

  • Before calling an API, you need to understand the API in Authentication.

Constraints

  • This operation cannot be performed when the DB instance is in any of the following statuses: creating, changing instance class, changing port, frozen, or abnormal.
  • For any database and account created using methods other than the RDS console and APIs, if the database name and account name do not meet the database naming rules (see Table 2) and account naming rules (see Table 2), for example, containing Chinese characters or unsupported special characters, the database and account cannot be managed through the RDS console or APIs.
  • In migration scenarios, if any database name and account name of the source database do not meet the database naming rules (see Table 2) and account naming rules (see Table 2), the database and account cannot be managed through the RDS console or APIs after being migrated to the destination RDS for MySQL database.

URI

  • URI format

    GET /v3/{project_id}/instances/{instance_id}/db_user/detail?page={page}&limit={limit}

  • Parameter description
    Table 1 Parameter description

    Name

    Mandatory

    Description

    project_id

    Yes

    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.

    page

    Yes

    Specifies the page number. The value starts from 1.

    limit

    Yes

    Specifies the number of records on each page. The value range is from 1 (inclusive) to 100 (inclusive).

Request

  • Request parameters

    None

  • URI example

    GET https://{endpoint}/v3/0483b6b16e954cb88930a360d2c4e663/instances/f569f1358436479dbcba8603c32cc4aein03/db_user/detail?page=1&limit=10

Response

  • Normal response
    Table 2 Parameter description

    Name

    Type

    Description

    users

    Array of objects

    Each element in the list indicates a database account.

    For details, see Table 3.

    total_count

    Integer

    Indicates the total number of database users.

    Table 3 users element structure description

    Name

    Type

    Description

    name

    String

    Indicates the account name.

    attributes

    Object

    Indicates permission attributes of a user.

    For details, see Table 4.

    memberof

    Array of strings

    Indicates default rights of a user.

    Table 4 attributes element structure description

    Name

    Type

    Description

    rolsuper

    Boolean

    Indicates whether a user has the super user permission. The value is false.

    rolinherit

    Boolean

    Indicates whether a user automatically inherits the permissions of the role to which the user belongs. The value can be true or false.

    rolcreaterole

    Boolean

    Indicates whether a user can create other sub-users. The value can be true or false.

    rolcreatedb

    Boolean

    Indicates whether a user can create a database. The value can be true or false.

    rolcanlogin

    Boolean

    Indicates whether a user can log in to the database. The value can be true or false.

    rolconnlimit

    Integer

    Indicates the maximum number of concurrent connections to a DB instance. The value -1 indicates that there are no limitations on the number of concurrent connections.

    rolreplication

    Boolean

    Indicates whether the user is a replication role. The value can be true or false.

    rolbypassrls

    Boolean

    Indicates whether a user bypasses each row-level security policy. The value can be true or false.

  • Example normal response
    {
    "users": [
    {
      "name": "rdsuser",
      "attributes": {
        "rolsuper": false,
        "rolinherit": true,
        "rolcreaterole": true,
        "rolcreatedb": true,
        "rolcanlogin": true,
        "rolconnlimit": -1,
        "rolreplication": true,
        "rolbypassrls": false
       },
      "memberof": ["pg_monitor", "pg_read_all_stats", "pg_stat_scan_tables", "pg_signal_backend"]
    }, 
    {
      "name": "rdsuser1",
      "attributes": {
        "rolsuper": false,
        "rolinherit": true,
        "rolcreaterole": true,
        "rolcreatedb": true,
        "rolcanlogin": true,
        "rolconnlimit": -1,
        "rolreplication": true,
        "rolbypassrls": false
    },
      "memberof": []
    }],
    "total_count": 2
    }

Status Code

Error Code

For details, see Error Codes.