第29講安全管理(理論+實訓)_第1頁
第29講安全管理(理論+實訓)_第2頁
第29講安全管理(理論+實訓)_第3頁
第29講安全管理(理論+實訓)_第4頁
第29講安全管理(理論+實訓)_第5頁
已閱讀5頁,還剩26頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第10章SQLServer安全管理第29講復習:存儲過程含義、類型、語句格式、調用含義:存儲在服務器上的多條T-SQL語句的預編譯集合。類型:系統(tǒng)存儲過程、用戶自定義存儲過程語句格式createprocedure

存儲過程名形參

assql語句調用存儲過程exec

存儲過程名實參復習:觸發(fā)器的含義、類型、作用、語句格式含義:DML觸發(fā)器是一種對表或視圖執(zhí)行insert、delete、update操作時,被系統(tǒng)自動執(zhí)行的特殊的存儲過程。類型:按觸發(fā)的時機分為:后觸發(fā)器和替代觸發(fā)器按觸發(fā)的事件分為:insert觸發(fā)器、delete觸發(fā)器、update觸發(fā)器作用:對表實現(xiàn)復雜的數據完整性約束,以防止不正確的操作。語句格式:createtrigger

觸發(fā)器名on

表名

after{[insert][,delete][,update]}

as

SQL語句

復習:存儲過程和觸發(fā)器的區(qū)別相同點:觸發(fā)器和存儲過程都是由多條T-SQL語句的預編譯集合。不同點:存儲過程是由用戶利用execute命令執(zhí)行。觸發(fā)器是通過事件進行觸發(fā)而自動執(zhí)行。引:對于一個網絡數據庫管理系統(tǒng),安全是很重要的。如何才能保護數據庫不被破壞、偷竊和非法使用?第10章SQLServer安全管理

教學內容基礎知識:安全機制服務器級的安全管理數據庫級的安全管理權限管理第10章SQLServer安全管理

學習目標認知目標:了解安全模式、身份驗證、權限驗證、登錄帳戶、服務器角色、數據庫角色等概念能力目標:掌握登錄帳戶、數據庫用戶、數據庫角色的創(chuàng)建(重點)掌握數據庫中權限設置管理的方法(難點)一、安全機制每個網絡用戶在訪問SQLServer數據庫之前,都必須經過兩級安全驗證:身份驗證:驗證用戶是否擁有服務器級的“連接權”,即是否允許訪問SQLServer服務器。權限驗證:驗證用戶是否擁有數據庫級的“訪問權”,即是否可以在數據庫上執(zhí)行操作。二、服務器級的安全管理

1.身份驗證–(1)兩種模式Windows身份驗證使用Windows操作系統(tǒng)本身提供的安全機制驗證用戶的身份。只要用戶能夠通過Windows的用戶帳戶驗證,就可連接到SQLServer,又稱為“信任連接”模式。SQLServer驗證使用SQLServer驗證時,必須提供連接到SQLServer上登錄帳號和口令(該帳號和口令由系統(tǒng)管理員事先創(chuàng)建并存儲在SQLServer中)。使用該模式:一是為了和7.0版以前的SQLServer相兼容;二是如果SQLServer安裝在Windows98下,必須使用該模式。二、服務器級的安全管理

1.身份驗證—(2)模式設置動手實驗1:設置身份驗證模式。任務1:將本地服務器的身份驗證模式設置為“混合模式”右擊“本地服務器”→“屬性”→“安全性”→……任務2:用“windows”身份驗證連接到本地服務器上。右擊“本地服務器”→“編輯SQLServer注冊屬性”→……展開“本地服務器”即連接(因“windows”身份是信任連接)任務3:用“SQLServer”身份驗證連接到本地服務器上。修改登錄帳號“sa”的密碼。展開“本地服務器”中的“安全性”→單擊“登錄”→右擊“sa”→“屬性”→修改密碼→……設置“使用SQLServer身份驗證”。右擊“本地服務器”→“編輯SQLServer注冊屬性”→勾選“使用SQLServer身份驗證”→輸入“登錄名”和“密碼”→…說明:sa是一個超級登錄帳號,具有操作服務器的一切權限。二、服務器級的安全管理

