![第九章 數(shù)據(jù)庫安全(2012)_第1頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/22/7eeff1bd-1927-42b6-8e61-ad59587da454/7eeff1bd-1927-42b6-8e61-ad59587da4541.gif)
![第九章 數(shù)據(jù)庫安全(2012)_第2頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/22/7eeff1bd-1927-42b6-8e61-ad59587da454/7eeff1bd-1927-42b6-8e61-ad59587da4542.gif)
![第九章 數(shù)據(jù)庫安全(2012)_第3頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/22/7eeff1bd-1927-42b6-8e61-ad59587da454/7eeff1bd-1927-42b6-8e61-ad59587da4543.gif)
![第九章 數(shù)據(jù)庫安全(2012)_第4頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/22/7eeff1bd-1927-42b6-8e61-ad59587da454/7eeff1bd-1927-42b6-8e61-ad59587da4544.gif)
![第九章 數(shù)據(jù)庫安全(2012)_第5頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/22/7eeff1bd-1927-42b6-8e61-ad59587da454/7eeff1bd-1927-42b6-8e61-ad59587da4545.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第九章第九章 數(shù)據(jù)庫安全數(shù)據(jù)庫安全12安全性概述SQL Server 的安全性34用戶管理和角色管理權限管理5架構9.1 安全性概述安全性概述 問題的提出問題的提出 數(shù)據(jù)庫的一大特點是數(shù)據(jù)可以共享;數(shù)據(jù)庫的一大特點是數(shù)據(jù)可以共享; 數(shù)據(jù)共享必然帶來數(shù)據(jù)庫的安全性問題;數(shù)據(jù)共享必然帶來數(shù)據(jù)庫的安全性問題; 數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)共享不能是無條件的共享數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)共享不能是無條件的共享; 安全性問題不是數(shù)據(jù)庫系統(tǒng)所獨有的安全性問題不是數(shù)據(jù)庫系統(tǒng)所獨有的,而是所有而是所有計算機系統(tǒng)都有這個問題計算機系統(tǒng)都有這個問題.9.1 安全性概述安全性概述 什么是數(shù)據(jù)庫的安全性?什么是數(shù)據(jù)庫的安全性? 保護數(shù)
2、據(jù)庫以防止不合法的使用所造成的數(shù)據(jù)保護數(shù)據(jù)庫以防止不合法的使用所造成的數(shù)據(jù)泄露、更改或破壞。泄露、更改或破壞。 數(shù)據(jù)庫系統(tǒng)的安全保護措施是否有效是數(shù)據(jù)庫系數(shù)據(jù)庫系統(tǒng)的安全保護措施是否有效是數(shù)據(jù)庫系統(tǒng)主要的性能指標之一。統(tǒng)主要的性能指標之一。 什么是計算機系統(tǒng)安全性?什么是計算機系統(tǒng)安全性? 為計算機系統(tǒng)建立和采取的各種安全保護措施,為計算機系統(tǒng)建立和采取的各種安全保護措施,以保護計算機系統(tǒng)中的硬件、軟件及數(shù)據(jù),防以保護計算機系統(tǒng)中的硬件、軟件及數(shù)據(jù),防止因偶然或惡意的原因使系統(tǒng)遭到破壞,數(shù)據(jù)止因偶然或惡意的原因使系統(tǒng)遭到破壞,數(shù)據(jù)遭到更改或泄露等。遭到更改或泄露等。9.1 安全性概述安全性概述
3、 計算機安全性問題分類計算機安全性問題分類 技術安全:技術安全:指計算機系統(tǒng)中采用具有一定安全性的指計算機系統(tǒng)中采用具有一定安全性的硬件、軟件來實現(xiàn)對計算機系統(tǒng)及其所存數(shù)據(jù)的安硬件、軟件來實現(xiàn)對計算機系統(tǒng)及其所存數(shù)據(jù)的安全保護。全保護。 管理安全:管理安全:由于管理不善導致的計算機設備和數(shù)據(jù)由于管理不善導致的計算機設備和數(shù)據(jù)介質的物理破壞、丟失等軟硬件意外故障以及場地介質的物理破壞、丟失等軟硬件意外故障以及場地的意外事故等安全問題。的意外事故等安全問題。 政策法律類:政策法律類:政府部門建立的有關計算機犯罪、數(shù)政府部門建立的有關計算機犯罪、數(shù)據(jù)安全保密的法律道德準則和政策法規(guī)、法令。據(jù)安全保密
4、的法律道德準則和政策法規(guī)、法令。 (一級一級層層設置)(一級一級層層設置)用戶用戶DBMSOSDB用戶標識用戶標識和鑒別和鑒別存取控制存取控制視圖、視圖、審計審計操作系統(tǒng)操作系統(tǒng)安全保護安全保護 密碼保護密碼保護9.1 安全性概述安全性概述 計算機系統(tǒng)的安全模型計算機系統(tǒng)的安全模型9.1.1 用戶標識與鑒別用戶標識與鑒別 系統(tǒng)提供的最外層的安全保護措施。系統(tǒng)提供的最外層的安全保護措施。 具體方法:具體方法: 系統(tǒng)提供一定的方式讓用戶標識自己的名字或系統(tǒng)提供一定的方式讓用戶標識自己的名字或身份;身份; 系統(tǒng)內部記錄著所有合法用戶的標識;系統(tǒng)內部記錄著所有合法用戶的標識; 每次用戶要求進入系統(tǒng)時,
5、由系統(tǒng)核對用戶提每次用戶要求進入系統(tǒng)時,由系統(tǒng)核對用戶提供的身份標識;供的身份標識; 通過鑒定后才提供機器使用權;通過鑒定后才提供機器使用權; 用戶標識和鑒定可以重復多次。用戶標識和鑒定可以重復多次。9.1.1 用戶標識與鑒別用戶標識與鑒別 用戶名用戶名/口令口令 簡單易行,容易被人竊取。簡單易行,容易被人竊取。 每個用戶預先約定好一個計算過程或者函數(shù)每個用戶預先約定好一個計算過程或者函數(shù): 系統(tǒng)提供一個隨機數(shù);系統(tǒng)提供一個隨機數(shù); 用戶根據(jù)自己預先約定的計算過程或者函數(shù)進用戶根據(jù)自己預先約定的計算過程或者函數(shù)進行計算;行計算; 系統(tǒng)根據(jù)用戶計算結果是否正確鑒定用戶身份。系統(tǒng)根據(jù)用戶計算結果是
6、否正確鑒定用戶身份。常用方法:常用方法:9.1.2 存取控制存取控制 存取控制機制組成存取控制機制組成 定義存取權限定義存取權限: 為用戶定義適當?shù)拇嫒嘞?,并登記入?shù)據(jù)為用戶定義適當?shù)拇嫒嘞蓿⒌怯浫霐?shù)據(jù)字典(安全規(guī)則或授權規(guī)則)字典(安全規(guī)則或授權規(guī)則) 合法權限檢查合法權限檢查: 查找數(shù)據(jù)字典,根據(jù)安全規(guī)則進行用戶合法查找數(shù)據(jù)字典,根據(jù)安全規(guī)則進行用戶合法權限檢查權限檢查 用戶權限定義和合法權限檢查機制一起組成用戶權限定義和合法權限檢查機制一起組成DBMS的安全子系統(tǒng)。的安全子系統(tǒng)。9.1.2 存取控制存取控制 存取控制方法存取控制方法 自主存取控制自主存取控制(DAC :Discre
7、tionary Access Control ): 強制存取控制強制存取控制(MAC : Mandatory Access Control ): 同一用戶對于不同的數(shù)據(jù)對象有不同的存取權限,同一用戶對于不同的數(shù)據(jù)對象有不同的存取權限,不同的用戶對同一對象也有不同的權限,用戶還可不同的用戶對同一對象也有不同的權限,用戶還可將其擁有的存取權限轉授給其他用戶。將其擁有的存取權限轉授給其他用戶。 每一個數(shù)據(jù)對象被標以一定的密級,每一個用戶每一個數(shù)據(jù)對象被標以一定的密級,每一個用戶也被授予某一個級別的許可證,對于任意一個對象,也被授予某一個級別的許可證,對于任意一個對象,只有具有合法許可證的用戶才可以存
8、取。只有具有合法許可證的用戶才可以存取。9.1.3 自主存取控制(自主存取控制(DAC)方法)方法 定義存取權限:定義存取權限: 授權:授權:GRANT 收回權限:收回權限:REVORK 檢查存取權限:檢查存取權限:對于獲得上機權后又進一步發(fā)對于獲得上機權后又進一步發(fā)出存取數(shù)據(jù)庫操作的用戶:出存取數(shù)據(jù)庫操作的用戶:DBMS查找數(shù)據(jù)字典,根據(jù)其存取權限對操查找數(shù)據(jù)字典,根據(jù)其存取權限對操作的合法性進行檢查;作的合法性進行檢查;若用戶的操作請求超出了定義的權限,系統(tǒng)若用戶的操作請求超出了定義的權限,系統(tǒng)將拒絕執(zhí)行此操作。將拒絕執(zhí)行此操作。9.1.4 強制存取控制(強制存取控制(MAC)方法)方法
9、強制存取控制強制存取控制(MAC):指系統(tǒng)為保證更高程度指系統(tǒng)為保證更高程度的安全性,按照的安全性,按照TDI/TCSEC標準中安全策略的要標準中安全策略的要求,所采取的強制存取檢查手段。求,所采取的強制存取檢查手段。 MAC不是用戶能直接感知或進行控制的。不是用戶能直接感知或進行控制的。 MAC適用于對數(shù)據(jù)有嚴格而固定密級分類的部門:適用于對數(shù)據(jù)有嚴格而固定密級分類的部門: 軍事部門軍事部門 政府部門政府部門9.1.4 強制存取控制(強制存取控制(MAC)方法)方法 主體主體是系統(tǒng)中的活動實體是系統(tǒng)中的活動實體: DBMS所管理的實際用戶所管理的實際用戶 代表用戶的各進程代表用戶的各進程 客
10、體客體是系統(tǒng)中的被動實體,是受主體操縱的是系統(tǒng)中的被動實體,是受主體操縱的: 文件、基表、索引文件、基表、索引 、視圖、視圖 在在MAC中,中,DBMS所管理的全部實體被分為主體所管理的全部實體被分為主體和客體兩大類和客體兩大類:9.1.4 強制存取控制(強制存取控制(MAC)方法)方法 主體的敏感度標記稱為主體的敏感度標記稱為許可證級別許可證級別 客體的敏感度標記稱為客體的敏感度標記稱為密級密級 MAC機制就是通過對比主體的機制就是通過對比主體的Label和客體的和客體的Label,最終確定主體是否能夠存取客體。,最終確定主體是否能夠存取客體。 敏感度標記敏感度標記(LabelLabel)
11、對于主體和客體,對于主體和客體,DBMSDBMS為它們每個實例(值)為它們每個實例(值)指派一個敏感度標記。指派一個敏感度標記。 分成若干級別:分成若干級別: 絕密、機密、可信、公開絕密、機密、可信、公開9.1.4 強制存取控制(強制存取控制(MAC)方法)方法 強制存取控制規(guī)則強制存取控制規(guī)則 當某一用戶(或某一主體)以標記當某一用戶(或某一主體)以標記label注冊入系統(tǒng)時,注冊入系統(tǒng)時,系統(tǒng)要求他對任何客體的存取必須遵循下面兩條規(guī)則:系統(tǒng)要求他對任何客體的存取必須遵循下面兩條規(guī)則:(1)僅當主體的許可證級別)僅當主體的許可證級別大于或等于大于或等于客體的密級時,該客體的密級時,該主體才能
12、主體才能讀取讀取相應的客體;相應的客體;(2)僅當主體的許可證級別)僅當主體的許可證級別等于等于客體的密級時,該主體才客體的密級時,該主體才能能寫寫相應的客體。相應的客體。修正規(guī)則修正規(guī)則 (某些系統(tǒng)規(guī)定某些系統(tǒng)規(guī)定) 主體的許可證級別主體的許可證級別小于等于小于等于客體的密級,主體能客體的密級,主體能寫寫相應的客體。相應的客體。 表示:用戶可為寫入的數(shù)據(jù)對象賦予高于自己的許可證級別的密表示:用戶可為寫入的數(shù)據(jù)對象賦予高于自己的許可證級別的密級,但一旦數(shù)據(jù)被寫入,該用戶自己也不能再讀該數(shù)據(jù)對象了。級,但一旦數(shù)據(jù)被寫入,該用戶自己也不能再讀該數(shù)據(jù)對象了。 共同點共同點:禁止了擁有高許可證級別的主
13、體更新低密級的:禁止了擁有高許可證級別的主體更新低密級的數(shù)據(jù)對象,防止敏感數(shù)據(jù)的泄漏。數(shù)據(jù)對象,防止敏感數(shù)據(jù)的泄漏。9.1.4 強制存取控制(強制存取控制(MAC)方法)方法 強制存取控制的特點強制存取控制的特點 MAC是對數(shù)據(jù)本身進行密級標記;是對數(shù)據(jù)本身進行密級標記; 無論數(shù)據(jù)如何復制,標記與數(shù)據(jù)是一個不可分的整體;無論數(shù)據(jù)如何復制,標記與數(shù)據(jù)是一個不可分的整體; 只有符合密級標記要求的用戶才可以操縱數(shù)據(jù);只有符合密級標記要求的用戶才可以操縱數(shù)據(jù); 提供了更高級別的安全性。提供了更高級別的安全性。MAC與與DAC小結小結 DAC與與MAC共同構成共同構成DBMS的安全機制的安全機制 原因:
14、較高安全性級別提供的安全保護要包含較低級原因:較高安全性級別提供的安全保護要包含較低級別的所有保護。別的所有保護。 先進行先進行DAC檢查,通過檢查,通過DAC檢查的數(shù)據(jù)對象再由系統(tǒng)進檢查的數(shù)據(jù)對象再由系統(tǒng)進行行MAC檢查,只有通過檢查,只有通過MAC檢查的數(shù)據(jù)對象方可存取。檢查的數(shù)據(jù)對象方可存取。9.1.5 視圖機制視圖機制 視圖機制把要保密的數(shù)據(jù)對無權存取這些數(shù)據(jù)的視圖機制把要保密的數(shù)據(jù)對無權存取這些數(shù)據(jù)的用戶隱藏起來。用戶隱藏起來。 視圖機制與授權機制配合使用視圖機制與授權機制配合使用:即首先用視圖機制即首先用視圖機制屏蔽掉一部分保密數(shù)據(jù);在視圖上再進一步定義屏蔽掉一部分保密數(shù)據(jù);在視圖
15、上再進一步定義存取權限。存取權限。9.1.5 視圖機制視圖機制例:在配電物資表例:在配電物資表stockstock中如果指定中如果指定U1U1用戶只能查看用戶只能查看供電局供電局1#1#倉庫的物資時,可以先建立供電局倉庫的物資時,可以先建立供電局1#1#倉庫倉庫的配電物資視圖,然后在該視圖上進一步定義存取的配電物資視圖,然后在該視圖上進一步定義存取權限。權限。 CREATE VIEW View_Stock1AS SELECT * FROM STOCK WHERE warehouse= 供電局供電局1#倉庫倉庫; /*先建視圖先建視圖*/GRANT SELECTON View_Stock1TO
16、U1;9.1.6 審計審計 什么是審計什么是審計? 啟用一個專用的審計日志(啟用一個專用的審計日志(Audit Log),將),將用戶對數(shù)據(jù)庫的所有操作記錄在上面;用戶對數(shù)據(jù)庫的所有操作記錄在上面; 審計功能是一種監(jiān)視措施,它跟蹤記錄有關數(shù)審計功能是一種監(jiān)視措施,它跟蹤記錄有關數(shù)據(jù)的訪問活動據(jù)的訪問活動 。 DBA可以利用審計日志中的追蹤信息,找出非可以利用審計日志中的追蹤信息,找出非法存取數(shù)據(jù)的人、時間和內容。法存取數(shù)據(jù)的人、時間和內容。 注:審計很費時間和空間,注:審計很費時間和空間,DBA可以根據(jù)應用對可以根據(jù)應用對安全性的要求,靈活地打開或關閉審計功能。安全性的要求,靈活地打開或關閉審
17、計功能。9.1.7 數(shù)據(jù)加密數(shù)據(jù)加密 數(shù)據(jù)加密數(shù)據(jù)加密 防止數(shù)據(jù)庫中數(shù)據(jù)在存儲和傳輸中失密的有防止數(shù)據(jù)庫中數(shù)據(jù)在存儲和傳輸中失密的有效手段。效手段。 加密的基本思想加密的基本思想 根據(jù)一定的算法將原始數(shù)據(jù)(明文)變換為根據(jù)一定的算法將原始數(shù)據(jù)(明文)變換為不可直接識別的格式(密文),使得不知道不可直接識別的格式(密文),使得不知道解密算法的人無法獲知數(shù)據(jù)的內容。解密算法的人無法獲知數(shù)據(jù)的內容。 加密方法加密方法 替換方法替換方法:使用密鑰將明文中的每一個字符轉換為密:使用密鑰將明文中的每一個字符轉換為密文中的一個字符。文中的一個字符。 置換方法置換方法:將明文的字符按不同的順序重新排列。:將明
18、文的字符按不同的順序重新排列。 混合混合方法方法:美國:美國1977年制定的官方加密標準:數(shù)據(jù)加年制定的官方加密標準:數(shù)據(jù)加密標準(密標準(Data Encryption Standard,簡稱,簡稱DES)9.2 SQL Server的安全性的安全性設置設置SQLServer2005SQLServer2005登登錄的身份驗證模錄的身份驗證模式的方法:式的方法:-安全性安全性-右擊右擊“新建新建”-單擊單擊“登錄登錄”, ,如圖:如圖:9.2.1 SQL Server 2005的身份驗證模式的身份驗證模式1 1、WindowsWindows身份驗證模式身份驗證模式默認默認( (安全安全) )
19、用戶通過用戶通過Microsoft WindowsMicrosoft Windows用戶帳戶連接時,用戶帳戶連接時,SQL ServerSQL Server使用使用WindowsWindows操作系統(tǒng)中的信息驗證帳操作系統(tǒng)中的信息驗證帳戶名和密碼。戶名和密碼。2 2、混合驗證模式、混合驗證模式 混合驗證模式下,當客戶端連接到服務器時,既混合驗證模式下,當客戶端連接到服務器時,既可采取可采取WindowsWindows身份驗證,也可采取身份驗證,也可采取SQL ServerSQL Server身身份驗證。份驗證。如果必須選擇如果必須選擇 混合模式混合模式 并要求使用并要求使用SQL SQL Se
20、rverServer帳戶登錄,則必須為所有的帳戶登錄,則必須為所有的SQL ServerSQL Server帳戶設帳戶設置強密碼。置強密碼。 9.2.2 SQL Server 2005的安全機制的安全機制SQL ServerSQL Server的安全性主體主要有三個級別的安全性主體主要有三個級別 :1.1.服務器級別服務器級別 所含的安全對象主要有登錄名、固定服務器角色等,所含的安全對象主要有登錄名、固定服務器角色等,其中登錄名用于登錄數(shù)據(jù)庫服務器,而固定服務器角色用其中登錄名用于登錄數(shù)據(jù)庫服務器,而固定服務器角色用于給登錄名賦予相應的服務器權限。于給登錄名賦予相應的服務器權限。2. 2. 數(shù)
21、據(jù)庫級別數(shù)據(jù)庫級別 所含的安全對象主要有用戶、角色、應用程序角色、所含的安全對象主要有用戶、角色、應用程序角色、證書、對稱密鑰、非對稱密鑰、程序集、全文目錄、證書、對稱密鑰、非對稱密鑰、程序集、全文目錄、DDLDDL事件、架構等。事件、架構等。3.3.架構級別架構級別 所含的安全對象主要有表、視圖、函數(shù)、存儲過程、所含的安全對象主要有表、視圖、函數(shù)、存儲過程、類型、聚合函數(shù)等。系統(tǒng)默認架構為類型、聚合函數(shù)等。系統(tǒng)默認架構為dbodbo。 一個數(shù)據(jù)庫使用者,想要登錄一個數(shù)據(jù)庫使用者,想要登錄SQL ServerSQL Server服務器上的服務器上的數(shù)據(jù)庫,并對數(shù)據(jù)庫中的表執(zhí)行更新操作,則該使用
22、者必須數(shù)據(jù)庫,并對數(shù)據(jù)庫中的表執(zhí)行更新操作,則該使用者必須經(jīng)過下圖所示的安全驗證:經(jīng)過下圖所示的安全驗證: 9.3 用戶管理和角色管理用戶管理和角色管理 在在SQL Server中,有登錄用戶和數(shù)據(jù)庫用戶兩個概念。中,有登錄用戶和數(shù)據(jù)庫用戶兩個概念。一個用戶需要首先是一個數(shù)據(jù)庫系統(tǒng)的登錄用戶,然后才可一個用戶需要首先是一個數(shù)據(jù)庫系統(tǒng)的登錄用戶,然后才可以訪問某一個具體的數(shù)據(jù)庫。以訪問某一個具體的數(shù)據(jù)庫。登錄用戶登錄用戶:由系統(tǒng)由系統(tǒng)管理員管理;管理員管理;數(shù)據(jù)庫用戶數(shù)據(jù)庫用戶:由數(shù)由數(shù)據(jù)庫管理員管據(jù)庫管理員管理。理。1.登錄用戶的管理登錄用戶的管理 SQL Server 有兩個常用的默認登錄名
23、:有兩個常用的默認登錄名: l sa:系統(tǒng)管理員,擁有操作系統(tǒng)管理員,擁有操作SQL Server系統(tǒng)的所系統(tǒng)的所有權限,該登錄名不能被刪除。有權限,該登錄名不能被刪除。l BUILTINAdministrator:SQL Server為每個為每個Windows系統(tǒng)管理員提供的默認用戶賬戶,在系統(tǒng)管理員提供的默認用戶賬戶,在SQL Server中擁有系統(tǒng)和數(shù)據(jù)庫的所有權限。中擁有系統(tǒng)和數(shù)據(jù)庫的所有權限。 9.3.2 用戶管理用戶管理(1)創(chuàng)建新的)創(chuàng)建新的SQLServer登錄用戶登錄用戶CREATE LOGIN login_name WITH PASSWORD=password , DEFA
24、ULT_DATABASE = database | DEFAULT_LANGUAGE = language |FROM WINDOWS WITH DEFAULT_DATABASE = database | DEFAULT_LANGUAGE = language 9.3.2 用戶管理用戶管理l 創(chuàng)建創(chuàng)建Windows驗證模式登錄名驗證模式登錄名 使用使用FROM子句,子句,WINDOWS關鍵字指定將登關鍵字指定將登錄名映射到錄名映射到Windows登錄名。登錄名。例例:假設本地計算機名為假設本地計算機名為student_1,S1是一個已經(jīng)是一個已經(jīng)創(chuàng)建的創(chuàng)建的Windows用戶,創(chuàng)建用戶,創(chuàng)建W
25、indows驗證模式驗證模式下的登錄名下的登錄名S1,默認數(shù)據(jù)庫是,默認數(shù)據(jù)庫是master: CREATE LOGIN student_1S1 FROM WINDOWS WITH DEFAULT_DATABASE=master9.3.2 用戶管理用戶管理l 創(chuàng)建創(chuàng)建SQL Server驗證模式登錄名驗證模式登錄名 例例:創(chuàng)建創(chuàng)建SQL Server登錄名登錄名S2,密碼為,密碼為123456,默認數(shù)據(jù)庫是默認數(shù)據(jù)庫是sample: CREATE LOGIN s2 WITH password=123456, DEFAULT_DATABASE=sample9.3.2 用戶管理用戶管理(2)刪除登
26、錄名刪除登錄名語法格式如下:語法格式如下:DROP LOGIN login_name例:刪除例:刪除Windows登錄名登錄名S1: DROP LOGIN student_1S1刪除刪除SQL Server登錄名登錄名S2: DROP LOGIN S29.3.2 用戶管理用戶管理2.數(shù)據(jù)庫用戶的管理數(shù)據(jù)庫用戶的管理(1)創(chuàng)建數(shù)據(jù)庫用戶創(chuàng)建數(shù)據(jù)庫用戶CREATE USER user_name FOR | FROM LOGIN login_name | WITHOUT LOGIN WITH DEFAULT_SCHEMA = schema_name 9.3.2 用戶管理用戶管理例:使用例:使用SQL
27、 Server登錄名登錄名s2(假設已經(jīng)創(chuàng)建)在(假設已經(jīng)創(chuàng)建)在Sample數(shù)據(jù)庫中創(chuàng)建數(shù)據(jù)庫用戶數(shù)據(jù)庫中創(chuàng)建數(shù)據(jù)庫用戶u1,默認架構,默認架構為為dbo:USE sample GOCREATE USER u1 FROM LOGIN s2WITH DEFAULT_SCHEMA =dbo9.3.2 用戶管理用戶管理9.3.2 用戶管理用戶管理(2)刪除數(shù)據(jù)庫用戶刪除數(shù)據(jù)庫用戶格式如下:格式如下: DROP USER user_name例:刪除例:刪除sample數(shù)據(jù)庫的用戶數(shù)據(jù)庫的用戶u1: USE sample GO DROP USER u1 1.定義角色定義角色其格式是:其格式是:CREA
28、TE ROLE role_name AUTHORIZATION owner_name例:在例:在sample 數(shù)據(jù)庫中創(chuàng)建角色數(shù)據(jù)庫中創(chuàng)建角色student_role,所有,所有者為者為dbo:USE sampleGOCREATE ROLE student_role AUTHORIZATION dbo9.3.3 角色管理角色管理 數(shù)據(jù)庫角色是被命名的一組與數(shù)據(jù)庫操作相關的權數(shù)據(jù)庫角色是被命名的一組與數(shù)據(jù)庫操作相關的權限,角色是權限的集合。則可用一組具有相同權限的限,角色是權限的集合。則可用一組具有相同權限的用戶創(chuàng)建一個角色,以便簡化授權的過程。用戶創(chuàng)建一個角色,以便簡化授權的過程。2. 為用戶
29、指定角色為用戶指定角色可以將數(shù)據(jù)庫用戶指定為數(shù)據(jù)庫角色的成員:可以將數(shù)據(jù)庫用戶指定為數(shù)據(jù)庫角色的成員:SP_ADDROLEMEMBER role_name , user_account 例:使用例:使用Windows驗證模式的登錄名驗證模式的登錄名students1創(chuàng)建創(chuàng)建sample數(shù)據(jù)庫的用戶數(shù)據(jù)庫的用戶students1,并將該用戶添加到角,并將該用戶添加到角色色student_role中:中:USE sample GOCREATE USER students1FROM LOGIN students1SP_ADDROLEMEMBER student_role , students19.3
30、.3 角色管理角色管理3.取消用戶的角色取消用戶的角色 如果某個用戶不再擔當某個角色,可以取消如果某個用戶不再擔當某個角色,可以取消用戶的角色,或者說從角色中刪除用戶。用戶的角色,或者說從角色中刪除用戶。SP_DROPROLEMEMBER role_name , user_name例:取消用戶例:取消用戶s1的的student_role角色:角色:SP_DROPROLEMEMBER student_role , students19.3.3 角色管理角色管理4.刪除角色刪除角色 如果當前數(shù)據(jù)庫中的某個角色不再需要,則如果當前數(shù)據(jù)庫中的某個角色不再需要,則可以刪除該角色??梢詣h除該角色。DROP
31、 ROLErole_name 例例: DROP ROLE student_role注:不能刪除帶有成員的角色;也不能刪除固定角色及注:不能刪除帶有成員的角色;也不能刪除固定角色及public角色。角色。9.3.4 SQL Server的固定角色的固定角色1.1.固定服務器角色固定服務器角色固定服務器角色固定服務器角色描述描述SYSADMINSYSADMIN系統(tǒng)管理員系統(tǒng)管理員, ,擁有所有操作權限擁有所有操作權限, ,可執(zhí)行任何活動可執(zhí)行任何活動. .SERVERADMINSERVERADMIN服務器管理員服務器管理員, ,可以設置服務器范圍的配置選項,關閉服務器??梢栽O置服務器范圍的配置選項
32、,關閉服務器。SETUPADMINSETUPADMIN安裝程序管理員安裝程序管理員, ,可以管理鏈接服務器和啟動過程??梢怨芾礞溄臃掌骱蛦舆^程。SECURITYADMINSECURITYADMIN安全管理員安全管理員, ,可以管理登錄和可以管理登錄和 CREATE DATABASE CREATE DATABASE 權限,還可以權限,還可以讀取錯誤日志和更改密碼。讀取錯誤日志和更改密碼。PROCESSADMINPROCESSADMIN進程管理員進程管理員, ,可以管理在可以管理在 SQL Server SQL Server 中運行的進程。中運行的進程。DBCREATORDBCREATOR數(shù)據(jù)
33、庫創(chuàng)建者數(shù)據(jù)庫創(chuàng)建者, ,可以創(chuàng)建、更改和除去數(shù)據(jù)庫??梢詣?chuàng)建、更改和除去數(shù)據(jù)庫。DISKADMINDISKADMIN磁盤管理員磁盤管理員, ,可以管理磁盤文件??梢怨芾泶疟P文件。BULKADMINBULKADMIN塊數(shù)據(jù)操作管理員塊數(shù)據(jù)操作管理員, ,可以執(zhí)行可以執(zhí)行 BULK INSERT BULK INSERT 語句。語句。l 可以把登錄名添加到固定服務器角色中,使得登錄名作為可以把登錄名添加到固定服務器角色中,使得登錄名作為固定服務器角色的成員繼承固定服務器角色的權限。固定服務器角色的成員繼承固定服務器角色的權限。 語法如下:語法如下:SP_ADDSRVROLEMEMBER login
34、, role例:將登錄例:將登錄JOHN指定為指定為SYSADMIN固定服務器角色的成員,固定服務器角色的成員,則以則以JOHN登錄名登錄系統(tǒng)的用戶將自動擁有系統(tǒng)管理員權登錄名登錄系統(tǒng)的用戶將自動擁有系統(tǒng)管理員權限:限:SP_ADDSRVROLEMEMBER JOHN , SYSADMINl 將固定服務器角色的某個成員刪除將固定服務器角色的某個成員刪除 。語法如下:語法如下:SP_DROPSRVROLEMEMBER login , role例:從例:從 sysadmin 固定服務器角色中刪除登錄固定服務器角色中刪除登錄JOHN。SP_DROPSRVROLEMEMBER JOHN , SYSAD
35、MIN9.3.4 SQL Server的固定角色的固定角色 2. 固定數(shù)據(jù)庫角色固定數(shù)據(jù)庫角色固定數(shù)據(jù)庫角色固定數(shù)據(jù)庫角色描述描述DB_OWNER數(shù)據(jù)庫所有者,在數(shù)據(jù)庫中有全部權限。數(shù)據(jù)庫所有者,在數(shù)據(jù)庫中有全部權限。DB_ACCESSADMIN訪問權限管理員,可以添加或刪除用戶訪問權限管理員,可以添加或刪除用戶 ID。DB_SECURITYADMIN安全管理員,可以管理全部權限、對象所有權、角色和安全管理員,可以管理全部權限、對象所有權、角色和角色成員資格。角色成員資格。DB_DDLADMIN數(shù)據(jù)庫對象管理員,可以發(fā)出數(shù)據(jù)庫對象管理員,可以發(fā)出 ALL DDL,但不能發(fā)出,但不能發(fā)出 GRA
36、NT、REVOKE 或或 DENY 語句。語句。DB_BACKUPOPERATOR數(shù)據(jù)庫備份,可以發(fā)出數(shù)據(jù)庫備份,可以發(fā)出 DBCC、CHECKPOINT 和和 BACKUP 語句。語句。DB_DATAREADER數(shù)據(jù)檢索操作員,可以選擇數(shù)據(jù)庫內任何用戶表中的所數(shù)據(jù)檢索操作員,可以選擇數(shù)據(jù)庫內任何用戶表中的所有數(shù)據(jù)。有數(shù)據(jù)。DB_WRITER數(shù)據(jù)維護操作員,可以更改數(shù)據(jù)庫內任何用戶表中的所數(shù)據(jù)維護操作員,可以更改數(shù)據(jù)庫內任何用戶表中的所有數(shù)據(jù)。有數(shù)據(jù)。DB_DENYDATAREADER拒絕執(zhí)行數(shù)據(jù)檢索操作員,不能選擇數(shù)據(jù)庫內任何用戶拒絕執(zhí)行數(shù)據(jù)檢索操作員,不能選擇數(shù)據(jù)庫內任何用戶表中的任何數(shù)據(jù)
37、。表中的任何數(shù)據(jù)。DB_DENYDATAWRITER拒絕執(zhí)行數(shù)據(jù)維護操作員,不能更改數(shù)據(jù)庫內任何用戶拒絕執(zhí)行數(shù)據(jù)維護操作員,不能更改數(shù)據(jù)庫內任何用戶表中的任何數(shù)據(jù)。表中的任何數(shù)據(jù)。3. PUBLIC角色角色 SQL Server有一個特殊的角色即有一個特殊的角色即PUBLIC角角色。色。 PUBLIC角色有兩大特點:角色有兩大特點: 初始狀態(tài)時沒有權限;初始狀態(tài)時沒有權限; 所有的數(shù)據(jù)庫用戶都是它的成員。所有的數(shù)據(jù)庫用戶都是它的成員。 9.3.4 SQL Server的固定角色的固定角色注:當為注:當為public角色授權時,實際上是為所有的數(shù)據(jù)庫用戶角色授權時,實際上是為所有的數(shù)據(jù)庫用戶授權
38、。授權。9.4 權限管理權限管理 對 象常 用 權 限數(shù)據(jù)庫數(shù)據(jù)庫BACKUP DATABASE、BACKUP LOG、CREATE DATABASE、CREATE DEFAULT、CREATE FUNCTION、CREATE PROCEDURE、CREATE RULE、CREATE TABLE、CREATE VIEW 、ALTER TABLE表表SELECT、DELETE、INSERT、UPDATE、REFERENCES視圖視圖SELECT、DELETE、INSERT、UPDATE、REFERENCES常用數(shù)據(jù)庫對象的權限常用數(shù)據(jù)庫對象的權限 :9.4.1 授予權限授予權限1.授予語句權限授
39、予語句權限語句授權的命令格式是:語句授權的命令格式是:GRANT ALL | statement ,.n TO account ,.n 例:系統(tǒng)管理員給用戶例:系統(tǒng)管理員給用戶 Mary 和和 John 授予多個語授予多個語句權限:句權限: GRANT CREATE DATABASE, CREATE TABLE TO Mary, John2.授予對象權限授予對象權限 處理數(shù)據(jù)或執(zhí)行存儲過程中需要相應對象的處理數(shù)據(jù)或執(zhí)行存儲過程中需要相應對象的操作或執(zhí)行權限,這些權限可以劃分為:操作或執(zhí)行權限,這些權限可以劃分為: SELECTSELECT、INSERTINSERT、UPDATEUPDATE和和
40、DELETEDELETE語句權限,可以語句權限,可以應用到整個表或視圖;應用到整個表或視圖; SELECTSELECT和和UPDATEUPDATE語句權限,可以有選擇性地應用到語句權限,可以有選擇性地應用到表或視圖中的某些列上;表或視圖中的某些列上; INSERTINSERT和和DELETEDELETE語句權限,會影響整行,因此只可語句權限,會影響整行,因此只可以應用到表或視圖中,而不能應用到單個列上。以應用到表或視圖中,而不能應用到單個列上。 EXECUTEEXECUTE語句權限,執(zhí)行存儲過程和函數(shù)的權限。語句權限,執(zhí)行存儲過程和函數(shù)的權限。9.4.1 授予權限授予權限 數(shù)據(jù)庫對象授權的命令
41、格式如下:數(shù)據(jù)庫對象授權的命令格式如下:GRANT ALL PRIVILEGES | permission ,.n ( column ,.n ) ON table | view | ON table | view ( column ,.n ) | ON stored_procedure | extended_procedure | ON user_defined_function TO security_account ,.n WITH GRANT OPTION AS group | role 9.4.1 授予權限授予權限例:在電力工程搶修數(shù)據(jù)庫中:例:在電力工程搶修數(shù)據(jù)庫中:(1)將)將ou
42、t_stock表的表的SELECT權限授予權限授予public角色。角色。 GRANT SELECT ON out_stock TO public (2)將)將out_stock表的表的INSERT, UPDATE, DELETE權權限授予用戶限授予用戶 Mary、John。 GRANT INSERT, UPDATE, DELETE ON out_stock TO Mary, John(3)將對表)將對表out_stock的的get_date列的修改權限授予用列的修改權限授予用戶戶Tom。 GRANT UPDATE (get_date) ON out_stock To Tom9.4.1 授予權
43、限授予權限9.4.1 授予權限授予權限例:把對表例:把對表stock的的insert權限授予用戶權限授予用戶U1,并允許,并允許將此權限授予其他用戶。將此權限授予其他用戶。Grant insert On stock To U1With grant option;U1可將此權限授予可將此權限授予U2:Grant insert On stock To U2With grant option;U2可將此權限授予可將此權限授予U3:Grant insert On stock To U3; -U1- U2- U3例例:用戶用戶 Jean 擁有表擁有表 Plan_Data。Jean 將表將表 Plan_D
44、ata 的的 SELECT 權限授予權限授予 Accounting 角色(指定角色(指定 WITH GRANT OPTION 子句)。用戶子句)。用戶 Jill 是是 Accounting 的成員,他要將的成員,他要將表表 Plan_Data 上的上的 SELECT 權限授予用戶權限授予用戶 Jack,Jack 不不是是 Accounting 的成員。的成員。 因為對表因為對表 Plan_Data 用用 GRANT 語句授予其他用戶語句授予其他用戶 SELECT 權限的權限是授予權限的權限是授予 Accounting 角色而不是顯式地角色而不是顯式地授予授予 Jill,不能因為已授予,不能因為
45、已授予 Accounting 角色中成員該權限,角色中成員該權限,而使而使 Jill 能夠授予表的權限。能夠授予表的權限。Jill 必須用必須用 AS 子句來獲得子句來獲得 Accounting 角色的授予權限。角色的授予權限。/* User Jean */GRANT SELECT ON Plan_Data TO Accounting WITH GRANT OPTION/* User Jill */GRANT SELECT ON Plan_Data TO Jack AS Accounting9.4.2 收回權限收回權限收回語句權限的一般格式為:收回語句權限的一般格式為:REVOKE ALL |
46、 statement ,.n FROM account ,.n 收回對象權限的命令格式是:收回對象權限的命令格式是:REVOKE GRANT OPTION FOR ALL PRIVILEGES | permission ,.n ( column ,.n ) ON table | view | ON table | view ( column ,.n ) | ON stored_procedure | extended_procedure | ON user_defined_function TO | FROM account ,.n CASCADE AS group | role 9.4.2
47、收回權限收回權限例:把用戶例:把用戶U1對表對表stock的的insert權限收回。權限收回。Revoke insert On stock From U1;權限的級聯(lián)回收權限的級聯(lián)回收: 系統(tǒng)將自動收回直接或間接從系統(tǒng)將自動收回直接或間接從U1處獲得的對處獲得的對Stock表的表的INSERT權限權限: -U1- U2- U3注:若注:若U2和和U3從其他用戶處獲得對從其他用戶處獲得對Stock表的表的insert權限,則不會回收。權限,則不會回收。例:例: 廢除已授予用戶廢除已授予用戶 Joe 的的 CREATE TABLE 權限:權限:REVOKE CREATE TABLE FROM Jo
48、e例:廢除授予多個用戶的多個語句權限:例:廢除授予多個用戶的多個語句權限:REVOKE CREATE TABLE, CREATE DEFAULTFROM Mary, John例:用戶例:用戶 Mary 是是 Budget 角色的成員,已給該角色授予了角色的成員,已給該角色授予了對對 Budget_Data 表的表的 SELECT 權限。已對權限。已對 Mary 使用使用 DENY 語句以防止語句以防止 Mary 通過授予通過授予 Budget 角色的權限訪角色的權限訪問問 Budget_Data 表。表。 刪除對刪除對 Mary 拒絕的權限,并通過適用于拒絕的權限,并通過適用于 Budget 角色的角色的 SELECT 權限,允許權限,允許 Mary 對該表使用對該表使用 SELECT 語句。語句。REVOKE SELECT ON Budget_Data TO Mary9.4.2 收回權限收回權限9.4.3 禁止權限禁止權限禁止語句權限的命令格式如下:禁止語句權限的命令格式如下:DENY ALL | st
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度辦公室租賃與咨詢顧問服務合同
- 成本控制與降低運營成本指南
- 裝卸承包合同協(xié)議年
- 建筑裝飾裝修行業(yè)指南
- 2023年寶安區(qū)積分入學規(guī)則
- 精裝修公寓裝修合同
- 貨物運輸代理合同書
- 醫(yī)療器械與藥品研發(fā)技術作業(yè)指導書
- (高清版)DB2105∕T 001-2022 地理標志產(chǎn)品 連山關刺五加
- 2025年荊門道路客貨運輸從業(yè)資格證b2考試題庫
- 從建設和諧社會角度思考治超限載(十)
- 云南華葉投資公司2023年高校畢業(yè)生招聘1人筆試參考題庫(共500題)答案詳解版
- ABB電子時間繼電器CTMVS系列操作與安裝指南
- 深圳市社會保險參保證明
- 2023年國家護理質量數(shù)據(jù)平臺
- 給藥護理 口服給藥法
- 初中歷史人教版八年級上經(jīng)濟和社會生活中國近代民族工業(yè)的發(fā)展
- YS/T 562-2009貴金屬合金化學分析方法鉑釕合金中釕量的測定硫脲分光光度法
- 2023年濰坊工程職業(yè)學院高職單招(語文)試題庫含答案解析
- Visual-Basic6.0程序設計(完整)
- GB/T 2272-2009硅鐵
評論
0/150
提交評論