数据权限列表
权限矩阵
平台中SQL语句与数据库、表、角色相关的权限矩阵如表2所示。
| 授权类型 | LakeFormation权限类型 | 权限说明 |
|---|---|---|
| database | ALL | 数据库的所有操作权限。 |
| ALTER | 修改数据库。 | |
| DROP | 删除数据库。 | |
| DESCRIBE | 查看数据库的元数据信息或切换数据库。 | |
| LIST_TABLE | 查看数据库下资源列表。 | |
| LIST_FUNC | 查看某一数据库下的函数。 | |
| CREATE_TABLE | 在数据库中创建表。 | |
| CREATE_FUNC | 在数据库中创建函数。 | |
| table | ALL | 表的所有操作权限。 |
| ALTER | 修改表。 | |
| DROP | 删除表。 | |
| DESCRIBE | 查看表的元数据信息。 | |
| UPDATE | 更新表数据。 | |
| INSERT | 插入表数据。 | |
| SELECT | 查询表内数据。 | |
| DELETE | 删除表的数据。 | |
| column | SELECT | 查询表内的列数据。 |
| function | ALL | 函数的所有操作权限。 |
| ALTER | 修改函数。 | |
| DROP | 删除函数。 | |
| DESCRIBE | 查看函数的元数据信息。 | |
| EXEC | 执行函数。 |
| 分类 | SQL语句 | 所需权限 |
|---|---|---|
| Database | DROP DATABASE db1 | db1的DROP权限。 |
| CREATE TABLE tb1(...) | db1下的CREATE_TABLE权限。 | |
| CREATE VIEW v1 | db1下的CREATE_VIEW权限。 | |
| Table | SHOW CREATE TABLE tb1 | tb1的DESCRIBE权限。 |
| DESCRIBE [EXTENDED|FORMATTED] tb1 | tb1的DESCRIBE权限。 | |
| DROP TABLE [IF EXISTS] tb1 | tb1的DROP权限。 | |
| SELECT count(*) FROM tb1 | tb1的SELECT权限。 | |
| SELECT * FROM view1 | view1的SELECT权限。 | |
| SELECT count(*) FROM view1 | view1的SELECT权限。 | |
| LOAD DATA TABLE | tb1的INSERT权限。 | |
| INSERT INTO TABLE | tb1的INSERT权限。 | |
| INSERT OVERWRITE TABLE | tb1的INSERT权限。 | |
| ALTER TABLE ADD COLUMNS | tb1的ALTER权限。 | |
| ALTER TABLE RENAME | tb1的ALTER权限。 | |
| column | SELECT user_id FROM db.users; | db.users表中user_id列的SELECT权限。 |
| function | ALTER FUNCTION db.calc_tax RENAME TO db.calc_tax_v2; | db下calc_tax函数的ALTER权限。 |
| function | DROP FUNCTION IF EXISTS db.calc_tax; | db下calc_tax函数的DROP权限。 |
| function | DESCRIBE FUNCTION EXTENDED db.calc_tax; | db下calc_tax函数的DESCRIBE 权限。 |
| function | SELECT db.calc_tax("xxx"); | db下calc_tax函数的SELECT权限。 |
注意事项
- 权限操作本质是通过平台管理的API实现,而非直接在Spark SQL引擎中执行GRANT/REVOKE语句来实现。
- 同一数据库下的表和视图共享权限命名空间。
- 具有GRANT_PRIVILEGE权限的用户可以为其他用户赋权。
- 具有REVOKE_PRIVILEGE权限的用户可以回收其他用户的权限。