
# 授权数据库账号 - ConfiguringPermissionsofDatabaseAccounts
#### 功能介绍
在指定实例的数据库中, 设置账号的权限。
- 调用接口前，您需要了解API [认证鉴权](https://support.huaweicloud.com/api-gaussdb/gaussdb_api_011.html)。
- 调用接口前，您需要提前获取到[地区和终端节点](https://developer.huaweicloud.com/endpoint)。
 
#### 约束限制
- 实例在创建、变更规格、冻结、异常等状态下不能执行该操作。
- 创建的只读用户对public模式默认具有create和usage权限。
- 同一schema不能同时授权。
 
#### 调试
您可以在[API Explorer](https://apiexplorer.developer.huaweicloud.com/apiexplorer/doc?product=GaussDBforopenGauss&api=AllowDbPrivileges)中调试该接口。
#### URI
POST /v3/{project_id}/instances/{instance_id}/db-privilege
表1参数说明 
| 名称          | 是否必选 | 参数类型   | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
|:---|:---|:---|:---|
| project_id  | 是    | String | **参数解释：** 租户在某一Region下的项目ID。 获取方法请参见[获取项目ID](https://support.huaweicloud.com/api-gaussdb/gaussdb_api_196.html)。 **约束限制：** 不涉及。 **取值范围：** 只能由英文字母、数字组成，且长度为32个字符。 **默认取值**： 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| instance_id | 是    | String | **参数解释：** 实例ID，此参数是用户创建实例的唯一标识。请参考[查询数据库实例列表 - QueryingDBInstances](https://support.huaweicloud.com/api-gaussdb/gaussdb_api_328.html)接口获取实例ID。 **约束限制：** 不涉及。 **取值范围：** 只能由英文字母、数字组成，且长度为36个字符。 **默认取值** **：** 不涉及。 |
   
#### 请求消息
表2请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | **参数解释：** 用户Token。 通过调用IAM服务[获取用户Token](https://support.huaweicloud.com/api-iam/iam_30_0001.html)接口获取。 请求响应成功后在响应消息头中包含的"X-Subject-Token"的值即为Token值。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值** **：** 不涉及。 |
| X-Language   | 否    | String | **参数解释：** 指定接口返回信息的语言类型。 **约束限制：** 不涉及。 **取值范围：** - **zh-cn**：中文  - **en-us**：英文   **默认取值** **：** **en-us**                     |
   
表3参数说明 
| 名称      | 是否必选 | 参数类型             | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
|:---|:---|:---|:---|
| db_name | 是    | String           | **参数解释：** 数据库名称。 **约束限制：** 不能使用模板库，且是已存在的数据库名称。 模板库包括postgres， template0 ，template1。 **取值范围：** 字符串长度1～63个字符，由字母、数字或下划线组成。 **默认取值：** 不涉及。 |
| users   | 是    | Array of objects | **参数解释：** 每个元素都是与数据库相关联的账号。详情请参见[表4]。 **约束限制：** 单次请求最多支持50个元素。                                                                                                                                                                                                                                                                     |
   
 表4users字段数据结构说明 
| 名称          | 是否必选 | 参数类型    | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
|:---|:---|:---|:---|
| name        | 是    | String  | **参数解释：** 数据库账号名称。 **约束限制：** 不能使用系统用户，且账号名称必须存在。 系统用户包括"rdsAdmin","rdsMetric", "rdsBackup", "rdsRepl", "root"。 **取值范围：** 字符串长度1～63个字符，由字母、数字或下划线组成。 **默认取值：** 不涉及。                                                                        |
| readonly    | 是    | Boolean | **参数解释：** 数据库账号权限。 **约束限制：** 不涉及。 **取值范围：** - true：只读。  - false：可读可写。   **默认取值：** 不涉及。 |
| schema_name | 是    | String  | **参数解释：** schema名称。 **约束限制：** 不能使用public，information_schema，且schema名称必须存在。 **取值范围：** 字符串长度1～63个字符，由字母、数字或下划线组成。 **默认取值：** 不涉及。                                                                                                                                                           |
   
#### 请求示例
设置gaussdb_test数据库多个账号的权限。
```
POST https://gaussdb-opengauss.cn-north-1.myhuaweicloud.com/v3/0483b6b16e954cb88930a360d2c4e663/instances/{instance_id}/db-privilege
{ 
  "db_name" : "gaussdb_test", 
  "users" : [ { 
    "name" : "rds", 
    "readonly" : false, 
    "schema_name" : "teste123" 
  }, { 
    "name" : "rds001", 
    "readonly" : true, 
    "schema_name" : "teste134" 
  }, { 
    "name" : "rds002", 
    "readonly" : false, 
    "schema_name" : "teste135" 
  } ] 
}
```
#### 响应示例
无。
#### 状态码
- 正常 200
  
- 异常 请参见[状态码](https://support.huaweicloud.com/api-gaussdb/gaussdb_api_194.html)。
  
 
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-gaussdb/gaussdb_api_195.html)。
