数据权限列表
DLI中SQL语句与数据库、表、角色相关的权限矩阵如表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(查看建表语句)