# 修改数据库账号权限 - ChangingPermissionsforaDatabaseAccount
#### 功能介绍
修改Redis数据库账号权限。
#### 接口约束
- 只支持GeminiDB Redis接口。
- 实例在创建、变更规格、修改端口、异常状态或冻结状态下不能执行该操作。
 
#### 调试
您可以在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/GaussDBforNoSQL/doc?api=ModifyDbUserPrivilege)中调试该接口，支持自动认证鉴权。API Explorer可以自动生成SDK代码示例，并提供SDK代码示例调试功能。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-nosql/nosql_05_0023.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
  
  | 授权项                              | 访问级别 | 资源类型（\*为必须） | 条件键                                                                                                                                                                           | 别名                     | 依赖的授权项 |
  |:---|:---|:---|:---|:---|:---|
  | gaussdbfornosql:instance:updateDbUserPrivilege | Write                | instance \*               | - g:ResourceTag/\<tag-key\>  - g:EnterpriseProjectId   | nosql:instance:modifyDbUserPrivilege | -    |
     
  
 
#### URI
PUT /v3/{project_id}/redis/instances/{instance_id}/db-users/privilege
表1路径参数 
| 参数            | 是否必选 | 参数类型  | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
|:---|:---|:---|:---|
| project_id    | 是      | String | **参数解释：** 租户在某一region下的project ID。获取方法请参见[获取项目ID](https://support.huaweicloud.com/api-nosql/nosql_projectid.html)。 **约束限制：** 不涉及。 **取值范围：** 长度为32个字符，仅由英文字母和数字组成。 **默认取值：** 不涉及。 |
| instance_id | 是    | String  | **参数解释：** 实例ID。可以调用[查询实例列表和详情 - QueryingInstancesandDetails](https://support.huaweicloud.com/api-nosql/nosql_05_0016.html)接口获取。如果未申请实例，可以调用[创建实例 - CreatinganInstance](https://support.huaweicloud.com/api-nosql/nosql_05_0014.html)接口创建。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。          |
   
#### 请求参数
表2请求Header参数 
| 参数             | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | **参数解释：** 用户Token。 通过调用IAM服务[获取用户Token](https://support.huaweicloud.com/api-iam/iam_30_0001.html)接口获取。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。 |
   
表3请求Body参数 
| 参数   | 是否必选 | 参数类型                                                     | 描述                                                                                                                                                                             |
|:---|:---|:---|:---|
| users | 否      | Array of [表4] objects | **参数解释：** 需要修改权限的数据库账号列表，数组元素为[表4]对象 **约束限制：** 不涉及。 |
   
 表4ModifyDbUserPrivilegeRequestBody 
| 参数         | 是否必选 | 参数类型             | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
|:---|:---|:---|:---|
| name       | 是    | String            | **参数解释：** 账号名称。 **约束限制：** 不涉及。 **取值范围：** 小于36个字符，以字母开头，仅包含数字、字母、中划线、下划线。 **默认取值：** 不涉及。                                                                                                                                               |
| privilege  | 是      | String           | **参数解释：** 账号权限。 **约束限制：** 不涉及。 **取值范围：** - ReadOnly：账号为只读权限。  - ReadWrite：账号为读写权限。   **默认取值：** 不涉及。 |
| databases | 否    | Array of strings | **参数解释：** 账号授权的数据库名称列表。 **约束限制：** 不传值则对账号授权的db不做修改。                                                                                                                                                                                                                                                                                                       |
   
#### 响应参数
**状态码： 202**
表5响应Body参数 
| 参数      | 参数类型     | 描述                                                                                                                           |
|:---|:---|:---|
| job_id | String | **参数解释：** 任务ID。 **取值范围：** 不涉及。 |
   
#### 请求示例
修改2个数据库账号权限。将test1账号权限修改为只读，数据库名称列表修改为\[ "1", "2" \]，将test2账号权限修改为读写，数据库名称列表修改为\[ "3", "4" \]。
```
PUT https://{endpoint}/v3/054e292c9880d4992f02c0196d3ea468/redis/instances/3d39c18788b54a919bab633874c159dfin12/db-users/privilege
 
{
  "users" : [ { 
    "name" : "test1", 
    "privilege" : "ReadOnly", 
    "databases" : [ "1", "2" ] 
  }, { 
    "name" : "test2", 
    "privilege" : "ReadWrite", 
    "databases" : [ "3", "4" ] 
  } ] 
}
```
#### 响应示例
**状态码： 202**
Accepted.
```
{ 
  "job_id" : "f85104b5-4a9c-4e0f-9505-fc5409d8f7ae" 
}
```
#### 状态码
请参见[状态码](https://support.huaweicloud.com/api-nosql/nosql_status_code.html)。
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-nosql/nosql_error_code.html)。
