更新时间:2022-12-07 GMT+08:00

数据赋权(用户)

功能介绍

该API用于将数据库或数据表的数据权限赋给指定的其他用户。

URI

  • URI格式:

    PUT /v1.0/{project_id}/user-authorization

  • 参数说明
    表1 URI参数

    参数名称

    是否必选

    参数类型

    说明

    project_id

    String

    项目编号,用于资源隔离。获取方式请参考获取项目ID

请求消息

表2 请求参数

参数名称

是否必选

参数类型

说明

user_name

String

被赋权的用户名称,该用户将有权访问指定的数据库或数据表,被收回或者更新访问权限。

action

String

指定赋权或回收。值为:grant,revoke或update。

  • grant:赋权。
  • revoke:回收权限。
  • update:清空原来的所有权限,赋予本次提供的权限数组中的权限。
说明:

当用户同时拥有grant和revoke权限的时候才有权限使用update操作。

privileges

Array of Objects

赋权信息。具体参数请参考表3

表3 privileges参数

参数名称

是否必选

参数类型

说明

object

String

被赋权的数据对象,命名方式为:

  • “databases.数据库名”,数据库下面的所有数据都将被共享。
  • “databases.数据库名.tables.表名”,指定的表的数据将被共享。
  • “databases.数据库名.tables.表名.columns.列名”,指定的列将被共享。
  • “jobs.flink.flink作业ID”,指定的作业将被共享。
  • “groups.程序包组名”,指定的程序包组将被共享。
  • “resources.程序包名”,指定程序包将被共享。

privileges

Array of Strings

待赋权,回收或更新的权限列表。

说明:

“action”“update”,更新列表为空,则表示回收用户在该数据库或表的所有权限。

响应消息

表4 响应参数

参数名称

是否必选

参数类型

说明

is_success

Boolean

执行请求是否成功。“true”表示请求执行成功。

message

String

系统提示信息,执行成功时,信息可能为空。

请求示例

{
  "user_name": "user2",
  "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"
      ]
    }
  ]
}

响应示例

{
  "is_success": true,
  "message": "" 
}

状态码

状态码如表5所示。

表5 状态码

状态码

描述

200

授权成功。

400

请求错误。

500

内部服务器错误。

错误码

调用接口出错后,将不会返回上述结果,而是返回错误码和错误信息,更多介绍请参见错误码