相同點:
- 兩個都可以既可以賦予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 GRANT OPTION
2. JEFF 給了SELECT 權限在EMP 上 TO EMI
3. 後來,撤消JEFF的SELECT 權限
結果:
EMI 的權限也被撤消了