GaussDB(DWS)创建集群时默认用户是SYSADMIN属性的系统管理员,具备系统最高权限。

在实际业务管理中,为了避免系统管理员拥有过度集中的权利带来高风险,可以设置三权分立,将系统管理员的权限分立给安全管理员和审计管理员。

三权分立后,系统管理员将不再具有CREATEROLE属性(安全管理员)和AUDITADMIN属性(审计管理员)能力。即不再拥有创建角色和用户的权限,并不再拥有查看和维护数据库审计日志的权限。关于CREATEROLE属性和AUDITADMIN属性的更多信息请参考 CREATE ROLE。

默认的用户权限

对象名称

系统管理员

安全管理员

审计管理员

普通用户

表空间

对表空间有创建、修改、删除、访问、分配操作的权限。

不具有对表空间进行创建、修改、删除、分配的权限,访问需要被赋权。

对所有表有所有的权限。

仅对自己的表有所有的权限,对其他用户的表无权限。

索引

可以在所有的表上建立索引。

仅可以在自己的表上建立索引。

模式

对所有模式有所有的权限。

仅对自己的模式有所有的权限,对其他用户的模式无权限。

函数

对所有的函数有所有的权限。

仅对自己的函数有所有的权限,对其他用户放在public这个公共模式下的函数有调用的权限,对其他用户放在其他模式下的函数无权限。

自定义视图

对所有的视图有所有的权限。

仅对自己的视图有所有的权限,对其他用户的视图无权限。

系统表和系统视图

可以查看所有系统表和视图。

只可以查看部分系统表和视图。详细请参见系统表和系统视图。

三权分立的权限最小化设置将数据库安全提升一个档次。

如何实现三权分立的设置,请看如下:

1、在数据仓库服务界面创建集群后,单击集群名称,进入集群详情,在详情页签中点击“安全设置”。

2、进入“安全设置”,呈现设置界面。

b119ff86a7200f8efa77429347356a38.png

3、打开“三权分立”开关,可进行设置安全管理员及审计管理员用户名及密码(默认系统管理员在创建集群时已设定)。

2dae8ed6a9e1a3e65414bc077316ba60.png

4、设置完成后,对于审计配置建议进行设置,审计也是数据库运行过程的关键日志。

0c142eb702a39b51f868fe0d5e48711b.png

审计保留策略建议“时间优先”,最长可保留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之间的任何值。请正确指定这两个参数,否则将查不到需要的审计信息。

92b90f0a72e01a39a0221055ef851b46.png

Logo

一站式 AI 云服务平台

更多推荐