调用DescribeAccounts接口查询实例的账号信息。

说明 该接口暂不支持SQL Server 2017集群版实例。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

请求参数

名称 类型 是否必选 示例值 描述
Action String DescribeAccounts

系统规定参数。取值:DescribeAccounts

DBInstanceId String rm-uf6wjk5*****

实例ID。

说明 暂不支持SQL Server 2017集群版实例。
AccountName String test1

数据库账号名称。

PageSize Integer 30

每页记录数,取值:30~200。默认值:30

PageNumber Integer 1

页码。默认值:1。取值为大于0且不超过Integer的最大值。

返回数据

名称 类型 示例值 描述
SystemAdminAccountStatus String True

超级权限账号是否启用。

SystemAdminAccountFirstActivationTime String 2020-02-06T11:00:00Z

超级权限账号首次启用时间。格式:yyyy-MM-ddTHH:mm:ssZ(UTC时间)。

PageNumber Integer 1

页码。

RequestId String A2E94301-D07F-4457-9B49-6AA2BB388C85

请求ID。

TotalRecordCount Integer 1

总记录数。

Accounts Array of DBInstanceAccount

账号信息列表。

DBInstanceAccount
AccountStatus String Available

账号状态,返回值如下:

  • Unavailable:不可用
  • Available:可用
AccountDescription String 测试数据库账号

账号描述。

DBInstanceId String rm-uf6wjk5*****

账号所属实例ID。

PrivExceeded String 0

账号管理的数据库是否超过最大数量限制,返回值如下:

  • 1:是
  • 0:否
AccountType String Normal

账号类型,返回值如下:

  • Normal:普通账号
  • Super:高权限账号
  • Sysadmin:具备超级权限(SA)的账号
AccountName String test1

数据库账号名称。

DatabasePrivileges Array of DatabasePrivilege

账号拥有的数据库权限列表。

DatabasePrivilege
DBName String test1

数据库名称。

AccountPrivilege String ReadWrite

账号的权限类型,返回值如下:

  • ReadWrite:读写
  • ReadOnly:只读
  • DDLOnly:仅DDL
  • DMLOnly:只DML
  • Custom:自定义(可以通过SQL命令修改)
AccountPrivilegeDetail String SELECT,INSERT

账号权限类型对应的具体权限。请参见账号权限列表

ValidUntil String 2022-10-01T00:00:00Z

密码失效时间,返回值如下:

  • infinity:永不过期。
  • 返回为:未设置。
  • 返回实际密码失效时间。例如:2022-10-01T00:00:00Z,格式为:yyyy-MM-ddTHH:mm:ssZ(UTC时间)
说明 仅PostgreSQL实例返回该参数。
CreateDB String t

是否拥有创建数据库权限,返回值如下:

  • t:是
  • f:否
说明 仅PostgreSQL实例返回该参数。
Replication String t

是否拥有复制权限,返回值如下:

  • t:是
  • f:否
说明 仅PostgreSQL实例返回该参数。
CreateRole String t

是否拥有创建角色权限,返回值如下:

  • t:是
  • f:否
说明 仅PostgreSQL实例返回该参数。
BypassRLS String f

是否拥有安全策略RLS权限,返回值如下:

  • t:是
  • f:否
说明 仅PostgreSQL实例返回该参数。

示例

请求示例

http(s)://rds.aliyuncs.com/?Action=DescribeAccounts
&DBInstanceId=rm-uf6wjk5*****
&<公共请求参数>

正常返回示例

XML格式

HTTP/1.1 200 OK
Content-Type:application/xml

<DescribeAccountsResponse>
    <Accounts>
        <DBInstanceAccount>
            <DatabasePrivileges>
                <DatabasePrivilege>
                    <AccountPrivilege>ReadWrite</AccountPrivilege>
                    <AccountPrivilegeDetail>SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,REFERENCES,INDEX,ALTER,CREATE TEMPORARY TABLES,LOCK TABLES,CREATE VIEW,SHOW VIEW,CREATE ROUTINE,ALTER ROUTINE,EXECUTE,EVENT,TRIGGER</AccountPrivilegeDetail>
                    <DBName>testdb</DBName>
                </DatabasePrivilege>
            </DatabasePrivileges>
            <AccountStatus>Available</AccountStatus>
            <AccountDescription/>
            <DBInstanceId>rm-uf6wjk5*****</DBInstanceId>
            <AccountName>testacc02</AccountName>
            <PrivExceeded>0</PrivExceeded>
            <AccountType>Normal</AccountType>
        </DBInstanceAccount>
    </Accounts>
    <RequestId>A2E94301-D07F-4457-9B49-6AA2BB388C85</RequestId>
</DescribeAccountsResponse>

JSON格式

HTTP/1.1 200 OK
Content-Type:application/json

{
  "Accounts" : {
    "DBInstanceAccount" : {
      "DatabasePrivileges" : {
        "DatabasePrivilege" : {
          "AccountPrivilege" : "ReadWrite",
          "AccountPrivilegeDetail" : "SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,REFERENCES,INDEX,ALTER,CREATE TEMPORARY TABLES,LOCK TABLES,CREATE VIEW,SHOW VIEW,CREATE ROUTINE,ALTER ROUTINE,EXECUTE,EVENT,TRIGGER",
          "DBName" : "testdb"
        }
      },
      "AccountStatus" : "Available",
      "AccountDescription" : "",
      "DBInstanceId" : "rm-uf6wjk5*****",
      "AccountName" : "testacc02",
      "PrivExceeded" : 0,
      "AccountType" : "Normal"
    }
  },
  "RequestId" : "A2E94301-D07F-4457-9B49-6AA2BB388C85"
}

错误码

HttpCode 错误码 错误信息 描述
400 IO.Exception IO exception, retry later. io异常。
400 Database.ConnectError Database connect error. please check instance status and database processlist 数据库连接异常,请检查实例状态及数据库的连接池
400 Account.QueryError Query Account failed, please check your input value 查询账户失败, 请检查请求参数

访问错误中心查看更多错误码。