更新时间:2024-08-20 GMT+08:00

授权数据库账号

功能介绍

在指定实例的数据库中, 设置账号的权限。

约束限制

  • 实例在创建、变更规格、冻结、异常等状态下不能执行该操作。
  • 创建的只读用户对public模式默认具有create和usage权限。
  • 同一schema不能同时授权。

URI

POST https://{Endpoint}/v3/{project_id}/instances/{instance_id}/db-privilege

表1 参数说明

名称

是否必选

说明

project_id

参数解释:

租户在某一Region下的项目ID。

获取方法请参见获取项目ID

约束限制:

不涉及。

取值范围:

只能由英文字母、数字组成,且长度为32个字符。

默认取值

不涉及。

instance_id

实例ID。

请求消息

表2 参数说明

名称

是否必选

参数类型

说明

db_name

String

数据库名称。

不能使用模板库,且是已存在的数据库名称。

模板库包括postgres, template0 ,template1。

users

Array of objects

每个元素都是与数据库相关联的账号。单次请求最多支持50个元素。详情请参见表3

表3 users字段数据结构说明

名称

是否必选

参数类型

说明

name

String

数据库账号名称。

不能使用系统用户,且账号名称必须存在。

系统用户包括“rdsAdmin”,“rdsMetric”, “rdsBackup”, “rdsRepl”, “root”。

readonly

Boolean

数据库账号权限。

  • true:只读。
  • false:可读可写。

schema_name

String

schema名称。

不能使用public,information_schema,且schema名称必须存在。

请求示例

设置gaussdb_test数据库多个账号的权限。
POST https://gaussdb-opengauss.ap-southeast-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" 
  } ] 
}

响应示例

无。

状态码

错误码

请参见错误码