SQL_Server_2012安全機制_第1頁
SQL_Server_2012安全機制_第2頁
SQL_Server_2012安全機制_第3頁
SQL_Server_2012安全機制_第4頁
SQL_Server_2012安全機制_第5頁
已閱讀5頁,還剩40頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、數據庫基礎與應用-SQL Server 2008第第9 9章章 SQL Server 2008SQL Server 2008的安全機制的安全機制本章主要本章主要內內容容哈爾濱師范大學恒星學院創建登錄賬戶創建登錄賬戶創建數據庫用戶創建數據庫用戶角色角色SQL Server 2008的安全機制概述的安全機制概述1234權限權限5 安全性是所有數據庫管理系統的一個重要特征。理解安全性問題是理解數據庫管理系統安全性機制的前提。1.第一個安全性問題:當用戶登錄數據庫系統時,如何確保只有合法的用戶才能登錄到系統中?這是一個最基本的安全性問題,也是數據庫管理系統提供的基本功能。在Microsoft SQL

2、Server 2008系統中,通過身份驗證模式和主體解決這個問題。哈爾濱師范大學恒星學院一一. SQL Server 2008. SQL Server 2008的安全機制概述的安全機制概述1)身份驗證模式 Microsoft SQL Server 2008系統提供了兩種身份驗證模式:Windows身份驗證模式和混合模式。Windows身份驗證模式: 在該模式中,用戶通過Windows用戶賬戶連接SQL Server時,使用Windows操作系統中的賬戶名和密碼。混合模式: 在混合模式中,當客戶端連接到服務器時,既可能采取Windows身份驗證,也可能采取SQL Server身份驗證。哈爾濱師范

3、大學恒星學院查看與更改身份驗證模式哈爾濱師范大學恒星學院2)主體 主體是可以請求系統資源的個體或組合過程。例如,數據庫用戶是一種主體,可以按照自己的權限在數據庫中執行操作和使用相應的數據。 Microsoft SQL Server 2008系統有多種不同的主體,不同主體之間的關系是典型的層次結構關系,位于不同層次上的主體其在系統中影響的范圍也不同。位于層次比較高的主體,其作用范圍比較大;位于層次比較低的主體,其作用范圍比較小。 主體 WindowsWindows 級級 Windows 組 Windows 域登錄名 Windows 本地登錄名 SQL ServerSQL Server 級級 SQ

4、L Server 登錄名 固定服務器角色 數據庫級數據庫級 數據庫用戶 固定數據庫角色 應用程序角色 安全對象 服務器安全對象范圍服務器安全對象范圍 端點 SQL Server 登錄名 數據庫 數據庫安全對象范圍數據庫安全對象范圍 數據庫用戶/應用程序角色/角色/程序集/消息類型/路由/服務/遠程服務綁定/全文目錄/證書/非對稱密鑰/對稱密鑰/約定/架構 架構安全對象范圍架構安全對象范圍 類型/XML 架構集合/聚合/約束/函數/過程/隊列/統計信息/同義詞/表/視圖 請求 哈爾濱師范大學恒星學院2.第二個安全性問題:當用戶登錄到系統中,他可以執行哪些操作、使用哪些對象和資源?在Microso

5、ft SQL Server 2008系統中,通過安全對象和權限設置來解決這個問題。 主體 WindowsWindows 級級 Windows 組 Windows 域登錄名 Windows 本地登錄名 SQL ServerSQL Server 級級 SQL Server 登錄名 固定服務器角色 數據庫級數據庫級 數據庫用戶 固定數據庫角色 應用程序角色 安全對象 服務器安全對象范圍服務器安全對象范圍 端點 SQL Server 登錄名 數據庫 數據庫安全對象范圍數據庫安全對象范圍 數據庫用戶/應用程序角色/角色/程序集/消息類型/路由/服務/遠程服務綁定/全文目錄/證書/非對稱密鑰/對稱密鑰/約

6、定/架構 架構安全對象范圍架構安全對象范圍 類型/XML 架構集合/聚合/約束/函數/過程/隊列/統計信息/同義詞/表/視圖 請求 哈爾濱師范大學恒星學院主體和安全對象的主體和安全對象的結構示意圖結構示意圖3.第三個安全性問題:數據庫中的對象由誰所有?如果是由用戶所有,那么當用戶被刪除時,其所擁有的對象怎么辦,難道數據庫對象可以成為沒有所有者的“孤兒”嗎?在Microsoft SQL Server 2008系統中,這個問題是通過用戶和架構分離來解決的。 數據庫對象 架構 用戶 包含在 被擁有 表 視圖 存儲過程 函數 哈爾濱師范大學恒星學院數據庫對象、架構和數據庫對象、架構和用戶之間的關系示意

