




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第四章第四章 數據庫平安性數據庫平安性n 問題的提出問題的提出n數據庫的一大特點是數據可以共享,但數據共享必然帶來數據庫的一大特點是數據可以共享,但數據共享必然帶來n 數據庫的平安性問題。數據庫的平安性問題。n數據庫系統中的數據共享不能是無條件的共享數據庫系統中的數據共享不能是無條件的共享n例:例: 軍事秘密、軍事秘密、 國家機密、國家機密、 新產品實驗數據、新產品實驗數據、n 客戶檔案、客戶檔案、 醫療檔案、醫療檔案、 銀行儲蓄數據銀行儲蓄數據n數據庫中數據的共享是在數據庫中數據的共享是在DBMS統一的嚴格的控制之下的共統一的嚴格的控制之下的共享,即只允許有合法使用權限的用戶訪問允許他存取的
2、數據。享,即只允許有合法使用權限的用戶訪問允許他存取的數據。n數據庫系統的平安保護措施是否有效是數據庫系統主要的性數據庫系統的平安保護措施是否有效是數據庫系統主要的性能指標之一。能指標之一。第四章第四章 數據庫平安性數據庫平安性4.1 計算機系統平安性概述計算機系統平安性概述4.2 數據庫平安性控制數據庫平安性控制4.3 數據庫存取控制方法數據庫存取控制方法4.4 視圖機制視圖機制4.5 審計審計4.6 統計數據庫平安性統計數據庫平安性4.7 小結小結 4.1 計算機系統平安性概述計算機系統平安性概述n什么是數據庫的平安性什么是數據庫的平安性n數據庫的平安性是指保護數據庫,防止因用戶非法使數據
3、庫的平安性是指保護數據庫,防止因用戶非法使用數據庫造成數據泄露、更改或破壞。數據庫的平安用數據庫造成數據泄露、更改或破壞。數據庫的平安性與計算機系統平安性緊密相關。性與計算機系統平安性緊密相關。n什么是計算機系統平安性什么是計算機系統平安性n是指為計算機系統建立和采取的各種平安保護措施,是指為計算機系統建立和采取的各種平安保護措施,以保護計算機系統中的硬件、軟件及數據,防止其因以保護計算機系統中的硬件、軟件及數據,防止其因偶然或惡意的原因使系統遭到破壞,數據遭到更改或偶然或惡意的原因使系統遭到破壞,數據遭到更改或泄露等。泄露等。n計算機系統有三類平安性問題:技術平安類、管理平計算機系統有三類平
4、安性問題:技術平安類、管理平安類、政策法律類。安類、政策法律類。計算機系統的三類平安性問題計算機系統的三類平安性問題1技術平安技術平安指計算機系統中采用具有一定平安性的硬件、軟件來實現對計指計算機系統中采用具有一定平安性的硬件、軟件來實現對計算機系統及其所存數據的平安保護,當計算機系統受到無意或算機系統及其所存數據的平安保護,當計算機系統受到無意或惡意的攻擊時仍能保證系統正常運行,保證系統內的數據不增惡意的攻擊時仍能保證系統正常運行,保證系統內的數據不增加、不喪失、不泄露。加、不喪失、不泄露。2管理平安管理平安指管理不善導致的軟硬件意外故障、場地的意外事故、計算機指管理不善導致的軟硬件意外故障
5、、場地的意外事故、計算機設備和數據介質的物理破壞、喪失等平安問題。設備和數據介質的物理破壞、喪失等平安問題。3政策法律類政策法律類政府部門建立的有關計算機犯罪、數據平安保密的法律道德準政府部門建立的有關計算機犯罪、數據平安保密的法律道德準那么和政策法規、法令。那么和政策法規、法令。第四章第四章 數據庫平安性數據庫平安性4.1 計算機系統平安性概述計算機系統平安性概述4.2 數據庫平安性控制數據庫平安性控制4.3 數據庫存取控制方法數據庫存取控制方法4.4 視圖機制視圖機制4.5 審計審計4.6 統計數據庫平安性統計數據庫平安性4.7 小結小結4.2 數據庫平安性控制數據庫平安性控制一、數據庫平
6、安性控制概述一、數據庫平安性控制概述二、用戶標識與鑒別二、用戶標識與鑒別三、存取控制三、存取控制一、一、 數據庫平安性控制概述數據庫平安性控制概述 應用應用DBMSOS DB 低低 高高安全性控制層次安全性控制層次用戶標識用戶標識和鑒定和鑒定 存取控制、存取控制、視圖、審計視圖、審計操作系統操作系統 平安保護平安保護 數據密碼存儲數據密碼存儲 n 計算機系統中的平安模型計算機系統中的平安模型數據庫平安性控制概述續數據庫平安性控制概述續n數據庫平安性控制的常用方法數據庫平安性控制的常用方法n用戶標識和鑒定用戶標識和鑒定n存取控制存取控制n視圖視圖n審計審計n密碼存儲密碼存儲4.2 數據庫平安性控
7、制數據庫平安性控制一、數據庫平安性控制概述二、用戶標識與鑒別三、存取控制二、用戶標識與鑒別二、用戶標識與鑒別n根本方法根本方法n系統提供一定的方式讓用戶標識自己的名字或身份,系統內系統提供一定的方式讓用戶標識自己的名字或身份,系統內n 部記錄著所有合法用戶的標識;部記錄著所有合法用戶的標識;n每次用戶要求進入系統時,由系統核對用戶提供的身份標每次用戶要求進入系統時,由系統核對用戶提供的身份標n 識,通過鑒定后才提供系統使用權。識,通過鑒定后才提供系統使用權。n用戶標識和鑒定可以重復屢次用戶標識和鑒定可以重復屢次n用戶名用戶名/口令口令n簡單易行,容易被人竊取簡單易行,容易被人竊取n其他方式其他
8、方式n 每個用戶預先約定好一個計算過程或者函數,系統提供一每個用戶預先約定好一個計算過程或者函數,系統提供一個個n 隨機數,用戶根據自己預先約定的計算過程或者函數進行隨機數,用戶根據自己預先約定的計算過程或者函數進行計計n 算,系統根據用戶計算結果是否正確鑒定用戶身份。算,系統根據用戶計算結果是否正確鑒定用戶身份。4.2 數據庫平安性控制數據庫平安性控制一、數據庫平安性控制概述一、數據庫平安性控制概述二、用戶標識與鑒別二、用戶標識與鑒別三、存取控制三、存取控制三、存取控制三、存取控制n存取控制機制的組成存取控制機制的組成n 1)定義存取權限定義存取權限n在數據庫系統中,為了保證用戶只能訪問他有
9、權存取在數據庫系統中,為了保證用戶只能訪問他有權存取的數的數n據,必須預先對每個用戶定義存取權限。據,必須預先對每個用戶定義存取權限。n 2)檢查存取權限檢查存取權限n 對于通過鑒定獲得上機權的用戶即合法用戶,對于通過鑒定獲得上機權的用戶即合法用戶,系統根據系統根據n 他的存取權限定義對他的各種操作請求進行控制,他的存取權限定義對他的各種操作請求進行控制,確保他只確保他只n 執行合法操作。假設用戶的操作請求超出了定義的執行合法操作。假設用戶的操作請求超出了定義的權限,系統權限,系統n 將拒絕執行此操作將拒絕執行此操作n用戶權限定義和合法權檢查機制一起組成了用戶權限定義和合法權檢查機制一起組成了
10、DBMS的的平安子系統平安子系統存取控制續存取控制續n常用的存取控制方法常用的存取控制方法n1)自主存取控制自主存取控制Discretionary Access Control ,簡稱簡稱DACn同一用戶對于不同的數據對象有不同的存取權限;不同一用戶對于不同的數據對象有不同的存取權限;不同的用戶同的用戶n對同一對象也有不同的權限;用戶還可將其擁有的存對同一對象也有不同的權限;用戶還可將其擁有的存取權限轉取權限轉n授給其他用戶。授給其他用戶。n2強制存取控制強制存取控制Mandatory Access Control,簡稱簡稱 MACn每一個數據對象被標以一定的密級;每一個用戶也被每一個數據對象
11、被標以一定的密級;每一個用戶也被授予某一授予某一n個級別的許可證;對于任意一個對象,只有具有合法個級別的許可證;對于任意一個對象,只有具有合法許可證的許可證的n用戶才可以存取。用戶才可以存取。nDAC比較靈活,比較靈活, MAC比較嚴格。比較嚴格。第四章第四章 數據庫平安性數據庫平安性4.1 計算機系統平安性概述計算機系統平安性概述4.2 數據庫平安性控制數據庫平安性控制4.3 數據庫存取控制方法數據庫存取控制方法4.4 視圖機制視圖機制4.5 審計審計4.6 統計數據庫平安性統計數據庫平安性4.7 小結小結一、用戶權限一、用戶權限用戶權限由兩個要素組成:數據對象和操作類型用戶權限由兩個要素組
12、成:數據對象和操作類型 對象類型 對 象 操 作 類 型 模式 CREATE SCHEMA 基本表 CREATE TABLE, ALTER TABLE 視圖 CREATE VIEW 數據庫 模式 索引 CREATE INDEX 基本表 視圖 SELECT,INSERT,UPDATE, DELETE,REFERENCES, ALL 數 據 屬性列 SELECT,INSERT,REFERENCES, DELETE,UPDATE,ALL 關系數據庫中用戶的權限二、二、建立用戶建立用戶建立用戶分兩步:建立用戶分兩步:1建立效勞器登錄用戶建立效勞器登錄用戶點擊效勞器點擊效勞器local)?雙擊雙擊“平安
13、性平安性?雙擊雙擊“登錄,按登錄,按右鍵拉出菜單,選擇右鍵拉出菜單,選擇“新建登錄新建登錄?輸入新用戶名稱;選輸入新用戶名稱;選SQLServer身份驗證,輸入密碼。點擊身份驗證,輸入密碼。點擊“確定退出。確定退出。2數據庫用戶的建立數據庫用戶的建立選定某數據庫,點擊展開選定某數據庫,點擊展開?點擊點擊“用戶,按右鍵拉出菜單,用戶,按右鍵拉出菜單,選選“新建數據庫用戶,在效勞器登錄用戶中選擇登錄名,用新建數據庫用戶,在效勞器登錄用戶中選擇登錄名,用戶名和登錄名一致。點擊戶名和登錄名一致。點擊“確定退出。確定退出。三、授權與回收三、授權與回收1 1、授、授 權權使用使用GRANTGRANT語句為
14、用戶授權,其一般格式如下:語句為用戶授權,其一般格式如下: GRANT GRANT ,. . ON ON TO TO ,.WITH GRANT .WITH GRANT OPTION;OPTION;功能:將對指定操作對象的指定操作權限授予指定的功能:將對指定操作對象的指定操作權限授予指定的用戶。用戶。帶帶WITH GRANT OPTIONWITH GRANT OPTION選項,獲得某種權限的用戶還可選項,獲得某種權限的用戶還可以把這以把這 種權限再授予別的用戶。否那么只能使用該權限,種權限再授予別的用戶。否那么只能使用該權限,不能傳播該不能傳播該 權限。權限。由由DBADBA和表的建立者即表的屬
15、主發出命令和表的建立者即表的屬主發出命令根本表或視圖的屬主擁有對該表或視圖的一切操作權根本表或視圖的屬主擁有對該表或視圖的一切操作權限限例題例題例例1 1 把查詢把查詢StudentStudent表的權限授給用戶表的權限授給用戶U1U1 GRANT SELECT ON Student TO GRANT SELECT ON Student TO U1U1; ;例例2 2 把對把對CourseCourse表的全部權限授予用戶表的全部權限授予用戶U2U2和和U3(P127)U3(P127) GRANT GRANT ALLALL ON Course TO U2, U3; ON Course TO U2
16、, U3;例例3 3 把對表把對表SCSC的查詢權限授予所有用戶的查詢權限授予所有用戶 GRANT SELECT ON SC GRANT SELECT ON SC TO TO PUBLICPUBLIC; /PUBLIC; /PUBLIC表示全體用戶表示全體用戶例例4 4 把查詢把查詢StudentStudent表和修改學號的權限授給用戶表和修改學號的權限授給用戶U4U4 GRANT GRANT UPDATE(Sno),UPDATE(Sno), SELECT ON Student TO U4; SELECT ON Student TO U4;上機操作:點擊某數據庫如上機操作:點擊某數據庫如s_c
17、數據庫,進入查詢分析器,輸數據庫,進入查詢分析器,輸入上述命令并執行,以下各例相同。入上述命令并執行,以下各例相同。例題續例題續 例例5 5 把對表把對表SCSC的的INSERTINSERT權限授予權限授予U5U5用戶,并允許他再將此權限用戶,并允許他再將此權限 授予其他用戶授予其他用戶 GRANT INSERT GRANT INSERT ON SC TO U5 ON SC TO U5 WITH GRANT OPTIONWITH GRANT OPTION; ;執行例執行例5 5后,后,U5U5不僅擁有了對表不僅擁有了對表SCSC的的INSERTINSERT權限,還可以傳播此權限,還可以傳播此權
18、限權限: GRANT INSERT ON SC GRANT INSERT ON SC TO U6TO U6 WITH GRANT OPTIONWITH GRANT OPTION; ; 同樣,同樣,U6U6還可以將此權限授予還可以將此權限授予U7U7: GRANT INSERT ON SC GRANT INSERT ON SC TO U7TO U7; ; 但但U7U7不能再傳播此權限。不能再傳播此權限。 U5- U6- U7U5- U6- U72、收回權限、收回權限n授予的權限可以由授予的權限可以由DBADBA或其他授權者使用或其他授權者使用REVOKEREVOKE語句語句收回,其一般格式為:收
19、回,其一般格式為: REVOKE REVOKE ,. . ON ON FROM FROM ,.;.;n功能:從指定功能:從指定用戶用戶那里收回對指定那里收回對指定對象對象的指定的指定權限權限例題例題例例6 6 把用戶把用戶U4U4修改學生學號的權限收回修改學生學號的權限收回REVOKE UPDATE(Sno)REVOKE UPDATE(Sno)ON Student ON Student FROM U4;FROM U4;例例7 7 收回所有用戶對表收回所有用戶對表SCSC的查詢權限的查詢權限REVOKE SELECT REVOKE SELECT ON SC ON SC FROM FROM PUB
20、LICPUBLIC; ;例題續例題續例例8 8 把用戶把用戶U5U5對對SCSC表的表的INSERTINSERT權限收回權限收回REVOKE INSERT REVOKE INSERT ON SC ON SC FROM U5 CASCADE;FROM U5 CASCADE;系統將收回直接或間接從系統將收回直接或間接從U5U5處獲得的對處獲得的對SCSC表表的的INSERTINSERT權限,假設權限,假設U5U5將將INSERTINSERT權限傳給了權限傳給了 U6 U6和和 U7 U7,那么收回,那么收回U5U5、U6U6、U7U7獲得的對獲得的對SCSC表的表的INSERTINSERT權限。權
21、限。3、創立數據庫模式的權限、創立數據庫模式的權限GRANT CREATE TABLE TO CAO ;GRANT CREATE VIEW TO CAO ; /在某一數據庫下完成,如點擊在某一數據庫下完成,如點擊student數據庫,進入數據庫,進入查詢分析器,輸入上述命令并執行。查詢分析器,輸入上述命令并執行。GRANT CREATE DATABASE TO CAO ;/在在master數據庫下完成。數據庫下完成。 REVOKE create view from cao按右鍵拉出菜單,選擇“屬性查看用戶即用戶權限4. 數據庫角色數據庫角色數據庫角色是被命名的一組與數據庫操作相關的權限,角色是
22、數據庫角色是被命名的一組與數據庫操作相關的權限,角色是權限的集合。我們可以為一組具有相同權限的用戶創立一個角權限的集合。我們可以為一組具有相同權限的用戶創立一個角色,以簡化授權過程。色,以簡化授權過程。角色創立角色創立CREATE ROLE 給角色授權給角色授權GRANT , ON 對象名對象名 TO, 將一個角色授予其他角色或用戶將一個角色授予其他角色或用戶GRANT , TO , sqlserver不支持命令方式,但支持角色的概念和方法。不支持命令方式,但支持角色的概念和方法。nWITH ADMIN OPTIONn角色角色3和用戶和用戶1具有角色具有角色1和角色和角色2的權限和,如果帶有的
23、權限和,如果帶有WITH nADMIN OPTION選項,那么角色選項,那么角色3和用戶和用戶1可以將角色可以將角色1和角和角色色2的的n權限授予其他角色。執行者是角色的創立者或在其上有權限授予其他角色。執行者是角色的創立者或在其上有 ADMINn OPTION。n角色權限的收回角色權限的收回nREVOKE , ON對象名對象名nFROM, n執行者是角色的創立者或在其上有執行者是角色的創立者或在其上有 ADMIN OPTION。 數據庫角色數據庫角色例例11 通過角色來實現將一組權限授予一個用戶通過角色來實現將一組權限授予一個用戶 CREATE ROLE R1; /創立角色創立角色R1 GR
24、ANT SELECT,UPDATE,INSERT ON Student TO R1; /給角色給角色R1授權授權 GRANT R1 TO 王平王平,張明張明,趙玲;趙玲;/將將R1授予王平授予王平,張明張明,趙玲趙玲 REVOKE R1 FROM 王平王平; /收回王平三項權限收回王平三項權限例例12 角色權限的修改角色權限的修改 GRANT DELETE ON Student TO R1; /給角色給角色R1增加增加DELETE權限權限 REVOKE SELECT ON Student FROM R1; /減少減少R1對對Student表的表的SELECT權限權限 數據庫角色數據庫角色第四章
25、第四章 數據庫平安性數據庫平安性4.1 計算機系統平安性概述計算機系統平安性概述4.2 數據庫平安性控制數據庫平安性控制4.3 數據庫存取控制方法數據庫存取控制方法4.4 視圖機制視圖機制4.5 審計審計4.6 統計數據庫平安性統計數據庫平安性4.7 小結小結4.4 視圖機制視圖機制n視圖機制把要保密的數據對無權存取這些數據的用戶隱藏起來,視圖機制把要保密的數據對無權存取這些數據的用戶隱藏起來,從而自動地對數據提供一定程度的平安保護。從而自動地對數據提供一定程度的平安保護。n視圖機制與授權機制配合使用視圖機制與授權機制配合使用:n 首先用視圖機制屏蔽掉一局部保密數據,然后在視圖上面再首先用視圖
26、機制屏蔽掉一局部保密數據,然后在視圖上面再進一步定義存取權限。例:進一步定義存取權限。例:nCREATE VIEW CS_Student /先建立計算機系學生的視圖先建立計算機系學生的視圖 AS SELECT * FROM Student WHERE Sdept=CSn 在視圖上進一步定義存取權限在視圖上進一步定義存取權限nGRANT SELECT ON CS_Student TO 王平王平 ;nGRANT ALL PRIVILIGES ON CS_Student TO 張明;張明;第四章第四章 數據庫平安性數據庫平安性4.1 計算機系統平安性概述計算機系統平安性概述4.2 數據庫平安性控制數
27、據庫平安性控制4.3 數據庫存取控制方法數據庫存取控制方法4.4 視圖機制視圖機制4.5 審計審計4.6 統計數據庫平安性統計數據庫平安性4.7 小結小結4.5 審計審計n什么是審計什么是審計n啟用一個專用的審計日志啟用一個專用的審計日志Audit Log將用戶對將用戶對數據庫的所有操作記錄在上面;數據庫的所有操作記錄在上面;nDBA可以利用審計日志中的追蹤信息找出非法存取可以利用審計日志中的追蹤信息找出非法存取數據的人;數據的人;n平安級別較高的平安級別較高的DBMS必須具有審計功能。必須具有審計功能。n審計功能的可選性審計功能的可選性n審計很費時間和空間審計很費時間和空間nDBA可以根據應
28、用對平安性的要求,靈活地翻開或可以根據應用對平安性的要求,靈活地翻開或關閉審計功能。關閉審計功能。審計續審計續n審計一般可以分為用戶級審計和系統級審計審計一般可以分為用戶級審計和系統級審計n1用戶級審計是任何用戶都可以設置的審計,主用戶級審計是任何用戶都可以設置的審計,主要是用戶針對自己創立的表或視圖進行審計,記錄要是用戶針對自己創立的表或視圖進行審計,記錄所有用戶對這些表或視圖進行的操作。所有用戶對這些表或視圖進行的操作。n2系統級審計由系統級審計由DBA設置,監測登錄操作、設置,監測登錄操作、GRANT和和REVOKE操作、數據庫操作。操作、數據庫操作。審計續審計續nAUDIT語句用來設置
29、審計功能,語句用來設置審計功能,NOAUDIT語句用語句用來取消審計功能。來取消審計功能。例例1: 對修改對修改SC表結構和修改表結構和修改SC表數據的操作進行審計表數據的操作進行審計 AUDIT ALTER,UPDATE ON SC;例例2: 取消對取消對SC表的一切審計表的一切審計 NOAUDIT ALL ON SC;SQL SERVER通過管理功能來實現。通過管理功能來實現。第四章第四章 數據庫平安性數據庫平安性4.1 計算機系統平安性概述計算機系統平安性概述4.2 數據庫平安性控制數據庫平安性控制4.3 數據庫存取控制方法數據庫存取控制方法4.4 視圖機制視圖機制4.5 審計審計4.6 統計數據庫平安性統計數據庫平安性4.7 小結小結4.6 統計數據庫平安性統計數據庫平安性v統計數
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論