数据赋权(用户或项目)
功能介绍
该API用于将数据库或数据表的数据权限赋给指定的其他用户或项目。
被赋权用户所在用户组的所属区域需具有Tenant Guest权限。
赋权给项目时,只可以赋权给相同租户下的相同区域的项目。
URI
- URI格式:
- 参数说明
表1 URI参数 参数名称
是否必选
参数类型
说明
project_id
是
String
项目编号,用于资源隔离。获取方式请参考获取项目ID。
请求消息
参数 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
user_name |
否 |
String |
被赋权的用户名称,该用户将有权访问指定的数据库或数据表,被收回或者更新访问权限。 |
grant_project_id |
否 |
String |
被赋权的项目ID,数据赋权给其他项目后,该项目的管理员将有权访问指定的数据库或数据表。 |
action |
是 |
String |
指定赋权或回收。
说明:
当用户同时拥有grant和revoke权限的时候才有权限使用update操作。 |
privileges |
是 |
Array of objects |
赋权信息。具体参数请参考表3。 |
参数 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
object |
是 |
String |
被赋权的数据对象,命名方式为:
|
privileges |
是 |
Array of strings |
待赋权,回收或更新的权限列表。
说明:
若“action”为“update”,更新列表为空,则表示回收用户在该数据库或表的所有权限。 |
响应消息
参数名称 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
is_success |
否 |
Boolean |
执行请求是否成功。“true”表示请求执行成功。 |
message |
否 |
String |
系统提示信息,执行成功时,信息可能为空。 |
请求示例
- 赋予某项目(项目ID:0732e57c728025922f04c01273686950)数据库db1的查询权限、数据表db1.tbl的删除权限、数据表指定列db1.tbl.column1的查询权限。
{ "grant_project_id": "0732e57c728025922f04c01273686950", "action": "grant", "privileges": [ { "object": "databases.db1.tables.tb2.columns.column1", "privileges": ["SELECT"] }, { "object": "databases.db1.tables.tbl", "privileges": ["DROP_TABLE"] }, { "object": "databases.db1", "privileges": ["SELECT"] } ] }
- 赋予某用户dlitest的数据库dbtest的查询数据权限。
{ "action": "grant", "privileges": [ { "object": "databases.dbtest", "privileges": [ "SELECT" ] } ], "user_name": "dlitest" }
响应示例
{ "is_success": true, "message": "" }
错误码
调用接口出错后,将不会返回上述结果,而是返回错误码和错误信息,更多介绍请参见错误码。