GaussDB(DWS) 数据库安全设置之三权分立
【摘要】 为了保护集群数据的安全,GaussDB(DWS)支持对集群设置三权分立(系统管理员、安全管理员、审计管理员),使用不同类型的用户分别控制不同权限的模式。
GaussDB(DWS)创建集群时默认用户是SYSADMIN属性的系统管理员,具备系统最高权限。
在实际业务管理中,为了避免系统管理员拥有过度集中的权利带来高风险,可以设置三权分立,将系统管理员的权限分立给安全管理员和审计管理员。
三权分立后,系统管理员将不再具有CREATEROLE属性(安全管理员)和AUDITADMIN属性(审计管理员)能力。即不再拥有创建角色和用户的权限,并不再拥有查看和维护数据库审计日志的权限。关于CREATEROLE属性和AUDITADMIN属性的更多信息请参考 CREATE ROLE。
默认的用户权限
对象名称 | 系统管理员 | 安全管理员 | 审计管理员 | 普通用户 |
表空间 | 对表空间有创建、修改、删除、访问、分配操作的权限。 | 不具有对表空间进行创建、修改、删除、分配的权限,访问需要被赋权。 | ||
表 | 对所有表有所有的权限。 | 仅对自己的表有所有的权限,对其他用户的表无权限。 | ||
索引 | 可以在所有的表上建立索引。 | 仅可以在自己的表上建立索引。 | ||
模式 | 对所有模式有所有的权限。 | 仅对自己的模式有所有的权限,对其他用户的模式无权限。 | ||
函数 | 对所有的函数有所有的权限。 | 仅对自己的函数有所有的权限,对其他用户放在public这个公共模式下的函数有调用的权限,对其他用户放在其他模式下的函数无权限。 | ||
自定义视图 | 对所有的视图有所有的权限。 | 仅对自己的视图有所有的权限,对其他用户的视图无权限。 | ||
系统表和系统视图 | 可以查看所有系统表和视图。 | 只可以查看部分系统表和视图。详细请参见系统表和系统视图。 |
三权分立的权限最小化设置将数据库安全提升一个档次。
如何实现三权分立的设置,请看如下:
1、在数据仓库服务界面创建集群后,单击集群名称,进入集群详情,在详情页签中点击“安全设置”。
2、进入“安全设置”,呈现设置界面。
3、打开“三权分立”开关,可进行设置安全管理员及审计管理员用户名及密码(默认系统管理员在创建集群时已设定)。
4、设置完成后,对于审计配置建议进行设置,审计也是数据库运行过程的关键日志。
审计保留策略建议“时间优先”,最长可保留730天,再根据实际需要将越权访问、DML、DDL等分别设置,数据仓库服务还提供的审计日志转储OBS的功能,设置转储的OBS桶及路径,在转储周期内将生成审计日志文件,直接放在您的OBS桶中,方便查看。
5、设置完后,点击应用,成功后即可连接数据库查看三权分立的效果。
审计查询命令是数据库提供的sql函数pg_query_audit,其原型为:
pg_query_audit(timestamptz startime,timestamptz endtime,audit_log)
参数startime和endtime分别表示审计记录的开始时间和结束时间,audit_log表示所查看的审计日志信息所在的物理文件路径,当不指定audit_log时,默认查看连接当前实例的审计日志信息。
通过sql函数pgxc_query_audit可以查询所有CN节点的审计日志,其原型为:
pgxc_query_audit(timestamptz startime,timestamptz endtime)
说明:
startime和endtime的差值代表要查询的时间段,其有效值为从startime日期中的00:00:00开始到endtime日期中的23:59:59之间的任何值。请正确指定这两个参数,否则将查不到需要的审计信息。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
热门文章
评论(0)