目的: -對象許可權和系統許可權的不同之處 -表格的許可權 -數據字典的視圖許可權 -角色授權 -分區許可權和角色 控制用戶訪問 多用戶環境中,要維護資料庫訪問和使用的安全性。Oracle伺服器資料庫安全性可以執行以下操作: -控制資料庫訪問 -授予訪問資料庫中的特定對象的許可權 -明確Oracle數據字典給予 ...
目的: -對象許可權和系統許可權的不同之處 -表格的許可權 -數據字典的視圖許可權 -角色授權 -分區許可權和角色 控制用戶訪問 多用戶環境中,要維護資料庫訪問和使用的安全性。Oracle伺服器資料庫安全性可以執行以下操作: -控制資料庫訪問 -授予訪問資料庫中的特定對象的許可權 -明確Oracle數據字典給予和接收的許可權 -為資料庫對象創建同義詞 資料庫安全可以分為兩類:系統安全和數據安全。 系統安全:系統級的訪問和使用資料庫,如用戶和密碼,分配給用戶的磁碟以及用戶可以執行的系統操作。 數據安全:訪問和使用資料庫對象以及這些用戶對這些對象執行的操作。 許可權: 許可權是執行特定SQL的語句,資料庫管理員(DBA)是高級用戶,具有創建用戶和授予用戶訪問資料庫及其對象的許可權。用戶需要系統許可權和對象許可權才能訪問資料庫以及操作資料庫中對象的內容。用戶還可以被授予給其他用戶或角色的額外許可權,這些角色被命令為相關許可權組。 系統許可權:取得訪問資料庫 對象許可權:操作資料庫中對象的內容 Schema: 是對象的集合,如表、視圖和序列。模式有資料庫用戶所擁有,並且與該用戶具有相同的名稱。 系統許可權 -有100個可用的系統許可權 -資料庫管理員擁有高階系統許可權,如創建一個用戶、刪除用戶、刪除表、備份表 典型DBA許可權 創建用戶
CREATE USER user_name IDENTIFIED BY password DEFAULT TABLESPACE [tablespace_name] TEMPORARY TABLESPACE [temp_name];改變用戶密碼
ALTER USER user_name IDENTIFIED BY "password";用戶系統許可權
GRANT privilege [,privilege...] TO user [,user | role, PUBLIC ...] [WITH ADMIN OPTION];[WITH ADMIN OPTION]:系統級聯許可權,被授予者可以進一步授予系統許可權給其他用戶,撤銷許可權時不會級聯撤銷系統許可權。 SESSION_PRIVS視圖查看當前用戶的系統許可權。 授予系統許可權
GRANT create session,create table,create sequence,create view TO users;什麼是角色? 角色是可授予用戶的相關許可權的命名組。這種方法更容易地撤銷和維護許可權。用戶可以訪問多個角色,並且可以為多個用戶分配相同的角色。 角色的創建和分配 -CREATE ROLE role_name;->DBA首先必須先創建角色名 -GRANT create session,create table TO role_name;->給角色分配許可權 -GRANT role_name TO user_name1,user_name2;->將角色分配給用戶 對象許可權 對象許可權是對特定的表,視圖,序列或存儲過程操作的特權或權利。每個對象都有一組特定的授予許可權。序列只有select和alter對象許可權。同義詞上會引用基表上的授權。
GRANT object_priv [(columns)] ON object TO {user|role|PUBLIC} [WITH GRANT OPTION];[WITH GRANT OPTION] :級聯授權,被授權者可以進一步授予其他用戶的對象許可權;如果撤銷也會級聯撤銷對象許可權; 例如:
GRANT update (department_name,location_id) ON DEPARTMENTS TO scott,manager;確認授權的許可權
ROLE_SYS_PRIVS:系統許可權授予的角色 ROLE_TAB_PRIVS:表許可權授予的角色 USER_ROLE_PRIVS:用戶擁有的角色 USER_TAB_PRIVS_MADE: 撤銷對象許可權
REVOKE {privilege [,privilege ...]|ALL} ON object FROM {user [, user ...]|role |PUBLIC} [CASCADE CONSTRAINTS];[CASCADE CONSTRAINTS]:消除對象的任何參照完整性約束。