三权分立

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

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

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

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

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

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

    表 1 默认的用户权限

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

    对象名称

    初始用户(id为10)

    系统管理员

    监控管理员

    运维管理员

    安全策略管理员

    安全管理员

    审计管理员

    普通用户

    表空间

    无变化。

    无变化

    无变化。

    权限缩小。

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

    无变化。

    索引

    权限缩小。

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

    无变化。

    模式

    权限缩小。

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

    无变化

    无变化。

    函数

    权限缩小。

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

    无变化

    无变化。

    自定义视图

    权限缩小。

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

    无变化

    无变化。

    系统表和系统视图

    无变化。