7、用戶之間的關系示意圖圖安全機制的5個等級:客戶機安全機制網絡傳輸的安全機制實例級別安全機制數據庫級別安全機制對象級別安全機制哈爾濱師范大學恒星學院二二. .創建登錄賬戶創建登錄賬戶 1.創建Windows登錄賬戶哈爾濱師范大學恒星學院三三. .創建數據庫用戶創建數據庫用戶哈爾濱師范大學恒星學院2.創建SQL Server登錄賬戶哈爾濱師范大學恒星學院3.啟用、禁用和解鎖登錄要啟用、禁用或解鎖一個登錄的操作步驟:(1)啟動Microsoft SQL Server Management Studio,在“對象資源管理器”視圖中,連接到適當的服務器,然后向下瀏覽至“安全性”文件夾。(2)展開“安全性

8、”文件夾和“登錄名”文件夾以列出當前的登錄。右擊一個登錄,然后從快捷菜單中選擇“屬性”以查看此登錄的屬性。這樣會打開“登錄屬性”對話框。哈爾濱師范大學恒星學院(3)在“登錄屬性”對話框左側列表中選擇“狀態”選項,打開“狀態”頁面哈爾濱師范大學恒星學院(4)然后可以進行以下操作:要啟動登錄,在“登錄”選項區下選擇“啟用”單選按鈕。要禁用登錄,在“登錄”選項區下選擇“禁用”單選按鈕。要解鎖登錄,清除“登錄已鎖定”復選框。(5)最后單擊“確定”按鈕,完成操作。哈爾濱師范大學恒星學院4.修改登錄具體操作步驟如下:(1)打開“登錄屬性”對話框哈爾濱師范大學恒星學院(2)單擊“登錄屬性”對話框左側的“用戶

9、映射”選項,可以為當前用戶添加一個連接數據庫“msdb”哈爾濱師范大學恒星學院5.刪除登錄1)在Microsoft SQL Server Management Studio中刪除登錄賬戶啟動Microsoft SQL Server Management Studio,然后訪問適當的服務器。在服務器的“安全性”文件夾中展開“登錄名”文件夾。右擊想要刪除的登錄,然后從快捷菜單中選擇“刪除”,要開“刪除對象”對話框,2)使用Transact-SQL語句刪除登錄賬戶命令格式如下:DROP LOGIN login_name【例9.1】刪除已經創建好的“stu2”賬戶。 DROP LOGINstu2哈爾濱

10、師范大學恒星學院三三. .創建數據庫用戶創建數據庫用戶1.通過設置“用戶映射”指明數據庫用戶哈爾濱師范大學恒星學院2.創建數據庫用戶哈爾濱師范大學恒星學院四四. .角色角色哈爾濱師范大學恒星學院1.1.固定服務器角色固定服務器角色v 固定服務器角色是服務器級別的主體,它們的作用范圍是整個服務器。固定服務器角色是服務器級別的主體,它們的作用范圍是整個服務器。v 固定服務器角色已經具備了執行指定操作的權限,可以把其他登錄名固定服務器角色已經具備了執行指定操作的權限,可以把其他登錄名作為成員添加到固定服務器角色中,這樣該登錄名可以繼承固定服務作為成員添加到固定服務器角色中,這樣該登錄名可以繼承固定服

11、務器角色的權限。器角色的權限。固定服務器角色的特點固定服務器角色的特點v 在在Microsoft SQL ServerMicrosoft SQL Server系統中,可以把登錄名添加到固定服務器角系統中,可以把登錄名添加到固定服務器角色中,使登錄名作為固定服務器角色的成員繼承固定服務器角色的權色中,使登錄名作為固定服務器角色的成員繼承固定服務器角色的權限。限。v 對于登錄名來說,可以選擇其是否成為某個固定服務器角色的成員對于登錄名來說,可以選擇其是否成為某個固定服務器角色的成員服務器角色哈爾濱師范大學恒星學院按照從最低級別的角色(bulkadmin)到最高級別的角色(sysadmin)的順序進

