分析型数据库支持基于数据库表的层级权限管理模型,提供类似MySQL的ACL授权模式。一个ACL授权由被授权的用户、授权对象和授予的对象权限组成。
分析型数据库中的用户
如6.1所述,任何分析型数据库支持的账号类型均可视为一个用户。和MySQL略有不同的是,分析型数据库目前不支持针对用户在host上授权。
分析型数据库的权限对象和各对象权限
- | 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] | + | + | + | 以上所有权限 |
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
分析型数据库(AnalyticDB,原名MaxCompute)是阿里云提供的一种高并发、低延迟的在线分析处理(OLAP)服务,它支持灵活的数据分析和大规模数据处理。您提到的基于数据库表的层级权限管理模型,体现了AnalyticDB在安全性方面对细粒度访问控制的支持。下面我将根据您的描述,进一步解释分析型数据库中的用户权限管理机制:
权限管理遵循一个层次化的模型,从大到小依次为: 1. Database (数据库):可以授权整个数据库(db_name.*
)或默认数据库(*
),涉及权限如创建数据库、表或表组。 2. Table/ TableGroup (表/表组):针对特定表或表组进行权限设置,如查询、修改表结构等。 3. Column (列):最细粒度的权限控制,允许控制对特定列的操作。
SELECT
: 读取数据的权限。LOAD DATA
: 导入数据到表或分区的能力。DUMP DATA
: 导出表或分区数据的权限,需要同时具备SELECT
权限。DESCRIBE
: 查看数据库、表/表组的元数据信息。SHOW
: 列出数据库、表/表组内部的对象。ALTER
: 修改表或表组的结构。DROP
: 删除数据库、表/表组或分区。CREATE
: 创建数据库、表或表组。INSERT
: 插入数据的权限。DELETE
: 删除数据的权限。ALL [PRIVILEGES]
: 包含上述所有权限。SELECT
权限,但某些系统函数调用(如SELECT now()
)可能不需要查询特定表的权限。DUMP DATA
权限,还需要目标位置的数据写入权限,以及SELECT
权限来读取源数据。综上所述,AnalyticDB通过精细的权限管理体系,确保了数据的安全性和访问控制的灵活性,使得多用户环境下的数据分析更加安全可控。用户可以根据实际需求,为不同的团队成员或应用分配合适的权限,以实现高效且安全的数据操作。