with admin option 和 with grant option 的區別 (轉)


 

1、with admin option 用於系統權限授權,with grant option 用於對象授權。

2、給一個用戶授予系統權限帶上with admin option 時,此用戶可把此系統權限授予其他用戶或角色,但收回這個用戶的系統權限時,這個用戶已經授予其他用戶或角色的此系統權限不會因傳播無效,如授予A系統權限create session with admin option,然后A又把create session權限授予B,但管理員收回A的create session權限時,B依然擁有create session的權限,但管理員可以顯式收回B create session的權限,即直接revoke create session from B.

而with grant option用於對象授權時,被授予的用戶也可把此對象權限授予其他用戶或角色,不同的是但管理員收回用with grant option授權的用戶對象權限時,權限會因傳播而失效,如:grant select on 表名 to A with grant option;,A用戶把此權限授予B,但管理員收回A的權限時,B的權限也會失效,但管理員不可以直接收回B的SELECT ON TABLE 權限。

執行授權語句報錯(ora-01031,ora-01929)時,可參考一下。

同點
- 兩個都可以既可以賦予user 權限時使用,也可以在賦予role 時用
GRANT CREATE SESSION TO emi WITH ADMIN OPTION;
GRANT CREATE SESSION TO role WITH ADMIN OPTION;
GRANT role1 to role2 WITH ADMIN OPTION;
GRANT select ON customers1 TO bob WITH GRANT OPTION;
GRANT select ON customers1 TO hr_manager(role) WITH GRANT OPTION;

- 兩個受賦予者,都可以把權限或者role 再賦予other users
- 兩個option 都可以對DBA 和APP ADMIN 管理帶來方便性,但同時,都帶來不安全的因素

不同點:
- with admin option 只能在賦予 system privilege 的時使用
- with grant option 只能在賦予 object privilege 的時使用


- 撤消帶有admin option 的system privileges 時,連帶的權限將保留
例如:
1. DBA 給了CREATE TABLE 系統權限給JEFF WITH ADMIN OPTION
2. JEFF CREATES TABLE
3. JEFF grants the CREATE TABLE 系統權限給EMI
4. EMI CREATES A table
5. DBA 撤消CREATE TABLE 系統權限從JEFF
結果:
JEFF‘S TABLE 依然存在,但不能創建新的TABLE 了
EMI’S TABLE 依然存在,他還保留着CREATE TABLE 系統權限。
- 撤消帶有grant option 的object privileges 時,連帶的權限也將撤消
例如:
1. JEFF 給了SELECT object privileges 在EMP 上 WITH ADMIN OPTION
2. JEFF 給了SELECT 權限在EMP 上 TO EMI
3. 后來,撤消JEFF的SELECT 權限

結果:
EMI 的權限也被撤消了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM