创建角色并授予角色权限
角色不是模式对象:他们不属于任何人,因此前面不能加用户名。但是角色可以与用户共享同一个名称空间:创建的角色的名称不能与已有用户同名。
使用CREATE ROLE命令创建角色:
CREATE ROLE rolename;
然后使用普通语法为角色授权,根据需要添加 WITH ADMIN或WITH GRANT OPTION。
例子:如果电信要创建三组员工使用830数据库拥有不同的权限:管理员拥有完全访问权限,高级职员拥有有限访问权限,新职员拥有限制性很高的访问权限。可以这样操作:
首先创建新员工的角色
creat role junior;
grant creat session to junior;
grant select on zxdbm_830.s830cardinf to junior;
grant select on zxdbm_830.s830channel to junior;
grant select on zxdbm_830. s830catalog to junior;
获得此角色的任何人都能登录到数据库,并针对上述表运行SELECT语句。
此后为高级职员创建角色,他们还可以向s830catalog表写入数据
然后创建高级员工的角色
creat role senior;
grant junior to senior with admin option;
grant insert,update,delete on zxdbm_830. s830catalog to senior;
首先为此角色授予JUNIOR角色(完全可将一个角色授予另一个角色),此语法允许高级员工将新员工角色授予他人。
此后仅授予对两个表的DML权限。然后创建管理者角色,此角色可以更新其他所有表。
最后创建管理者角色
creat role manager;
grant senior to manager with admin option;
grant all on zxdbm_830.s830cardinf to manager;
grant all on zxdbm_830.s830channel to manager;
grant all on zxdbm_830. s830catalog to manager;
管理角色被授予SENIOR角色,拥有传递角色的能力,可以完全控制所有表中的内容。但是他拥有的唯一系统权限是CREATE_SESSION,是通过SENIOR,而SENIOR又是通过JUNIOR获得。此角色是不能创建或者删除表的。必须拥有CREATE ANY TABLE 或者DROP ANY TABLE权限的管理员完成。
什么是数据库的审计?
数据库审计并没有一个非常标准公开的定义, 但是通常认为它应该具备解析,存储所有访问数据库的相关信息并提供相关查询和报表功能。
学习目的:
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/27573546/viewspace-740780/ ,如需转载,请注明出处,否则将追究法律责任。