2.登錄帳號含義:登錄者用來連接SQLserver的帳號。兩種類型:windows身份驗證時的登錄帳號(即用戶帳號)。形式為“域(或計算機)名\用戶(或組)”系統(tǒng)內建的本地組,采用“BUILTIN\Administrators”形式SQLserver身份驗證時,由系統(tǒng)管理員創(chuàng)建的登錄帳號和密碼。sa是一個內置的SQLServer超級登錄帳號,該賬戶擁有最高的管理權限,具有操作服務器的一切權限。動手實驗2:登錄帳號的使用任務1:①將windows中的某個組或用戶設置為登錄帳號;②創(chuàng)建個“SQLServer”登錄帳號,登錄名為st1和st2。方法:雙擊“服務器”→安全性→右擊“登錄”→“新建登錄”

①創(chuàng)建“windows”登錄帳號。單擊“名稱”旁的“瀏覽”按鈕→選擇要加入的組或用戶…②創(chuàng)建“SQLServer”登錄帳號。在“名稱”框中輸入“st1”→選擇“SQLServer身份驗證”→輸入密碼…動手實驗2:登錄帳號的使用任務2:使用st1登錄帳號連接到SQLServer服務器,請問能否查看xscj庫中的數據?為什么?說明:普通登錄帳號必須賦予了服務器角色后,才會具有服務器范圍內的操作權限。任務3:查看各登錄帳號的服務器角色。右擊“登錄帳號”→“屬性”→……二、服務器級安全性的管理

3.服務器角色含義:系統(tǒng)定義的具有不同權限的組,其組成員是登錄帳號。服務器角色不能增加或刪除,只能對其中的成員進行修改。常用的服務器角色

動手實驗3:服務器角色的使用任務1:了解各服務器角色中的成員及權限。雙擊“服務器”→“安全性”→“服務器角色”→……任務2:將登錄帳號st1賦予“databasecreators”的服務器角色,使其具有可創(chuàng)建和更改數據庫的權限。在“服務器角色”窗口中,右擊“databasecreators”角色→“屬性”→單擊“添加”→選擇成員→……請思考:使用st1登錄帳號連接到SQLServer服務器,請問能否查看xscj庫中的表對象?為什么?說明:盡管普通登錄帳號已賦予了服務器角色(sysadmin除外

),但仍沒有使用其它數據庫對象(表/視圖/存儲過程等)的權限。因為SQLServer是以數據庫用戶名來訪問數據庫的。動手實驗3:服務器角色的使用任務3:將登錄帳號st2賦予“sysadmin”的服務器角色,使其具有對系統(tǒng)的所有操作權。說明:若將登錄帳號st2加入到sysadmin服務器角色中,以該帳號登錄的用戶就擁有了對系統(tǒng)的所有操作權。任務4:分別以st1和st2登錄SQLServer服務器,查看xscj庫中的各對象,請思考哪個登錄帳號的權限大?任務5:因某種原因,要取消登錄帳號為st2所擁有的對服務器的所有操作權,但仍能登錄SQLServer服務器,如何設置?在“服務器角色”窗口中,右擊“sysadmin”角色→“屬性”→選擇成員→單擊“刪除”→……三、數據庫級的安全管理

1.數據庫用戶簡介含義:如果要使登錄帳號具有訪問數據庫的權力,必須將登錄帳號映射為數據庫用戶名。所以,每一個登錄帳號必須對應一個數據庫用戶名稱。登錄帳號sa(或windows帳號)對應的數據庫用戶名為dbo,dbo用戶擁有操作數據庫的所有權限(權限最高)。凡具有sysadmin服務器角色的登錄帳號,自動映射為dbo。其它登錄帳號在某庫中沒有對應的用戶名稱時,就映射到guest用戶帳號上,若沒有guest(如xscj庫),則不能查看到該數據庫對象。三、數據庫級的安全管理

1.數據庫用戶簡介含義:如果要使登錄帳號具有訪問數據庫的權力,必須將登錄帳號映射為數據庫用戶名。登錄帳號和數據庫用戶的區(qū)別:SQLServer數據庫DB1DB2DB3數據庫用戶名(提供數據庫訪問)登錄帳號(提供SQLserver訪問)用戶說明:每個登錄帳號要對應一個數據庫用戶名稱。三、數據庫級的安全管理

