为了保证数据库系统的安全性,DM数据库采用“三权分立”或“四权分立”的安全机制,“三权分立”时系统内置三种系统管理员,包括数据库管理员sysdba、数据库安全员sso和数据库审计员sysaduitor,“四权分立”时新增了一类用户,称为数据库对象操作员sys。它们各司其职,互相制约,有效地避免了将所有权限集中于一人的风险,保证了系统的安全性。其他不多说,直接看效果吧,数据库通过DBA_USERS可以查询有哪些系统用户,这里我还没有建立任何应用数据库用户,看图如下:
包含了syssso、sysdba、sys、sysauditor四类,下边分别介绍四类用户的权限及用途,其中:
1、数据库管理员(DBA)
“三权分立”的安全机制,每个DM数据库至少需要一个数据库管理员来管理,负责评估数据库运行所需的软、硬件环境、安装和升级DM数据库、配置DM数据库参数、创建主要的数据库存储结构(表空间)和对象(如表、视图、索引、角色、用户等)、监控和优化数据库性能、数据导入导出以及数据库的备份和恢复等。“三权分立”时数据库管理员既可进行系统管理和维护工作,也可对数据内容进行增删查改动作。
2、数据库安全员(SSO)
数据库安全员的主要任务就是制定安全策略,定义新的数据库安全员,设置系统的安全等级、范围和组,并为主、客体定义安全标记,从而全面提升系统安全性。
3、数据库审计员(AUDITOR)
数据库审计员可以设置要审计的对象和操作、定义新的数据库审计员、查看和分析审计记录。通过设置审计,几乎可以跟踪任何人在系统内执行的任何操作,为事后追查提供便利。
4、数据库对象操作员(DBO)
数据库对象操作员是“四权分立”新增加的一类用户,可以创建数据库对象,并对自己拥有的数据库对象(表、视图、存储过程、序列、包、外部链接)具有所有的对象权限并可以授出与回收,但其无法管理与维护数据库对象。(需要说明的是,在DM数据库中有一个特殊的预定义用户“SYS”,此用户仅用于保存系统内部对象,并非数据库管理员,也无法进行登录,这里区别与Oracle数据库管理对象SYS)
介绍前先看一下DM的用户都有哪些角色和权限,角色是定义权限的一个组的合集,所以一个用户和授权grant一个角色或者指定权限进行grant与revoke,及是否具备递归传递ADMIN权限。下边看一下DM的角色都有哪些,可以通过DBA_role查看得知,包含16组角色。
每个角色包含哪些具体的权限,可以通过DBA_SYS_PRIVS查询得知:
当然也可以连表查询所有的角色和权限。暂时分享到这里,谢谢。