首页 > 其他分享 >openGauss 三权分立

openGauss 三权分立

时间:2024-04-30 10:59:14浏览次数:20  
标签:三权分立 用户 模式 管理员 视图 openGauss 权限

三权分立

默认权限机制管理员两节的描述基于的是数据库创建之初的默认情况。从前面的介绍可以看出,默认情况下拥有SYSADMIN属性的系统管理员,具备系统最高权限。

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

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

三权分立后,系统管理员只会对自己作为所有者的对象有权限。

初始用户的权限不受三权分立设置影响。因此建议仅将此初始用户作为DBA管理用途,而非业务应用。

三权分立的设置办法为:将参数enableSeparationOfDuty设置为on。

三权分立前的权限详情及三权分立后的权限变化,请分别参见表1表2

表 1 默认的用户权限

对象名称

初始用户(id为10)

系统管理员

安全管理员

审计管理员

普通用户

表空间

具有除私有用户表对象访问权限外,所有的权限。

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

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

对所有表有所有的权限。

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

索引

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

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

模式

对除dbe_perf以外的所有模式有所有的权限。

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

函数

对除dbe_perf模式下的函数以外的所有的函数有所有的权限。

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

自定义视图

对除dbe_perf模式下的视图以外的所有的视图有所有的权限。

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

系统表和系统视图

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

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

表 2 三权分立较非三权分立权限变化说明

对象名称

初始用户(id为10)

系统管理员

安全管理员

审计管理员

普通用户

表空间

无变化。

依然具有除私有用户表对象访问权限外,所有的权限。

无变化。

无变化。

权限缩小。

只对自己的表及其他用户放在public模式下的表有所有的权限,对其他用户放在属于各自模式下的表无权限。

无变化。

索引

权限缩小。

只可以在自己的表及其他用户放在public模式下的表上建立索引。

无变化。

模式

权限缩小。

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

无变化。

函数

权限缩小。

只对自己的函数及其他用户放在public模式下的函数有所有的权限,对其他用户放在属于各自模式下的函数无权限。

无变化。

自定义视图

权限缩小。

只对自己的视图及其他用户放在public模式下的视图有所有的权限,对其他用户放在属于各自模式下的视图无权限。

无变化。

系统表和系统视图

无变化。

无变化。

须知:
PG_STATISTIC系统表和PG_STATISTIC_EXT系统表存储了统计对象的一些敏感信息,如高频值MCV。进行三权分立后系统管理员仍可以通过访问这两张系统表,得到统计信息里的这些信息。

详情查看:https://opengauss.org

详情查看:https://docs-opengauss.osinfra.cn

标签:三权分立,用户,模式,管理员,视图,openGauss,权限
From: https://www.cnblogs.com/techbing/p/18167352

相关文章

  • openGauss 配置文件参考
    配置文件参考表1参数说明参数名称描述取值范围local表示这条记录只接受通过Unix域套接字进行的连接。没有这种类型的记录,就不允许Unix域套接字的连接。只有在从服务器本机使用gsql连接且在不指定-h参数的情况下,才是通过Unix域套接字连接。-host表示这条记......
  • openGauss 其他操作
    其他操作创建和管理schema创建和管理表创建和管理分区表创建和管理索引创建和管理视图创建和管理序列详情查看:https://opengauss.org详情查看:https://docs-opengauss.osinfra.cn......
  • openGauss 配置客户端接入认证
    配置客户端接入认证背景信息如果主机需要远程连接数据库,必须在数据库系统的配置文件中增加此主机的信息,并且进行客户端接入认证。配置文件(默认名称为pg_hba.conf)存放在数据库的数据目录里。hba(host-basedauthentication)表示是基于主机的认证。本产品支持如下三种认证方式,这......
  • openGauss 内存表特性
    内存表特性MOT介绍使用MOTMOT的概念附录详情查看:https://opengauss.org详情查看:https://docs-opengauss.osinfra.cn......
  • openGauss 内存优化表MOT管理
    内存表特性MOT介绍使用MOTMOT的概念附录详情查看:https://opengauss.org详情查看:https://docs-opengauss.osinfra.cn......
  • openGauss 扩展FDW与其他openGauss特性
    扩展FDW与其他openGauss特性openGauss基于PostgreSQL,而PostgreSQL没有内置存储引擎适配器,如MySQL的handlerton。为了使MOT存储引擎能够集成到openGauss中,我们利用并扩展了现有的FDW机制。随着FDW引入PostgreSQL9.1,现在可以将这些外表和数据源呈现为统一、本地可访问的关系来访问......
  • openGauss 默认权限机制
    默认权限机制数据库对象创建后,进行对象创建的用户就是该对象的所有者。数据库安装后的默认情况下,未开启三权分立,数据库系统管理员具有与对象所有者相同的权限。也就是说对象创建后,默认只有对象所有者或者系统管理员可以查询、修改和销毁对象,以及通过GRANT将对象的权限授予其他用......
  • openGauss 角色
    角色角色是一组用户的集合。通过GRANT把角色授予用户后,用户即具有了角色的所有权限。推荐使用角色进行高效权限分配。例如,可以为设计、开发和维护人员创建不同的角色,将角色GRANT给用户后,再向每个角色中的用户授予其工作所需数据的差异权限。在角色级别授予或撤消权限时,这些更改将......
  • openGauss 客户端接入认证
    客户端接入认证配置客户端接入认证配置文件参考用SSL进行安全的TCP/IP连接用SSH隧道进行安全的TCP/IP连接查看数据库连接数SSL证书管理详情查看:https://opengauss.org详情查看:https://docs-opengauss.osinfra.cn......
  • openGauss 行级访问控制
    行级访问控制行级访问控制特性将数据库访问控制精确到数据表行级别,使数据库达到行级访问控制的能力。不同用户执行相同的SQL查询操作,读取到的结果是不同的。用户可以在数据表创建行访问控制(RowLevelSecurity)策略,该策略是指针对特定数据库用户、特定SQL操作生效的表达式。当......