管理用户角色¶
神通数据库采用一种比较简洁的易操作的用户管理模式,即SYSDBA管理员可以在数据库中完成除了与审计相关的操作之外任何事情。
通常,DBA具有足够的权限能够完成在针对数据库的一切操作,以便管理员以一种最快捷的方式完成对数据库的管理和调优。然而,这种机制的后果是导致数据库完全控制在DBA手中,DBA具有对数据库的全部权力。因此,神通数据库提出了审计管理员来保证这种权力不会被滥用。审计管理员被提出的指导原则是:DBA可以在数据库中进行任何操作,但是审计管理员的存在让这些操作不是不受监督和制约的,所有管理员进行的操作都可以被记录下来做为检查的依据。同时,神通数据库不允许审计管理员和DBA同时属于一个用户,也不允许审计管理员可以拥有任何其它角色权限,以免出现自己审计自己的悖论。有关审计管理员的具体操作可以参考“数据库审计”一章。
- 预定义的角色
系统预定义了SYSDBA,AUDIT和PUBLIC三个角色。
SYSDBA:SYSDBA是预定义的管理员角色,这个角色能够创建除了安全管理员以外的其它用户,包括新的管理员。神通数据库预定义一个管理员用户为SYSDBA,该用户是数据库的第一个用户,它默认属于管理员组。
AUDIT:AUDIT是预定义的安全管理员角色。这个角色是一个用于监控管理员DBA的角色。
PUBLIC:PUBLIC是一种特殊的角色,即代表全体用户。任何一个用户都属于这个角色,用户无需显式地被加入到这个角色中,也不可能被剥夺这个角色的身份。管理员可以用类似如下的命令:
GRANT select ON TABLE t1 TO PUBLIC;
来为每个用户授予在t1上的选择权限。PUBLIC的存在为管理员提供了一种迅速把权限授予给每个人的机制。
预定义的角色和用户不能被删除,预定义的用户不能被剥夺它在预定义中属于的角色。
- 创建和删除角色
使用CREATE ROLE rolename; 可以创建一个新的角色,并且可以用grant命令为这个角色授予一些权限。使用DROP ROLE rolename可以删除一个角色,角色删除时会导致依赖于这个角色的权限都被删除。