用户、权限、角色(4)- 用户角色

角色管理:

  1. 角色可以认为是一组权限的集合。
     你可以把一些权限赋予角色,然后把角色赋予给一个用户
  2. 角色还可以赋予另一个角色。但给角色赋予角色过程中,不能形成环路
     --比如,A角色赋予给B,B角色赋予给C,C角色再赋予给A的时候,就报错。

角色的好处。

  1. 利于权限的分配。
     --当很多个用户需要分配相同权限时,你可能给每个人进行同样的操作。
       --列:有10个权限,每次来个用户,你就得给他这些权限。
             这样,每添加一个用户,你就得做10此操作。
             要是用角色来管理,就是每次只做一次操作。
  2. 利于管理
     --当给很多个用户已经分配了很多权限,但发现某个权限是不需要的。
       或者说是这个权限不能分配给这些用户。
       你是用角色来分配权限时,你只要把角色的权限收回就可。非常方便。

默认有的角色。
  数据库创建后就已经预先建立了很多角色权限。
 
 
SQL> select role from dba_roles;

ROLE
------------------------------
CONNECT
RESOURCE
DBA
SELECT_CATALOG_ROLE
EXECUTE_CATALOG_ROLE
DELETE_CATALOG_ROLE
EXP_FULL_DATABASE
IMP_FULL_DATABASE
RECOVERY_CATALOG_OWNER
GATHER_SYSTEM_STATISTICS
LOGSTDBY_ADMINISTRATOR
AQ_ADMINISTRATOR_ROLE
AQ_USER_ROLE
GLOBAL_AQ_USER_ROLE
SCHEDULER_ADMIN
HS_ADMIN_ROLE
AUTHENTICATEDUSER
OEM_ADVISOR
OEM_MONITOR
WM_ADMIN_ROLE
JAVAUSERPRIV
JAVAIDPRIV
JAVASYSPRIV
JAVADEBUGPRIV
EJBCLIENT
JAVA_ADMIN
JAVA_DEPLOY
CTXAPP
XDBADMIN
XDBWEBSERVICES
OLAP_DBA
OLAP_USER
MGMT_USER
HR_ROLE_CONN
HR_ROLE_RESO

35 rows selected.

SQL> 
 
  其中,DBA具有大部分的管理权限。
  一般对数据库进行维护的时候,最好建立一个DBA权限的用户来代替sys或者system用户
  因为sys和system用户的权限太大。
  最好不要把sys权限分配给非管理数据库的用户。

  下面创建一个用户,给个DBA权限。
SQL> create user dba_test identified by dba1234;

User created.

SQL> grant dba to dba_test;

Grant succeeded.

SQL> conn dba_test/dba1234;
Connected.
SQL> show user
USER is "DBA_TEST"
SQL> conn dba_test/dba1234 as sysdba
ERROR:
ORA-01031: insufficient privileges


SQL> show user
USER is ""
SQL>  

  可以看到,DBA权限的用户是不能以sysdba权限登录的。
  一般现在分配给用户的时候分配服下权限
    1. CONNECT
      --这个权限是包含了一个CREATE SESSION的系统权限。
        select PRIVILEGE from role_sys_privs where ROLE = 'CONNECT';
    2. RESOURCE
      --包含几个基本的CREATE权限。看下面的结果
        select PRIVILEGE from role_sys_privs where ROLE = 'RESOURCE';
      --在这里注意的是,在10G以前(到9i为止),RESOURSE包含UNLIMITED TABLESPACE权限。
    3. UNLIMITED TABLESPACE
      --9i或之前的版本,在RESOURCE权限里已经有这个权限,所以不必要另行分配。
  在这里,1跟2是角色来分配。这样,以后就好管理了。
  或者,你可以自行创建角色来分配给用户,然后去管理。
  比如,要是公司内部结果分的比较细,你可以创建一个HR_ROLE的角色,
    然后数据库里有HR_TS的表空间,就可以把如下的权限分配给HR_ROLE角色。
  --这个权限包含了
    --1. CONNECT
    --2. RESOURCE
    --3. UNLIMITED TABLESPACE
  这样,以后对HR用户分配角色时只分配一个HR_ROLE,然后对这一组人更改权限,就更改HR_ROLE角色。

  创建角色使用 CREATE ROLE 
 
 
  
   [IDENTIFIED BY 
  
  
   
   ]

  
  
 
 

Technorati :
Del.icio.us :
Zooomr :
Flickr :

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值