Logo
权限管理

权限管理 #

集群生态工具的权限 #

SphereEx-Boot 的权限 #

SphereEx-Boot 无权限控制。

SphereEx-Console 的权限 #

角色权限说明

角色权限作用域操作说明
超级管理员全部权限系统管理员、用户、集群Console 用户管理用户名称:admin,console内置,登录后可修改密码
系统管理员全部权限用户、集群Console 用户管理由超级管理员创建
普通用户指定集群的权限集群Console 用户管理由超级管理员或系统管理员创建

SphereEx-Console 访问组件的权限

组件/资源
说明
主机ssh登录权限,安装目录有
数据库在 SphereEx-Console 中使用监控中心监控 db 需要在 db 所在的主机安装监控插件,监控插件访问数据库需要额外分配用户。
创建用户参考:
create user ‘[mysql_monitor_user_name]’@’[监控插件部署的IP]’ identified by ‘[password]’ [with max_user_connections N];
grant process,replication client,select on . to ‘[mysql_monitor_user_name]’@’[监控插件部署的IP]’;
flush privileges;
治理中心
监控中心
日志中心

功能列表

功能说明
新建用户在 SphereEx-Console 平台中添加用户
修改密码修改集群信息
权限管理管理集群参数
删除删除 SphereEx-Console 平台中的用户
  • 新建用户

适用场景

创建 SphereEx-Console 管理用户。

注意事项

拥有超级管理员或系统管理员权限。

操作步骤

  1. 登录 SphereEx-Console。
  2. 点击 首页右上角头像->用户管理 进入用户列表。
  3. 点击右上角 添加用户,进入添加用户页面。
  4. 填写信息,具体参数见下表。
字段数据来源选填/必填数据存储长度限制说明
用户用户输入必填console mysql存储32用户列表校验唯一性
密码用户输入必填console mysql存储6-16位数字 字母 下划线,
确认密码用户输入必填console mysql存储
角色下拉选择必填console mysql存储系统管理员
集群权限下拉选择选填console mysql存储【角色】为【普通管理员】时出现
可选集群无权限的集群列表选填console mysql存储
已选集群已有权限的集群列表选填console mysql存储
  1. 点击 确定,完成用户添加。
  • 修改密码

适用场景

修改 SphereEx-Console 的用户密码。

注意事项

如下为不同角色的用户可修改密码的范围。

角色可修改的范围
超级管理员自身、系统管理员、普通管理员
系统管理员自身、普通管理员
普通管理员自身

操作步骤

  1. 登录 SphereEx-Console。
  2. 点击首页右上角头像->用户管理 进入用户列表。
  3. 点击操作列 修改密码 按钮,进入修改密码页面。
  4. 填写信息,具体参数见下表。
字段数据来源选填/必填数据存储长度限制元件说明
用户自动填充必填console mysql存储32文本框不可编辑
新密码用户输入必填console mysql存储6-16位文本框数字 字母 下划线,
确认密码用户输入必填console mysql存储文本框与新密码一致
  1. 点击 确定,完成用户添加。
  • 权限管理

适用场景

修改 SphereEx-Console 的用户密码

注意事项

管理普通用户的集群权限,角色不能修改,用户权限被修改后,需要重新登录才能刷新权限。

操作步骤

  1. 登录 SphereEx-Console。
  2. 点击 首页右上角头像->用户管理 进入用户列表。
  3. 点击操作列 权限管理 按钮,进入权限管理页面。
  4. 填写信息,具体参数见下表。
字段数据来源选填/必填长度限制说明
用户用户输入必填32用户列表校验唯一性
集群权限下拉选择选填【角色】为【普通管理员】时出现
可选集群无权限的集群列表选填
已选集群已有权限的集群列表选填
  1. 点击 确定,完成权限调整。
  • 删除

适用场景

删除系统管理员或普通管理员。

注意事项

删除用户,如下为不同角色的用户可删除用户的范围:

角色可删除的用户范围
超级管理员系统管理员、普通管理员
系统管理员普通管理员

操作步骤

  1. 登录 SphereEx-Console。
  2. 点击 首页右上角头像->用户管理 进入用户列表。
  3. 点击操作列 删除 按钮。
  4. 提示框中点击 确定,完成用户的删除。

集群组件的权限 #

访问组件的权限:

组件名称组件本身的权限集群访问使用组件的权限SphereEx-Console访问组件的权限监控插件访问组件
主机ssh登录权限,安装目有读写权限ssh登录权限,安装目有读写权限
数据库依据用户使用底层db的权限依据用户使用底层db的权限创建用户参考: create user ‘[mysql_monitor_user_name]’@’[监控插件部署的IP]’ identified by ‘[password]’ [with max_user_connections N];
治理中心
监控中心
日志中心

集群权限 #

集群权限管理,即计算节点的权限管理。

角色职能作用域操作说明
超级用户 (root)最高权限集群DistSQL必须配置,不可删除,可修改口令。修改后写入治理中心,不回写本地文件
- 第一次使用本地文件启动,明文有风险
普通用户/角色对象级权限逻辑库DistSQL在逻辑库中限制对象的增删改查权限

权限分级 #

DBPlusEngine-Proxy 权限的分级与标准数据库权限类似,同样拥有全局权限、库级对象权限、表级对象权限、列级对象权限。

DBPlusEngine-Proxy 权限授权项由 操作 + 操作对象 组成,其组合方式如下。

授权项
SELECTINSERTUPDATEDELETECREATEDROPALTERINDEXCREATE_USERSUPER
全局权限✔️✔️✔️✔️✔️✔️✔️✔️✔️✔️
对象权限/库✔️✔️✔️✔️✔️✔️✔️✔️//
对象权限/表✔️✔️✔️✔️✔️✔️✔️✔️//
对象权限/列✔️✔️✔️///////
授权项
CREATEALTERDROPSHOW
STORAGE UNIT✔️✔️✔️✔️
SHARDING✔️✔️✔️✔️
READWRITE_SPLITTING✔️✔️✔️✔️
ENCRYPT✔️✔️✔️✔️
DB_DISCOVERY✔️✔️✔️✔️
SHADOW✔️✔️✔️✔️
SINGLE_TABLE✔️✔️✔️✔️
  • 全局权限

全局权限,是指用户获得的授权不区分目标对象,用户可对任意的逻辑库、逻辑表执行对应操作。

例如,以下指令将全局的 INSERT、SELECT、UPDATE 和 DELETE 权限赋予用户 ‘sharding’@’%’,则该用户能够对任何逻辑库中的表执行 DML 操作。

-- 以下两个语句等效
GRANT DIST INSERT,SELECT,UPDATE,DELETE TO 'sharding'@'%';
GRANT DIST INSERT,SELECT,UPDATE,DELETE TO sharding;

例如,以下指令将全局的 SHOW SHARDING 权限赋予用户 ‘sharding’@’%’,则该用户能够对任何逻辑库中的分片规则执行 SHOW 操作。

GRANT DIST SHOW SHARDING TO 'sharding'@'%';

另外,因为 DistSQL 授权项较多,对于一次授予多个授权项时,可以使用语法类型作为授权项。例如,以下指令将所有操作对象全局的 SHOW 权限赋予用户 ‘sharding’@’%’,则该用户能够对任何逻辑库中的任何操作对象执行 SHOW 操作。

GRANT DIST RQL SHARDING TO 'sharding'@'%';

需要注意的是,全局权限包含两项特殊权限:CREATE_USER 和 SUPER。

其中,获得 CREATE_USER 授权的用户,可执行以下操作:

操作说明
CREATE USER创建用户
ALTER USER修改用户
DROP USER删除用户
CREATE ROLE创建角色
DROP ROLE删除角色
REVOKE ALL PRIVILEGES撤销用户或角色的全部授权

SUPER 代表的是数据库系统的最高权限,默认情况下,ShardingSphere 启动前配置的初始用户拥有 SUPER 授权。

  • 对象权限

对象权限,指授予的权限受作用范围限制,用户不可在授权范围之外执行相应操作。

对象权限的作用范围可以是所有逻辑库,也可以指定单个或多个逻辑库及库中的表和列。

例如,以下指令将逻辑库 sharding_db 中 t_order 表的所有权限授予用户 ‘sharding’@’%’,此后该用户可以对 sharding_db.t_order 表执行操作。但若无额外授权,该用户不能操作 sharding_db 中的其它表。

GRANT DIST ALL ON sharding_db.t_order TO sharding;

例如,以下指令将逻辑库 sharding_db 中分片规则 t_order 的创建和修改权限授予用户 ‘sharding’@’%’,此后该用户可以对 sharding_db.t_order 规则执行创建和修改操作。但若无额外授权,该用户不能操作 sharding_db 中的其它规则。

GRANT DIST CREATE SHARDING, ALTER SHARDING ON sharding_db.t_order TO 'sharding'@'%';

DistSQL 清单 #

参考 DistSQL 用户管理