1.數據庫用戶簡介內置的用戶名稱:dbo和guest登錄帳號sa(或windows帳號)對應的數據庫用戶名為dbo,dbo用戶擁有操作數據庫的最高權限。凡具有sysadmin服務器角色的登錄帳號,自動映射為dbo。其它登錄帳號在某庫中沒有對應的用戶名時,就映射到guest用戶帳號上(對數據庫的訪問權限最低)。若沒有guest(如xscj庫),則不能查看到該數據庫對象。例如:在xscj庫中,登錄帳號st1既沒有映射相應的用戶名,又沒有guest,所以,st1不能查看到該庫中對象的信息。動手實驗4:數據庫用戶的創(chuàng)建任務1:將登錄帳號st1映射為xscj庫中的一個名為“u1”的用戶帳號,使“u1”能訪問該庫。右擊xscj庫中的“用戶”→“新建數據庫用戶”任務2:將登錄帳號st1同時映射為pubs、northwind庫中的一個用戶帳號。雙擊“服務器”→“安全性”→“登錄”在“登錄”窗口,雙擊“st1”登錄帳號單擊“數據庫訪問”標簽→勾選所要訪問的數據庫三、數據庫級的安全管理

2.管理數據庫用戶修改數據庫用戶主要是修改為此用戶所設置的用戶權限(修改所屬的數據庫角色)。刪除數據庫用戶刪除一個登錄帳號在當前數據庫的映射,使該登錄帳號失去訪問數據庫的權限。方法1:與創(chuàng)建類似,只是取消數據的選定。方法2:在指定數據庫的“用戶”窗口中,右擊要刪除的用戶名→單擊“刪除”三、數據庫級的安全管理

3.數據庫角色定義:是在數據庫級別上定義的用戶權限組,存在于每個數據庫中。其成員是用戶帳號。類型:固定數據庫角色自建數據庫角色動手實驗5:數據庫角色的創(chuàng)建任務1:將xscj庫的所有者權限賦給st1用戶。在“登錄”窗口,雙擊“st1”登錄帳號→單擊“數據庫訪問”標簽→勾選“db_owner”任務2:創(chuàng)建一個名為“zdy”的數據庫角色,使該角色具有如下的權限:可查詢xsqk表、可查詢和修改xs_kc表、可查詢和插入kc表,但不能進行刪除的權限。右擊xscj庫的“角色”→“新建數據庫角色”→輸入名稱“zdy”→“確定”雙擊“zdy”→單擊“權限”按鈕→設置語句權限四、權限管理

1.權限的分類權限的作用:用來控制用戶如何訪問數據庫對象。權限的分類:對象權限:是指用戶對數據庫中的表、視圖、存儲過程等對象的操作權限。語句權限:是指執(zhí)行數據定義語句的權限。隱含權限:是指系統(tǒng)預定義的服務器角色、數據庫擁有者和數據庫對象擁有者所擁有的權限。該權限不能明確地賦予和撤銷。四、權限管理

2.權限管理的內容用戶或角色的權限有三種形式:授予權限√:能執(zhí)行相應操作拒絕權限×:不能執(zhí)行相應操作剝奪權限□:不允許執(zhí)行相應操作,但可以通過加入角色來獲得許可權。動手實驗6:管理權限任務1:管理數據庫用戶的語句權限。要求:xscj庫中的用戶u1只能查看kc表中的數據,不能做任何更改和刪除,應如何設置?單擊xscj庫中的“用戶”→右擊“u1”用戶→“所有任務”→“管理權限”設置在kc表上的操作權限任務2:管理數據庫角色的語句權限。要求:xscj庫中的所有用戶只能查看kc表中的數據,不能做任何更改和刪除,應如何設置?右擊xscj庫中的“角色”→“新建自定義角色”(aa)雙擊aa→添加所有用戶→單擊“權限”按鈕→設置在kc表上的操作權限動手實驗6:管理權限任務3:管理數據庫對象的權限。對于xscj庫中的xsqk表,希望所有用戶都不能刪除、修改和插入記錄,且不能訪問“地址”字段右擊xsqk表→“所有任務”→“管理權限”→設置權限單擊“列”按鈕→設置列權限五、數據庫備份和恢復備份設備備份策略完全備份差異備份事

溫馨提示

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

評論

0/150

提交評論