授权数据库角色
功能介绍
在指定实例的数据库中, 设置角色的权限。
约束限制
- 实例在创建、变更规格、冻结、异常等状态下不能执行该操作。
- 创建的只读用户对public模式默认具有create和usage权限。
- 该接口只支持单个角色授权。
- 该接口不支持M兼容模式授权。
调试
您可以在API Explorer中调试该接口。
URI
POST https://{
Endpoint
}/v3.1/{project_id}/instances/{instance_id}/db-privilege
表1 参数说明
参数
是否必选
参数类型
描述
project_id
是
String
参数解释:
租户在某一Region下的项目ID。
获取方法请参见获取项目ID。
约束限制:
不涉及。
取值范围:
只能由英文字母、数字组成,且长度为32个字符。
默认取值:
不涉及。
instance_id
是
String
实例ID。
请求消息
表2 参数说明
名称
是否必选
参数类型
说明
db_name
是
String
数据库名称。
不能使用模板库,且是已存在的数据库名称。
模板库包括postgres, template0 ,template1。
user
是
Object
角色权限信息。详情请参见表表3 user字段数据结构说明。
表3 user字段数据结构说明
名称
是否必选
参数类型
说明
name
是
String
数据库角色名称。
不能使用系统用户或角色,且名称必须存在。
系统用户/角色包括“rdsAdmin”,“rdsMetric”, “rdsBackup”, “rdsRepl”, “root”。
readonly
是
Boolean
数据库权限。
- true:只读。
- false:可读可写。
schema
是
String
SCHEMA名称。
不能和模板库以及系统内schema重名,且schema名称必须存在。 模板库包括postgres, template0 ,template1, 系统内schema包括public,information_schema。
default_privilege_grantee
否
String
数据库用户/角色名称。
该字段的含义是将此用户/角色的权限授予给name字段指定的角色,通过readonly字段判断是否授予只读权限。
不能和系统用户/角色名称相同,且用户/角色名称必须存在,系统用户/角色包括“rdsAdmin”,“ rdsMetric”, “rdsBackup”, “rdsRepl”, “root”。
请求示例
设置数据库角色权限。
POST https://gaussdb-opengauss.cn-north-1.myhuaweicloud.com/v3.1/0483b6b16e954cb88930a360d2c4e663/instances/{instance_id}/db-privilege
{
"db_name" : "gaussdb_test",
"user" : {
"name" : "rds",
"schema" : "rds001",
"readonly" : false ,
"default_privilege_grantee": ""
}
}
响应示例
无。
状态码
-
正常
200
-
异常
请参见状态码。
错误码
请参见错误码。