ORCLE數據庫用戶、權限、角色管理

  PS:中括號表示可選項。數據庫

ORACLE 用戶管理 安全

1.建立用戶session

CREATE USER username   --用戶名測試

IDENTIFIED BY password --密碼spa

[ACCOUNT LOCK|UNLOCK]  --表示用戶是否鎖定狀態對象

[PASSWORD EXPIRE]      --表示密碼在登陸後立刻失效it

示例:CREATE USER test IDENTIFIED BY test ACCOUNT LOCK PASSWORD EXPIRE; (建立完成後並不能立刻登陸,需賦予session權限)io

2.修改用戶 test

ALTER USER username   --用戶名登錄

[IDENTIFIED BY password] --密碼

[ACCOUNT LOCK|UNLOCK]  --表示用戶是否鎖定狀態

[PASSWORD EXPIRE]      --表示密碼在登陸後立刻失效

示例: ALTER USER test ACCOUNT UNLOCK;

3.刪除用戶

DROP USER name [CASCADE] --若是用戶擁有數據庫對象,就必須使用cascade關鍵字。

 

ORACLE 權限管理

1.權限的概念與做用  

  表示:權利的責任範圍;系統中設置的安全規則或者安全策略。

2.權限的分類  

  1)系統權限:可否在數據庫上完成某個動做;例如建立會話,建立表、查詢任意表;  

  2)對象權限:可否在某個數據庫對象上完成某種操做;例如:查詢emp表,修改dept表。

3.權限的授予與回收   

  1)系統權限的授予     

     GRANT priv TO user|role      [WITH ADMIN OPTION];--是否能夠級聯授予。         

      示例:GRANT create session TO test WITH ADMIN OPTION;     

       授予用戶建立會話的權限。--才能鏈接數據庫。      此時test能夠鏈接到數據庫,同時也能夠受權其餘用戶的會話權限。   

  2)系統權限的回收      

     REVOKE priv FORM user|role;

     示例:REVOKE create session FROM test;      PS:系統權限的授予有級聯,回收卻沒有級聯收回。

4.對象權限的授予與回收。   

  1)對象權限的授予:    

   GRANT priv [(col,...)] ON object TO user|role [WITH GRANT OPTION];   

  示例:用system用戶建立了表 t(id)。    

   GRANT select,update(t) ON system.t to test2 with grant option;     而後用test2 登陸後就能夠查詢和更新t表。    

   select * from system.t ;     

  2)對象權限的回收:     REVOKE priv[(col,...)] ON object FROM user|role;        

   示例:REVOKE update on system.t FROM tets2;    //回收update權限的時候,收回權限只能收回整個表的update權限。     注意:對象權限的回收是級聯的,即若是此時test2已將權限再次分配給test1.那麼test1的權限也會被收回。

 

ORACLE 角色管理

1.角色的概念與做用   

  本質上是權限的集合;用於簡化權限的管理。

2.角色的建立於刪除  

  1)角色建立: CREAET ROLE role;   

     示例:建立一個「員工」角色;     CREATE ROLE employee;

  2)刪除角色: DROP ROLE role;     DROP REOLE  employee;   

3.角色上的權限授予與回收(與用戶權限的授予與回收相似)

   1)系統權限的授予:   

    GRANT pirv TO role [WITH ADMIN OPTION];   

   示例:授予角色 建立session的權限。(全部與角色關聯的用戶都擁有該權限。)   

    GRANT create session TO employee with admin option;

   2)系統權限的回收:  

    REVOKE priv FROM role;  

    示例:回收角色 建立session的權限。(全部與角色關聯的用戶都失去該權限。)  

    REVOKE create session FROM employee;     

   3)對象權限的授予:  

   GRANT [priv(col...)] ON object TO role;  

   示例:將system的表t3的查詢權限授予employee角色。   GRANT select ON system.t3 TO employee;    

  4)對象權限的回收:   REVOKE [priv(col...)] ON object FROM role;   示例:將system表t3的查詢權限收回。  

   REVOKE select ON SYSTEM.T3 FROM employee;

4.用戶與角色關聯(用戶上授予角色)  

   GRANT role TO user;  示例:將test1,test2關聯角色employee;   

   GRANT employee TO test1,test2;  

  PS:經測試:若是在授予角色以前用戶已登陸,則須要從新登陸后角色對應的權限才能生效。

5.用戶與角色取消關聯(用戶上回收角色)

  REVOKE role FROM user;  示例:將用戶test1,test2與角色employee取消關聯。  

  PS:經測試:若是在回收角色以前用戶已登陸,則須要從新登陸后角色對應的權限才能收回。

相關文章
相關標籤/搜索