ORACLE的權限管理
ORACLE的安全機制,是由系統權限、實體權限和角色權限這三級體系結構所組成的。
權限類型說 明
系統權限:是指對資料庫系統及資料結構的操作權,例如建立/刪除使用者、表格、同義詞、索引等等
實體權限:是指使用者對資料的操作權,如查詢、更新、插入、刪除、完整性約束等等
角色權限:是把幾個相關的權限組成角色,角色之間可以進一步組合而成為一棵層次樹,以對應於現實世界中的行政職位。角色權限除了限制操作權、控制權外,還能限制執行某些應用程式的權限。
這樣的安全控制體系,使得整個系統的管理人員及程式開發人員能控制系統指令的運作、資料的操作及應用程式的執行。
(1) 系統權限
系統權限的授予命令為GRANT,例如把創建任何表格視圖的權限授予scott用戶:
GRANT create any view TO scott;
系統權限的回收命令為REVOKE,例如將create any view 權限從scott用戶手中收回:
REVOKE create any view FROM scott;
(2) 實體權限
每種類型的實體有與之相關的實體權限。
授予實體權限的命令舉例(將EMP表上的Select和Insert權限授給scott):
GRANT select,insert ON emp TO scott;
回收實體權限的命令舉例(將EMP表上的Select
REVOKE select ON emp FROM scott;
角色是許多權限和角色的組合,它極大地方便了ORACLE的權限管理。
·創造角色,例如創造一個名為dept1的角色,口令字為hello:
CREATE ROLE dept1 IDENTIFIED BY hello;
ALTER USER scott DEFAULT ROLE DEVELOPER;
GRANT manager TO scott;
SET ROLE dept1 DISABLE;
DROP ROLE dept1;