12、行描述:Bulkadmin:這個服務器角色的成員可以運行BULK INSERT語句。這條語句允許從文本文件中將數據導入到SQL Server 2008數據庫中,為需要執行大容量插入到數據庫的域賬戶而設計。Dbcreator:這個服務器角色的成員可以創建、更改、刪除和還原任何數據庫。這不僅是適合助理DBA的角色,也可能是適合開發人員的角色。Diskadmin:這個服務器角色用于管理磁盤文件,比如鏡像數據庫和添加備份設備。它適合助理DBA。Processadmin:SQL Server 2008能夠多任務化,也就是說可以通過執行多個進程做多個事件。例如,SQL Server 2008可以生成一個進

13、程用于向高速緩存寫數據,同時生成另一個進程用于從高速緩存中讀取數據。這個角色的成員可以結束(在SQL Server 2008中稱為刪除)進程。哈爾濱師范大學恒星學院Securityadmin:這個服務器角色的成員將管理登錄名及其屬性。他們可以授權、拒絕和撤銷服務器級權限。也可以授權、拒絕和撤銷數據庫級權限。另外,它們可以重置SQL Server 2008登錄名的密碼。Serveradmin:這個服務器角色的成員可以更改服務器范圍的配置選項和關閉服務器。例如SQL Server 2008可以使用多大內存或監視通過網絡發送多少信息,或者關閉服務器,這個角色可以減輕管理員的一些管理負擔。Setupa

14、dmin:為需要管理鏈接服務器和控制啟動的存儲過程的用戶而設計。這個角色的成員能添加到setupadmin,能增加、刪除和配置鏈接服務器,并能控制啟動過程。Sysadmin:這個服務器角色的成員有權在SQL Server 2008中執行任何任務。Public:有兩大特點,第一,初始狀態時沒有權限;第二,所有的數據庫用戶都是它的成員。哈爾濱師范大學恒星學院使用操作平臺管理服務器角色(1)查看服務器角色的屬性啟動Microsoft SQL Server Management Studio,在“對象資源管理器”中依次展開“安全性|服務器角色”節點 哈爾濱師范大學恒星學院選擇其中的一個服務器,在其上單

15、擊右鍵,在彈出的快捷菜單中選擇“屬性”選項。例如選擇sysadmin這個服務器并右擊,在快捷菜單中單擊“屬性”選項,打開如圖所示“服務器角色屬性”對話框,在該對話框中就可以查看sysadmin這個服務器角色的屬性了。哈爾濱師范大學恒星學院(2)添加服務器角色的角色成員為服務器角色添加“角色成員”,可以在服務器角色的“服務器角色屬性”對話框中單擊“添加”按鈕。單擊“瀏覽”按鈕,彈出“查找對象”對話框,單擊要添加的登錄名左邊的復選框,單擊“確定”按鈕即可將選中的角色成員添加進來。哈爾濱師范大學恒星學院(3)刪除服務器角色的角色成員 要刪除一個已經存在的角色成員,只需要選中該角色成員并在其上單擊鼠標

16、右鍵,然后在彈出的快捷菜單中選擇“刪除”選項,即可刪除服務器角色。 哈爾濱師范大學恒星學院2.數據庫角色三種類型的數據庫角色:固定數據庫角色:微軟提供的作為系統一部分的角色;用戶定義的標準數據庫角色:你自己定義的角色,將Windows用戶以一組自定義的權限分組;應用程序角色:用來授予應用程序專門的權限,而非授予用戶組或者單獨用戶。 哈爾濱師范大學恒星學院1)固定數據庫角色微軟提供了9個內置的角色,以便于在數據庫級別授予用戶特殊的權限集合db_owner:該角色的用戶可以在數據庫中執行任何操作。db_accessadmin:該角色的成員可以從數據庫中增加或者刪除用戶。db_backupopper

17、ator:該角色的成員允許備份數據庫。db_datareader:該角色的成員允許從任何表讀取任何數據。db_datawriter:該角色的成員允許往任何表寫入數據。db_ddladmin:該角色的成員允許在數據庫中增加、修改或者刪除任何對象(即可以執行任何DDL語句)。哈爾濱師范大學恒星學院db_denydatareader:該角色的成員被拒絕查看數據庫中的任何數據,但是他們仍然可以通過存儲過程來查看。db_denydatawriter: 像db_denydatareader角色,該角色的成員被拒絕修改數據庫中的任何數據,但是他們仍然可以通過存儲過程來修改。db_securityadmin:

