暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

人大金仓数据库三权分立经验总结

数据猿 2023-09-12
1073

1.概述

KingbaseES 安全版本支持将管理特权三权分立为三个管理员,并在初始化的时候创建数据库管理员、安全管理员和审计管理员。
KingbaseES 中,由于三权分立的约束,数据库管理员,安全管理员,审计管理员各自维护自己权限许可范围内的用户,不同目的的用户应由相应的管理员创建。
通过加载可选的 sso_update_user 插件可以满足某些特殊场景的三权分立需求,对管理员和安全员的权限做出进一步的划分。

2.三权分立特性实际操作

(1)初始化的时候创建数据库管理员、安全管理员和审计管理员。

--默认初始化后
TEST=# select * from sys_user; 

(2)数据库管理员创建新用户

TEST=# create user test1 with password '123456';
CREATE ROLE

(3)数据库管理员修改新用户

TEST=# alter user test1 with password '654321';
ALTER ROLE

(4)数据库管理员删除用户

TEST=# drop user test1 
DROP ROLE

(5)插件加强支持

  1. 加载插件 修改 kingbase.conf 文件中 shared_preload_libraries 参数后重启数据库,创建插件并切换用户为安全管理员 sso,打开插件开关。

  2. 参数配置 sso_update_user.sso_update_user_enable 默认为关闭状态。

  3. 卸载插件 修改 kingbase.conf 文件中 shared_preload_libraries 参数后重启数据库。

  4. 参数开关开启后限制

1)CREATE ROLE/USER: 系统管理员用户在创建普通用户时不可指定密码等选项。

2)ALTER ROLE/USER: 只有 sso 和普通用户本身可以更改普通用户的密码。

3)ALTER ROLE/USER: 系统管理员只能修改超级用户,或超级用户权限选项。

(6)sso和sao无法使用DDL,即无法创建,删除,修改对象和用户。

image.png

image.png

3.使用经验及注意事项

  1. CREATE sao 和 sso 不可以创建用户及普通对象

  2. ALTER sao 和 sso 不可以修改对象定义

3.DROP sao 和 sso 不可以删除对象

  1. ALTER USER/ROLE sao 和 sso 只可以修改自己的密码

  2. GRANT/REVOKE

a. sao 不可以进行授权操作

b. 不可以为 sao 和 sso 授权和撤权

c. 不允许其他用户成为 sao 和 sso 的成员

d. 不允许 sao 和 sso 成为其他用户的成员

  1. DROP USER/ROLE 依赖于是否有 CREATE ROLE 的权限,并且 sao 和 sso 不可以被删除。

  2. SHOW sao 和 sso 允许使用 SHOW 命令

  3. ALTER SYSTEM SET

a. 系统管理员和普通用户不可以修改审计和安全的参数

b. 审计员只可以修改审计参数

c. 安全员只可以修改安全参数

  1. SET/RESET sao 和 sso 不允许使用 SET/RESET 命令

4.与竞品差异点

差异点 Oracle Kingbase MySQL
1 用户管理分为sys system(管理员)\scott(普通用户) 系统管理员(system)\安全管理员(sso)\审计管理员(sao) 普通用户\超级管理员(root))
2 管理员负责所有权限,创建普通用户时为其分配权限。 三权分立 :系统管理员(system) --主要负责执行数据库日常管理的各种操作和自主存取控制。安全管理员(sso) – 主要负责强制访问规则的制定和管理,监督审计管理员和普通用户的操作,不能创建和操作普通对象。审计管理员(sao)–主要负责数据库的审计,监督系统管理员和安全管理员的操作,不能创建和操作普通对象。 管理员负责所有权限,可以为普通用户分配权限
3 管理员账户可以处理安全,审计,管理等所有操作。 需要切换对应管理员进行不同的管理操作 管理员账户可以处理安全,审计,管理等所有操作。

5.价值评价

KingbaseES 安全版本支持将管理特权三权分立为三个管理员,并在初始化的时候创建数据库管理员、安全管理 员和审计管理员。

KingbaseES 中,由于三权分立的约束,数据库管理员,安全管理员,审计管理员各自维护自己权限许可范围内的用户,不同目的的用户应由相应的管理员创建,避免了权利过度集中的问题。

三权分立堵住了以前滥用数据库超级用户特权的安全漏洞,进一步提高了数据库的整体安全性。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论