角色管理
角色管理
角色定义
角色是将系统权限分配给用户的中间的类用户或权限装载容器,可以给某些角色一定的权限,当某个用户需要一定权限时,把一个具有和他所要的权限相同的角色赋予他就可,这样省时高效。
一、建立角色
1、格式:Create Role 角色名 [Not Identified |Identified By 口令 |Externally]
2、说明:Not Identified:指出授予该角色的用户在使用时不需要检验;
Identified By:指出授予该角色的用户在使用Set Role命令时需检验。
检验的方式:
a)口令
b)Externally:有操作系统检验的口令;
3、实例:
Create Role StudentRole 或
Create Role StudentRole Identified By Studentrole
二、查看角色
1、使用数据字典:Role Sys Privs; 角色的系统权限
2、实例:
Select * From Role_Sys_Privs WhereRole=‘STUDENTROLE’;
三、修改角色
1、格式:Alter Role角色名 [Not Identified | Identified By 口令 |Externally]
2、实例:
Alter Role StudentRole Not Identified;
四、使用角色为用户赋予权限
1、功能:使用角色为用户赋予权限便于用户的区分,而DBA也不用每个用户都重新赋予某些权限,快!
2、实现过程:先给角色赋予相应的权限,然后再把角色像赋予权限一样赋予用户,用户就具有和角色一样的权限了。
3、实例:
(1)Create Role StudentRole;
(2)Grant Create Session,Create Table, Create View,Create Procedure To StudentRole;
(3)Grant StudentRole To Student01 或 Public;
4、角色权限的回收:
Revoke 权限 From角色;
五、删除角色
1、格式:Drop Role角色名
2、实例:
Drop Role StudentRole; 不影响用它已经授予的用户的权限
数据库角色
角色相当于一个windows中的组,比如我们属于administrators组,我们就拥有administrator的所有权限,oracle为了方便管理也预定义了很多的组:
比如:
connect 连上Oracle,做最基本操作
resource 具有程序开发最基本的权限
dba 数据库管理员所有权限
exp-full-database 可把数据库整个备份输出的权限
imp-full-datsabase 可把数据库整个备份恢复输入的权限
给用户分配角色
Connect system/manager;
Grant connect to tea;
Grant resource to tea;