18、該角色的成員可以更改數據庫中的權限和角色。public:在SQL Server 2008中每個數據庫用戶都屬于public數據庫角色。當尚未對某個用戶授予或者拒絕對安全對象的特定權限時,這該用戶將據稱授予該安全對象的public角色的權限,這個數據庫角色不能被刪除哈爾濱師范大學恒星學院2)用戶自定義數據庫角色哈爾濱師范大學恒星學院3)應用程序角色 應用程序角色允許用戶為特定的應用程序創建密碼保護的角色。哈爾濱師范大學恒星學院1.1.常用的權限常用的權限安全對象安全對象常用權限常用權限數據庫數據庫CREATE DATABASECREATE DATABASE、CREATE DEFAULTCREAT

19、E DEFAULT、CREATE FUNCTIONCREATE FUNCTION、CREATE PROCEDURECREATE PROCEDURE、CREATE VIEWCREATE VIEW、CREATE TABLECREATE TABLE、CREATE RULECREATE RULE、BACKUP DATABASEBACKUP DATABASE、BACKUP LOGBACKUP LOG表表SELECTSELECT、DELETEDELETE、INSERTINSERT、UPDATEUPDATE、REFERENCESREFERENCES表值函數表值函數SELECTSELECT、DELETEDEL

20、ETE、INSERTINSERT、UPDATEUPDATE、REFERENCESREFERENCES視圖視圖SELECTSELECT、DELETEDELETE、INSERTINSERT、UPDATEUPDATE、REFERENCESREFERENCES存儲過程存儲過程EXECUTEEXECUTE、SYNONYMSYNONYM標量函數標量函數EXECUTEEXECUTE、REFERENCESREFERENCES哈爾濱師范大學恒星學院五.權限權限9.6.4 操作權限權限分為3種狀態:授予、拒絕、撤銷,可以使用如下的語句來修改權限的狀態。授予權限(GRANT):授予權限以執行相關的操作。通過角色,所

21、有該角色的成員繼承此權限。撤銷權限(REVOKE):撤銷授予的權限,但不會顯示阻止用戶或角色執行操作。用戶或角色仍然能繼承其他角色的GRANT權限。拒絕權限(DENY):顯式拒絕執行操作的權限,并阻止用戶或角色繼承權限,該語句優先于其他授予的權限。哈爾濱師范大學恒星學院1.授予權限 本語法格式:GRANTALL|statement,.n TO security_account,.n 哈爾濱師范大學恒星學院相關參數據說明如下:ALL:表示希望給該類型的對象授予所有可用的權限。不推薦使用此選項,保留些選項僅用于向后兼容。授予ALL參數相當于授予以下權限:如果安全對象為數據庫,則ALL表示CREAT

22、E DATABASE、CREATE DEFAULT、CREATE FUNCTION、CREATE PROCEDURE、CREATE VIEW、CREATE TABLE、CREATE RULE等權限。如果安全對象為標量函數,則ALL表示EXECUTE和REFERENCES。如果安全對象為表值函數,則ALL表示SELECT、DELETE、INSERT、UPDATE、REFERENCES。如果安全對象為存儲過程,則ALL表示EXECUTE、SYNONYM。哈爾濱師范大學恒星學院如果安全對象為表,則ALL表示SELECT、DELETE、INSERT、UPDATE、REFERENCES。如果安全對象為視

23、圖,則ALL表示SELECT、DELETE、INSERT、UPDATE、REFERENCES。Statement:表示可以授予權限的命令,例如,CREATE DATABASE。security_account:表示定義被授予權限的用戶單位。security_account可以是SQL Server的數據庫用戶,可以是SQL Server的角色,也可以是Windows的用戶或工作組哈爾濱師范大學恒星學院【例9.2】使用GRANT命令授予角色“students_mag”對”students”數據庫中“stu”表的DELETE、INSERT、UPDATE權限。 USE students Go GRANT DELETE, INSERT, UPDATE ON stu TO students_mag GO哈爾濱師范大學恒星學院2.撤銷權限語法格式:REVOKEALL|statement,.n FROM security_account,.n【例9.3】使用REVOKE語句撤銷 “students_mag”角色對“stu”表所擁有的DELETE

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論