【正文】
ted) A1 An Introduction to Database System 第四章 數(shù)據(jù)庫安全性 計算機安全性概述 數(shù)據(jù)庫安全性控制 視圖機制 審計 ( Audit) 數(shù)據(jù)加密 統(tǒng)計數(shù)據(jù)庫安全性 小結(jié) An Introduction to Database System 數(shù)據(jù)庫安全性控制概述 ?非法使用數(shù)據(jù)庫的情況 ? 編寫合法程序繞過 DBMS及其授權機制 ? 直接或編寫應用程序執(zhí)行非授權操作 ? 通過多次合法查詢數(shù)據(jù)庫從中推導出一些保密數(shù)據(jù) An Introduction to Database System 數(shù)據(jù)庫安全性控制概述(續(xù)) ? 計算機系統(tǒng)中,安全措施是一級一級層層設置 計算機系統(tǒng)的安全模型 An Introduction to Database System 數(shù)據(jù)庫安全性控制概述(續(xù)) ?數(shù)據(jù)庫安全性控制的常用方法 ? 用戶標識和鑒定 ? 存取控制 ? 視圖 ? 審計 ? 密碼存儲 An Introduction to Database System 數(shù)據(jù)庫安全性控制 用戶標識與鑒別 存取控制 自主存取控制方法 授權與回收 數(shù)據(jù)庫角色 強制存取控制方法 An Introduction to Database System 用戶標識與鑒別 ?用戶標識與鑒別 ( Identification Authentication) ? 系統(tǒng)提供的最外層安全保護措施 An Introduction to Database System 用戶標識與鑒別(續(xù)) ?用戶標識 ?口令 ? 系統(tǒng)核對口令以鑒別用戶身份 ?用戶名和口令易被竊取 ? 每個用戶預先約定好一個 計算過程 或者 函數(shù) An Introduction to Database System 數(shù)據(jù)庫安全性控制 用戶標識與鑒別 存取控制 自主存取控制方法 授權與回收 數(shù)據(jù)庫角色 強制存取控制方法 An Introduction to Database System 存取控制 ?存取控制機制組成 ? 定義用戶權限,并將權限登記到數(shù)據(jù)字典中 ? 合法權限檢查 ?用戶權限定義和合法權檢查機制一起組成了 DBMS的安全子系統(tǒng) An Introduction to Database System 存取控制(續(xù)) ?常用存取控制方法 ? 自主存取控制 ( Discretionary Access Control ,簡稱DAC) ? C2級 ? 靈活 ? 強制存取控制 ( Mandatory Access Control,簡稱 MAC) ?B1級 ?嚴格 An Introduction to Database System 數(shù)據(jù)庫安全性控制 用戶標識與鑒別 存取控制 自主存取控制方法 授權與回收 數(shù)據(jù)庫角色 強制存取控制方法 An Introduction to Database System 自主存取控制方法( DAC) ?通過 SQL 的 GRANT 語句和 REVOKE 語句實現(xiàn) ?用戶權限組成 ?數(shù)據(jù)對象 ?操作類型 ?定義用戶存取權限:定義用戶可以在哪些數(shù)據(jù)庫對象上進行哪些類型的操作 ?定義存取權限稱為 授權 An Introduction to Database System 自主存取控制方法(續(xù)) ?關系數(shù)據(jù)庫系統(tǒng)中存取控制對象 對象類型 對象 操 作 類 型 數(shù)據(jù)庫 模式 CREATE SCHEMA 基本表 CREATE TABLE, ALTER TABLE 模式 視圖 CREATE VIEW 索引 CREATE INDEX 數(shù)據(jù) 基本表和視圖 SELECT, INSERT, UPDATE, DELETE, REFERENCES, ALL PRIVILEGES 數(shù)據(jù) 屬性列 SELECT, INSERT, UPDATE, REFERENCES ALL PRIVILEGES 關系數(shù)據(jù)庫系統(tǒng)中的存取權限 An Introduction to Database System 數(shù)據(jù)庫安全性控制 用戶標識與鑒別 存取控制 自主存取控制方法 授權與回收 數(shù)據(jù)庫角色 強制存取控制方法 An Introduction to Database System 授權與回收 一 、 GRANT ? GRANT語句的一般格式: GRANT 權限 [,權限 ]... [ON 對象類型 對象名 ] TO 用戶 [,用戶 ]... [WITH GRANT OPTION]。 ? 語義:將對指定操作對象的指定操作權限授予指定的用戶 An Introduction to Database System GRANT(續(xù)) ? 發(fā)出 GRANT: ?DBA ?數(shù)據(jù)庫對象創(chuàng)建者(即屬主 Owner) ?擁有該權限的用戶 ?按受權限的用戶 ?一個或多個具體用戶 ?PUBLIC(全體用戶) An Introduction to Database System WITH GRANT OPTION子句 ? WITH GRANT OPTION子句 : ? 指定:可以 再授予 ? 沒有指定: 不能傳播 ?不允許循環(huán)授權 An Introduction to Database System 例題 [例 1] 把查詢 Student表權限授給用戶 U1 GRANT SELECT ON TABLE Student TO U1。 ?對屬性列的授權時必須明確指出相應屬性列名 An Introduction to Database System 例題(續(xù)) [例 5] 把對表 SC的 INSERT權限授予 U5用戶 , 并允許他再將此權限授予其他用戶 GRANT INSERT ON TABLE SC TO U5 WITH GRANT OPTION。 An Introduction to Database System 傳播權限(續(xù)) 下表是執(zhí)行了 [ 例 1] 到 [ 例 7] 的語句后 , 學生 課程數(shù)據(jù)庫中的用戶權限定義表 授權用戶名 被授權用戶名 數(shù)據(jù)庫對象名 允許的操作類型 能否轉(zhuǎn)授權 DBA U1 關系 Student SELECT 不能 DBA U2 關系 Student ALL 不能 DBA U2 關系 Course AL