
# 设置数据库用户权限 - SetDatabaseUserPrivilege
#### 功能介绍
设置数据库用户读写权限：只读或可读可写。
- 调用接口前，您需要了解API[认证鉴权](https://support.huaweicloud.com/api-rds/rds_03_0001.html)。
- 调用接口前，您需要了解[请求Header参数说明](https://support.huaweicloud.com/api-rds/rds_03_0005.html#rds_03_0005__section479119143310)。
 
#### 调试
您可以在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/RDS/doc?api=SetDatabaseUserPrivilege)中调试该接口。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-rds/rds_10_0005.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
 
| 授权项                         | 访问级别 | 资源类型（\*为必须） | 条件键                                                                           | 别名 | 依赖的授权项 |
|:---|:---|:---|:---|:---|:---|
| rds:databasePrivilege:grant | -    | -           | g:EnterpriseProjectId g:ResourceTag/\<tag-key\> | -  | -      |
   
#### 接口约束
实例在创建、变更规格、修改端口、冻结、异常等状态下不能执行该操作。
#### URI
- URI格式 POST /v3/{project_id}/instances/{*instance_id*}/user-privilege
  

- 参数说明
  表1参数说明 
  | 名称          | 是否必选 | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
  |:---|:---|:---|
  | project_id  | 是    | **参数解释：** 租户在某一region下的project ID。 获取方法请参见[获取项目ID](https://support.huaweicloud.com/api-rds/rds_03_0002.html)。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                 |
  | instance_id | 是    | **参数解释：** 实例ID。 可调用[查询数据库实例列表](https://support.huaweicloud.com/api-rds/rds_01_0004.html)接口，通过[表4](https://support.huaweicloud.com/api-rds/rds_01_0004.html#rds_01_0004__table2058713718267)中的"id"获取。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。 |
     
  
 
#### 请求消息
表2参数说明 
| 名称        | 是否必选 | 参数类型    | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
|:---|:---|:---|:---|
| all_users | 是    | Boolean | **参数解释**： 是否设置全部数据库用户。 **约束限制**： 不涉及。 **取值范围**： - true：设置全部数据库用户读写权限，忽略user_name参数。  - false：单独设置user_name用户读写权限。   **默认取值**： 不涉及。 |
| user_name | 否    | String  | **参数解释**： 数据库用户名称。 **约束限制**： 单独设置user_name用户权限时需要填写该参数。 **取值范围**： 该参数值可调用[查询数据库用户列表](https://support.huaweicloud.com/api-rds/rds_11_0007.html)接口，通过[表3](https://support.huaweicloud.com/api-rds/rds_11_0007.html#rds_11_0007__table944417166471)中的"name"获取。 **默认取值**： 不涉及。                                                                                                                               |
| readonly  | 是    | Boolean | **参数解释**： 是否为只读权限。 **约束限制**： 不涉及。 **取值范围**： - true：只读。  - false：可读可写。   **默认取值**： 不涉及。                                   |
   
#### 请求示例
- 设置全部数据库用户只读。
  ```
  POST https://{endpoint}/v3/0483b6b16e954cb88930a360d2c4e663/instances/f569f1358436479dbcba8603c32cc4aein03/user-privilege
  {
      "all_users": true,
      "readonly": true
  }
  ```
  

- 设置全部数据库用户可读可写。
  ```
  {
      "all_users": true,
      "readonly": false
  }
  ```
  
- 设置单个数据库用户只读。
  ```
  {
      "all_users": false,
      "user_name": "test1234",
      "readonly": true
  }
  ```
  
- 设置单个数据库用户可读可写
  ```
  {
      "all_users": false,
      "user_name": "test1234",
      "readonly": false
  }
  ```
  
 
#### 响应消息
- 正常响应要素说明 无。
  

- 正常响应样例 无。
  
- 异常响应 请参见[异常响应结果](https://support.huaweicloud.com/api-rds/rds_01_0010.html)。
  
 
#### 状态码
- 正常 200
  
- 异常 请参见[状态码](https://support.huaweicloud.com/api-rds/rds_10_0200.html)。
  
 
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-rds/rds_10_0201.html)。
