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

分配权限

功能描述

授予用户或角色权限。

语法格式

1
GRANT (privilege,...) ON (resource,..) TO ((ROLE [db_name].role_name) | (USER user_name)),...);

关键字

ROLE:限定后面的role_name是一个角色。

USER:限定后面的user_name是一个用户。

注意事项

  • privilege必须是可授权限中的一种。且如果赋权对象在resource或上一级resource上已经有对应权限时,则会赋权失败。Privilege支持的权限类型可参见数据权限列表
  • resource可以是queue、database、table、view、column,格式分别为:
    • queue的格式为:queues.queue_name

      queue支持的Privilege权限类型可以参考下表:

      操作

      说明

      DROP_QUEUE

      删除队列

      SUBMIT_JOB

      提交作业

      CANCEL_JOB

      终止作业

      RESTART

      重启队列

      SCALE_QUEUE

      扩缩容队列

      GRANT_PRIVILEGE

      队列的赋权

      REVOKE_PRIVILEGE

      队列权限的回收

      SHOW_PRIVILEGES

      查看其他用户具备的队列权限

    • database的格式为:databases.db_name

      database支持的Privilege权限类型可参见数据权限列表

    • table的格式为:databases.db_name.tables.table_name

      table支持的Privilege权限类型可参见数据权限列表

    • view的格式为:databases.db_name.tables.view_name

      view支持的Privilege权限类型和table一样,具体可以参考数据权限列表中table的权限列表描述。

    • column的格式为:databases.db_name.tables.table_name.columns.column_name

      column支持的Privilege权限类型仅为:SELECT

示例

给用户user_name1授予数据库db1的删除数据库权限。

1
GRANT DROP_DATABASE ON databases.db1 TO USER user_name1;

给用户user_name1授予数据库db1的表tb1的SELECT权限。

1
GRANT SELECT ON databases.db1.tables.tb1 TO USER user_name1;

给角色role_name授予数据库db1的表tb1的SELECT权限。

1
GRANT SELECT ON databases.db1.tables.tb1 TO ROLE role_name;