Oracle用户安全管理(三)

2014-11-24 14:22:51 · 作者: · 浏览: 2
ant succeeded.
C、 Jeff又把create session权限授予Emi
sys@OCM> conn Jeff/Jeff
Connected.
jeff@OCM> grant create session to Emi;
Grant succeeded.
D、最后用Emi登录
jeff@OCM> conn Emi/Emi
Connected.
Emi登录成功,说明用with adminoption权限级联授权成功。
E、 管理员收加Jeff的grant createsession 权限。
emi@OCM> conn / as sysdba
Connected.
sys@OCM> revoke createsession from Jeff;
Revoke succeeded.
F、Jeff用户登录
sys@OCM> conn Jeff/Jeff
ERROR:
ORA-01045: user JEFF lacks CREATE SESSIONprivilege; logon denied
Warning: You are no longer connected toORACLE.
报错,说明权限回收成功
G、 最后我们看看用Emi用户登录
sys@OCM> conn Emi/Emi
Connected.
登录成功,说明权限回收不级联。
(2)with grant option对象权限赋予级联,取消也是级联的,如下图所示:
\
不同的是管理员收回用withgrant option授权的用户对象权限时,权限会因传播
而失效,如grant select on table with grant option to Jeff,Jeff用户把此权限授予
Emi,但管理员Bob收回Jeff的权限时,Emi的权限也会失效,但管理员不可以
直接收回Emi的SELECT ON TABLE 权限。
好这个测试跟上面一样,很简单,我就不来做了。没明白的自己测试一把就明白了。
3、授予权限
grant create any table to gyj;
grant select any table to gyj; --gyj用户无法访问SYS用户中的DBA_系列视图、
数据字典表
grant update on t10 to gyj with grant option;
grant update(id) on t10 to gyj with grant option;
4、撤销权限
revoke create any table from gyj;
revoke update on t10 from gyj;
三、创建和管理角色
1、角色的作用
(1)简化权限管理:将一些权限授予给某个角色,然后将该角色授予给各个用户,
而不是将同一组权限授予给多个用户。
(2)动态地管理权限:修改了角色关联的权限,则授予该角色所有的用户都会立即
自动获得修过的权限。
(3)有选择性地应用权限:启用或禁用角色可以暂时打开或关闭权限。
2、角色的特性
(1)角色就像用户,可以将权限授予给角色,也可以撤销角色的权限。
(2)角色就像系统权限,可以将其授予给用户或其它角色,也可以撤销用户或
其它角色的角色。
(3)角色可以由系统权限和对象权限组成。
(4)可以针对授予某一角色的每个用户启用或禁用该角色。
(5)可能需要口令才能启用角色。
(6)角色不由任可用户拥有,角色也不属于任可方案。
3、预定义角色
(1)CONNECT:
CREATE SESSION
(2)RESOURCE:
CREATE CLUSTER/CREATE INDEXTYPE/CREATE OPERATOR/CREATEP
ROCEDURE/CREATE SEQUENCE/CREATE TABLE/CREATE TRIGGER/
CREATE TYPE
(3)DBA:具有大多数系统权限和其它若干个角色。不要将其授予给管理员
之外的人员
4、创建角色,操作如下命令:(注意红色字体)
(1)先做一系列的查询
gyj@OCM> select * from dba_role_privs where grantee='Emi';
no rows selected
gyj@OCM> select * from role_sys_privs where role='ROLE_GYJ1';
no rows selected
gyj@OCM> select * from role_tab_privswhere role='ROLE_GYJ1';
no rows selected select * from session_privs;
gyj@OCM> conn Emi/Emi
Connected.
emi@OCM> select * from session_privs;
PRIVILEGE
----------------------------------------
CREATE SESSION
(2)开始建角色及授权
gyj@OCM> create role role_gyj1;
Role created.
gyj@OCM> grant select any table torole_gyj1;
Grant succeeded.
gyj@OCM> grant role_gyj1 to Emi;
Grant succeeded.
emi@OCM> conn Emi/Emi
Connected.
emi@OCM> select * from gyj.t10;
ID NAME
--------------------------------------------------------------------------------------------------------------
1 gyj1
emi@OCM> select * from session_privs;
PRIVILEGE
----------------------------------------
CREATE SESSION
SELECT ANY TABLE
四、创建和管理概要文件
1、创建概要文件
CREATE PROFILE app_user LIMIT
SESSIONS_PER_USER UNLIMITED
CPU_PER_SESSION UNLIMITED
CPU_PER_CALL 3000
CONNECT_TIME 45
LOGICAL_READS_PER_SESSION DEFA