MatrixOne 权限分类

本篇文章主要介绍 MatrixOne 中的权限分类。

MatrixOne 的访问控制权限分为系统权限对象权限,在授予角色权限时可做参考。

系统权限

系统权限为集群管理员(默认用户名为 root)的权限,它可以初始化所拥有的权限。集群管理员可以创建、删除其他租户,并管理租户;集群管理员不能管理其他租户下的其他资源。

权限含义
CREATE ACCOUNT创建租户,仅集群管理员拥有
DROP ACCOUNT删除租户,仅集群管理员拥有
ALTER ACCOUNT管理租户资源,仅集群管理员拥有

对象权限

对象权限可以按照赋权的对象细分为租户权限用户权限角色权限数据库权限表权限发布订阅权限

租户权限

拥有租户权限的对象可以拥有以下权限:

权限含义
CREATE USER创建用户
DROP USER删除用户
ALTER USER修改用户
CREATE ROLE创建角色
DROP ROLE删除角色
CREATE DATABASE创建数据库
DROP DATABASE删除数据库
SHOW DATABASES查看当前租户下所有数据库
CONNECT允许使用 use [database | role],可执行不涉及具体对象的 SELECT
MANAGE GRANTS权限管理。包括角色授权、角色继承的权限
ALL [PRIVILEGES]Account 的所有权限
OWNERSHIPAccount 的所有权限,可以通过 WITH GRANT OPTION 设置权限

用户权限

拥有用户权限的对象可以拥有以下权限:

权限含义
Ownership管理用户所有的权限,包括修改用户信息、密码、删除用户,且可以将这些权限传递给其他角色。

角色权限

拥有角色权限的对象可以拥有以下权限:

权限含义
Ownership管理角色的所有权限,包括修改角色名称、描述、删除角色,且可以将这些权限传递给其他角色。

数据库权限

拥有数据库权限的对象可以拥有以下权限:

权限含义
SHOW TABLES查看当前数据库下所有表
CREATE TABLE建表权限
DROP TABLE删表权限
CREATE VIEW创建视图权限,无对应权限时创建视图无法查询
DROP VIEW删除视图
ALTER TABLE修改表权限
ALTER VIEW修改视图权限,无对应权限时无法修改视图
ALL [PRIVILEGES]数据库的所有权限
OWNERSHIP数据库的所有权限,附加 WITH GRANT OPTION

表权限

拥有表权限的对象可以拥有以下权限:

权限含义
SELECT对表执行 SELECT 命令
INSERT对表执行 INSERT 命令
UPDATE对表执行 UPDATE 命令
TRUNCATE对表执行 TRUNCATE TABLE 命令
DELETE对表执行 DELETE 命令
REFERENCE允许将表引用为外键约束的唯一/主键表。通过 DESCRIBESHOW 命令查看表的结构
INDEX创建删除 INDEX
ALL指定表的所有权限
OWNERSHIP指定表的所有权限,附加 WITH GRANT OPTION

表执行权限

拥有表执行权限的对象可以拥有以下权限:

权限含义
EXECUTE允许执行函数或存储过程的权限

发布订阅权限

在 MatrixOne 中,发布订阅是对 MatrixOne 中指定数据库发起的数据共享访问。

Note: 当前 MatrixOne 中仅支持 moadminaccountadmin 角色才可以进行发布订阅操作。

  • 发布端

发布端,即发布共享、同步数据的一方。

权限含义
CREATE PUBLICATION创建发布
ALTER PUBLICATION修改发布
DROP PUBLICATION删除发布
SHOW PUBLICATION查看发布
SHOW CREATE PUBLICATION查看创建发布语句
  • 订阅端

订阅端,即获取已共享、同步数据的一方。

权限含义
CREATE DATABASE db_name FROM account_name PUBLICATION创建订阅
SHOW SUBSCRIPTIONS查看订阅