更新时间:2022-02-22 GMT+08:00

数据权限列表

DLI中SQL语句与数据库、表、角色相关的权限矩阵如表1所示。

表1 权限矩阵

分类

SQL语句

权限

说明

Database

DROP DATABASE db1

database.db1的DROP_DATABASE权限

-

CREATE TABLE tb1(...)

database.db1的CREATE_TABLE权限

-

CREATE VIEW v1

database.db1的CREATE_VIEW权限

-

EXPLAIN query

database.db1的EXPLAIN权限

query需要其相应的权限。

Table

SHOW CREATE TABLE tb1

database.db1.tables.tb1的SHOW_CREATE_TABLE权限

-

DESCRIBE [EXTENDED|FORMATTED] tb1

databases.db1.tables.tb1的DESCRIBE_TABLE权限

-

DROP TABLE [IF EXISTS] tb1

database.db1.tables.tb1的DROP_TABLE权限

-

SELECT * FROM tb1

database.db1.tables.tb1的SELECT权限

-

SELECT count(*) FROM tb1

database.db1.tables.tb1的SELECT权限

-

SELECT * FROM view1

database.db1.tables.view1的SELECT权限

-

SELECT count(*) FROM view1

database.db1.tables.view1的SELECT权限

-

LOAD DLI TABLE

database.db1.tables.tb1的INSERT_INTO_TABLE权限

-

INSERT INTO TABLE

database.db1.tables.tb1的INSERT_INTO_TABLE权限

-

INSERT OVERWRITE TABLE

database.db1.tables.tb1的INSERT_OVERWRITE_TABLE权限

-

ALTER TABLE ADD COLUMNS

database.db1.tables.tb1的ALTER_TABLE_ADD_COLUMNS权限

-

ALTER TABLE RENAME

database.db1.tables.tb1的ALTER_TABLE_RENAME权限

-

ROLE&PRIVILEGE

CREATE ROLE

db的CREATE_ROLE权限

-

DROP ROLE

db的DROP_ROLE权限

-

SHOW ROLES

db的SHOW_ROLES权限

-

GRANT ROLES

db的GRANT_ROLE权限

-

REVOKE ROLES

db的REVOKE_ROLE权限

-

GRANT PRIVILEGE

db或table的GRANT_PRIVILEGE权限

-

REVOKE PRIVILEGE

db或table的REVOKE_PRIVILEGE权限

-

SHOW GRANT

db或table的SHOW_GRANT权限

-

Privilege在进行数据库和表赋权或回收权限时,DLI支持的权限类型如下所示。

  • DATABASE上可赋权/回收的权限:
    • DROP_DATABASE(删除数据库)
    • CREATE_TABLE(创建表)
    • CREATE_VIEW(创建视图)
    • EXPLAIN(将SQL语句解释为执行计划)
    • CREATE_ROLE(创建角色)
    • DROP_ROLE(删除角色)
    • SHOW_ROLES(显示角色)
    • GRANT_ROLE(绑定角色)
    • REVOKE_ROLE(解除角色绑定)
    • DESCRIBE_TABLE(描述表)
    • DROP_TABLE(删除表)
    • SELECT(查询表)
    • INSERT_INTO_TABLE(插入)
    • INSERT_OVERWRITE_TABLE(重写)
    • GRANT_PRIVILEGE(数据库的赋权)
    • REVOKE_PRIVILEGE(数据库权限的回收)
    • SHOW_PRIVILEGES(查看其他用户具备的数据库权限)
    • ALTER_TABLE_ADD_PARTITION(在分区表中添加分区)
    • ALTER_TABLE_DROP_PARTITION(删除分区表的分区)
    • ALTER_TABLE_RENAME_PARTITION(重命名表分区)
    • ALTER_TABLE_RECOVER_PARTITION(恢复表分区)
    • ALTER_TABLE_SET_LOCATION(设置分区的路径)
    • SHOW_PARTITIONS(显示所有分区)
    • SHOW_CREATE_TABLE(查看建表语句)
  • TABLE上可以赋权/回收的权限:
    • DESCRIBE_TABLE(描述表)
    • DROP_TABLE(删除表)
    • SELECT(查询表)
    • INSERT_INTO_TABLE(插入)
    • INSERT_OVERWRITE_TABLE(重写)
    • GRANT_PRIVILEGE(表的赋权)
    • REVOKE_PRIVILEGE(表权限的回收)
    • SHOW_PRIVILEGES(查看其他用户具备的表权限)
    • ALTER_TABLE_ADD_COLUMNS(增加列)
    • ALTER_TABLE_RENAME(重命名表)
    • ALTER_TABLE_ADD_PARTITION(在分区表中添加分区)
    • ALTER_TABLE_DROP_PARTITION(删除分区表的分区)
    • ALTER_TABLE_RENAME_PARTITION(重命名表分区)
    • ALTER_TABLE_RECOVER_PARTITION(恢复表分区)
    • ALTER_TABLE_SET_LOCATION(设置分区的路径)
    • SHOW_PARTITIONS(显示所有分区)
    • SHOW_CREATE_TABLE(查看建表语句)