开发者社区> 问答> 正文

分析型数据库权限模型是什么?


分析型数据库支持基于数据库表的层级权限管理模型,提供类似MySQL的ACL授权模式。一个ACL授权由被授权的用户、授权对象和授予的对象权限组成。

分析型数据库中的用户


如6.1所述,任何分析型数据库支持的账号类型均可视为一个用户。和MySQL略有不同的是,分析型数据库目前不支持针对用户在host上授权。

分析型数据库的权限对象和各对象权限

  • Database,即 db_name.* 或 * (默认数据库),指定数据库或数据库上所有表/表组
  • Table,即 db_name.table_name 或 table_name ,指特定表
  • TableGroup,即 db_name.table_group_name 或table_group_name ,指特定表组
  • Column,语法上由 column_list 和 Table 组成,指定表的特定列
  • 聚合: Database -> Table[Group] -> Column,即每个权限级别能聚合其下面级别的所有权限
  • 在 Database 级别上,某个权限实际可能包含多个权限,例如 GRANT CREATE ON *.*同时包含创建数据库和创建表的权限
-DatabaseTable 或 TableGroupColumn说明
SELECT+++查询数据
LOAD DATA++-导入表(分区)数据
DUMP DATA++-导出表(分区)数据
DESCRIBE++-查看数据库、表/表组信息(Global、Database)、查看表/表组信息(Table[Group])
SHOW++-列出数据库、表/表组内部对象(Global、Database)、列出表内部对象(Table[Group])
ALTER++-修改表/表组定义
DROP++-删除数据库、表/表组或分区(Global、Database)、删除表/表组或分区(Table[Group])
CREATE+--创建数据库、表/表组或分区(Global)、创建表/表组(Database)
INSERT++-执行Insert的权限
DELETE++-执行Delete的权限
ALL [PRIVILEGES]+++以上所有权限


查询数据的权限

  • 查询表数据需要 SELECT 权限,最小级别是列
  • 并非所有查询都需要该权限,例如 SELECT now()


导出数据的权限

  • 导出数据同时需要 DUMP DATA 和 SELECT 权限
  • 同时需要数据导出目的地的数据写入相关权限

展开
收起
nicenelly 2017-10-31 13:32:18 1863 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
DTCC 2022大会集锦《云原生一站式数据库技术与实践》 立即下载
阿里云瑶池数据库精要2022版 立即下载
2022 DTCC-阿里云一站式数据库上云最佳实践 立即下载