全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网
分析型数据库

6.2 分析型数据库权限模型

更新时间:2017-06-07 13:26:11

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

分析型数据库中的用户

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

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

  • Database,即 db_name.** (默认数据库),指定数据库或数据库上所有表/表组
  • Table,即 db_name.table_nametable_name ,指特定表
  • TableGroup,即 db_name.table_group_nametable_group_name ,指特定表组
  • Column,语法上由 column_listTable 组成,指定表的特定列
  • 聚合: Database -> Table[Group] -> Column,即每个权限级别能聚合其下面级别的所有权限
  • 在 Database 级别上,某个权限实际可能包含多个权限,例如 GRANT CREATE ON *.* 同时包含创建数据库和创建表的权限
- Database Table 或 TableGroup Column 说明
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 DATASELECT 权限
  • 同时需要数据导出目的地的数据写入相关权限
本文导读目录