用户与权限概述
标准安全模式
默认情况下,KaiwuDB 未开启三权分立。启动 KaiwuDB 之后,系统自动生成具有 admin
角色的超级管理员和 root 用户。默认情况下,root 用户具有 admin
角色。超级管理员拥有系统的最高权限,能够执行所有的操作。
KaiwuDB 支持对数据库和表在内的数据库对象的访问和操作权限进行管理,从而确保数据库安全性。下表列出非三权分立模式下 KaiwuDB 支持的权限。
说明
SCHEMA、VIEW、SEQUENCE、INDEX 只适用于关系数据库。
操作 | 权限 | 操作对象 | 说明 | 角色 |
---|---|---|---|---|
ALL | - DATABASE - SCHEMA - TABLE - VIEW - SEQUENCE - FUNCTION - SCHEDULE - INDEX | 对指定数据库对象执行所有操作。 | 超级管理员 | |
CREATE | CREATE | - DATABASE - SCHEMA - VIEW - SEQUENCE - FUNCTION - SCHEDULE - INDEX - AUDIT | 创建新对象。 | - 超级管理员 - 有权限的用户 |
CREATEROLE | - ROLE - USER | 创建新对象。 | - 超级管理员 - 有权限的用户 | |
ALTER | - DATABASE - SCHEMA - VIEW - SEQUENCE - FUNCTION - SCHEDULE - INDEX - AUDIT | 删除指定对象。 | - 超级管理员 - 有权限的用户 | |
CREATEROLE | - ROLE - USER | 修改指定对象。 | - 超级管理员 - 有权限的用户 | |
DROP | DROP | - DATABASE - SCHEMA - TABLE - VIEW - SEQUENCE - FUNCTION - SCHEDULE - INDEX - AUDIT | 删除指定对象。 | - 超级管理员 - 有权限的用户 |
CREATEROLE | - ROLE - USER | 删除指定对象。 | - 超级管理员 - 有权限的用户 | |
SELECT | SELECT | - TABLE - VIEW | 对指定数据表执行查询操作。 | - 超级管理员 - 有权限的用户 |
INSERT | INSERT | TABLE | 对指定数据表执行数据插入操作。 | - 超级管理员 - 有权限的用户 |
DELETE | DELETE | TABLE | 删除指定数据表。 | - 超级管理员 - 有权限的用户 |
UPDATE | UPDATE | TABLE | 更新指定数据表。 | - 超级管理员 - 有权限的用户 |
GRANT | - ROLE - USER | 管理成员。 | - 超级管理员 - 有权限的用户 | |
GRANT/REVOKE | GRANT | - DATABASE - TABLE - SCHEMA | 授予指定用户特定权限。 | - 超级管理员 - 有权限的用户 |
SET | - | CLUSTER SETTING | 设置集群参数。 | 超级管理员 |
IMPORT | - | - DATABASE - TABLE | 导入/还原数据库数据。 | 超级管理员 |
EXPORT | - | - DATABASE - TABLE | 导出/备份数据库数据。 | 超级管理员 |
PAUSE | - | SCEHDULE | 暂停已创建的定时任务。 | - 超级管理员 - 有权限的用户 |
RESUME | - | SCEHDULE | 恢复已暂停的定时任务。 | - 超级管理员 - 有权限的用户 |
三权分立模式
为了避免超级管理员拥有过度集中的权利带来高风险,KaiwuDB 支持设置三权分立模式。默认情况下,KaiwuDB 不开启三权分立模式。用户可以使用以下命令开启三权分立模式。有关详细信息,参见集群实时参数。
SET CLUSTER SETTING security.separation_of_duty.enabled = 'true';
三权分立模式下,KaiwuDB 不再支持具有 admin
角色的超级管理员和 root 用户的登录和操作,而是将用户划分为相互独立、相互约束的系统管理员、安全管理员和审计管理员以及普通用户。启动 KaiwuDB 之后,系统自动生成系统管理员、安全管理员和审计管理员及其用户成员。
类别 | 角色 | 用户 | 说明 |
---|---|---|---|
系统管理员 | sysadmin | sysroot | 负责系统运行维护,拥有创建、修改、删除对象定义;创建、修改、删除角色、用户;设置与安全和审计无关的系统参数以及备份还原相关的权限。sysroot 用户默认具有 sysadmin 的管理选项。 |
安全管理员 | secadmin | secroot | 负责运行配置管理、安全策略配置,以及用户和安全审计管理员操作行为日志的审查分析。secroot 用户默认具有 secadmin 的管理选项。 |
审计管理员 | auditadmin | auditroot | 对系统管理员、安全管理员的操作进行审计、跟踪、分析。auditroot 用户默认具有 auditadmin 的管理选项。 |
用户 | 负责操作和查看业务数据。 |
一个用户不能同时属于两种及以上的三权分立管理员角色类型的成员。各管理员账户不得具有用户业务权限。具有业务权限的普通用户不能成为三权管理员角色成员。没有业务权限的普通用户可以同时拥有多个没有业务权限的普通角色以及成为三权管理员角色的成员。
下表列出在三权分立模式下各管理员以及具有相关权限的普通用户支持的操作和权限。
说明
SCHEMA、VIEW、SEQUENCE、INDEX 只适用于关系数据库。
操作 | 权限 | 操作对象 | 说明 | 角色 | 备注 |
---|---|---|---|---|---|
CREATE | CREATE | - DATABASE - FUNCTION - SCHEDULE | 创建新对象。 | 系统管理员 | |
CREATE | - SCHEMA - TABLE - VIEW - SEQUENCE - INDEX | 创建新对象。 | - 系统管理员 - 有权限的普通用户 | ||
CREATEROLE | - ROLE - USER | 创建角色/用户。 | - 系统管理员 - 有权限的普通用户 | 系统管理员由安全管理员授权 CREATEROLE 权限后,才能创建用户/角色。有关详细信息,参见授予权限。 | |
- | AUDIT | 创建审计策略。 | 安全管理员 | ||
ALTER | ALTER | - DATABASE - SCHEDULE | 修改指定对象。 | 系统管理员 | |
ALTER | - TABLE - VIEW - SEQUENCE - INDEX | 修改指定对象。 | - 系统管理员 - 有权限的普通用户 | ||
CREATEROLE | - ROLE - USER | 修改角色/用户。 | - 安全管理员 - 系统管理员 - 有权限的普通用户 | 系统管理员由安全管理员授权 CREATEROLE 权限后,才能修改用户/角色。有关详细信息,参见授予权限。 | |
- | AUDIT | 修改审计策略。 | 安全管理员 | ||
DROP | DROP | - DATABASE - SCHEMA - TABLE - VIEW - SEQUENCE - INDEX | 删除指定对象。 | - 系统管理员 - 有权限的普通用户 | |
DROP | - FUNCTION - SCHEDULE | 删除指定对象。 | 系统管理员 | ||
CREATEROLE | - ROLE - USER | 删除角色/用户。 | - 系统管理员 - 有权限的普通用户 | 系统管理员由安全管理员授权 CREATEROLE 权限后,才能删除用户/角色。有关详细信息,参见授予权限。 | |
- | AUDIT | 安全管理员 | |||
SELECT | SELECT | - TABLE - VIEW | 查询数据。 | 有权限的普通用户 | |
- | FUNCTION | 查询函数。 | 所有用户 | ||
INSERT | INSERT | TABLE | 对指定数据表执行数据插入操作。 | 有权限的普通用户 | |
DELETE | DELETE | TABLE | 删除指定数据表。 | 有权限的普通用户 | |
UPDATE | UPDATE | TABLE | 更新指定数据表。 | 有权限的普通用户 | |
GRANT/REVOKE | GRANT | - ROLE - USER | 管理成员。 | - 安全管理员 - 系统管理员 - 有权限的普通用户 | |
GRANT/REVOKE | GRANT | - DTABASE - TABLE - VIEW | 设置用户权限。 | - 系统管理员 - 有权限的普通用户 | |
SET | - | CLUSTER SETTING | 审计开关、强制访问控制开关等与安全和审计相关的集群配置。 | 安全管理员 | |
- | CLUSTER SETTING | 与安全和审计无关的集群配置。 | 系统管理员 | ||
IMPORT | - | - DATABASE - TABLE | 导入/还原数据库数据。 | 系统管理员 | |
EXPORT | - | - DATABASE - TABLE | 导出/备份数据库数据。 | 系统管理员 | |
PAUSE | - | SCEHDULE | 暂停已创建的定时任务。 | 系统管理员 | |
RESUME | - | SCEHDULE | 恢复已暂停的定时任务。 | 系统管理员 |