首页 云数据库 RDS API参考 API目录 账号 GrantAccountPrivilege - 授权账号访问数据库

GrantAccountPrivilege - 授权账号访问数据库

调用GrantAccountPrivilege接口授权账号访问数据库。

接口说明

一个账号可授权访问一个或多个数据库。调用该接口时,请确保实例状态为运行中,否则将操作失败。

说明该接口暂不支持SQL Server 2017集群版、PostgreSQL本地盘版。

调试

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

调试

授权信息

下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:

  • 操作:是指具体的权限点。
  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:
    • 对于必选的资源类型,用背景高亮的方式表示。
    • 对于不支持资源级授权的操作,用全部资源表示。
  • 条件关键字:是指云产品自身定义的条件关键字。
  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作访问级别资源类型条件关键字关联操作
rds:GrantAccountPrivilegeWRITE
  • RDS
    acs:rds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
  • rds:ResourceTag

请求参数

名称类型必填描述示例值
DBInstanceIdstring

实例ID。

rm-uf6wjk5xxxxxxxxxx
AccountNamestring

账号名称。

test1
DBNamestring

需要授权访问的数据库名称,多个数据库名称之间用英文逗号(,)分隔。

testDB1
AccountPrivilegestring

账号权限,填了多少个DBName值,就需要填多少个该参数值。取值含义:

  • ReadWrite:读写
  • ReadOnly:只读
  • DDLOnly:仅执行DDL
  • DMLOnly:只执行DML
  • DBOwner:数据库所有者
说明
  • MySQL和MariaDB可传入ReadWriteReadOnlyDDLOnlyDMLOnly
  • SQL Server可传入ReadWriteReadOnlyDBOwner
  • PostgreSQL云盘版可传入DBOwner
  • ReadWrite

    返回参数

    名称类型描述示例值
    object
    RequestIdstring

    请求ID。

    81BC9559-7B22-4B7F-B705-5F56DEECDEA7

    示例

    正常返回示例

    JSON格式

    {
      "RequestId": "81BC9559-7B22-4B7F-B705-5F56DEECDEA7"
    }

    错误码

    HTTP status code错误码错误信息描述
    400Account.UpdateErrorUpdate Account failed, please check your input value更新账户失败, 请检查请求参数,或实例参数策略配置
    400Database.ConnectErrorDatabase connect error. please check instance status and database processlist数据库连接异常,请检查实例状态及数据库的连接池
    400DbRestoringDatabase is in restoring state.数据库处于还原状态。
    400InvalidAccountPrivilege.MalformedSpecified account privilege is not valid.账号权限不足。
    400IncorrectAccountStatusCurrent account status does not support this operation.当前账号状态不支持此操作。
    400IncorrectAccountCurrent DB instance account does not support this operation.当前实例账号不支持此操作。
    400InvalidDBNameOrAccountPrivilegeAccount permissions and database names must correspond.账号权限和数据库名称必须对应
    403IncorrectDBInstanceTypeCurrent DB instance type does not support this operation.操作失败,该实例状态下不支持此操作。
    403IncorrectDBInstanceStateCurrent DB instance state does not support this operation.实例状态非运行中
    403IncorrectAccountTypeCurrent account type does not support this operation.当前账户类型不支持此操作,请选择正确的账户类型。
    403IncorrectAccountPrivilegeTypethe current account privilege type does not support this operation.当前账户权限类型不支持此操作
    403OperationDenied.AccountModeThe operation is not permitted due to account mode of instance.操作失败,当前实例的帐户模式不支持此操作。
    403IncorrectDBInstanceCharacterTypeCurrent DB Instance character_type does not support this operation.当前DB实例字符类型不支持此操作。
    404IncorrectDBInstanceLockModeCurrent DB instance lock mode does not support this operation.操作失败,实例处于锁定状态。
    404InvalidAccountName.NotFoundSpecified account name does not exist.当前账户名不存在,请确认或选择正确的账户名。

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

    变更历史

    变更时间变更内容概要操作
    2022-10-28OpenAPI 错误码发生变更
    变更项变更内容
    错误码OpenAPI 错误码发生变更
      错误码 400 变更
      新增错误码:403
      新增错误码:404
    2022-09-05OpenAPI 错误码发生变更
    变更项变更内容
    错误码OpenAPI 错误码发生变更
      错误码 400 变更
    2022-06-24OpenAPI 描述信息更新,OpenAPI 错误码发生变更
    变更项变更内容
    API 描述OpenAPI 描述信息更新
    错误码OpenAPI 错误码发生变更
      删除错误码:400
    阿里云首页 关系型数据库 相关技术圈