數據庫應用技術教程 課件 第9章-安全管理_第1頁
數據庫應用技術教程 課件 第9章-安全管理_第2頁
數據庫應用技術教程 課件 第9章-安全管理_第3頁
數據庫應用技術教程 課件 第9章-安全管理_第4頁
數據庫應用技術教程 課件 第9章-安全管理_第5頁
已閱讀5頁,還剩51頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

上節知識回顧建立一個觸發器,使得不能刪除信息系的學生信息。創建一個統計表,自動統計student表中的每個系的人數。第9章安全管理01安全控制概述Addatitle03數據庫用戶Addatitle05角色Addatitle02登錄帳戶Addatitle04權限管理Addatitle9.1安全控制概述安全控制:在數據庫應用系統的不同層次提供對有意損害行為的安全防范9.1.1安全控制模型9.1.2SQLServer的安全控制2026/8/913:34安全控制模型2026/8/913:34文件操作控制操作權控制身份驗證用戶數據庫應用程序數據庫管理系統操作系統加密存儲與冗余數據庫SQLServer的安全控制用戶訪問數據庫數據都要經過三個安全認證過程:第一個過程,確認用戶是否是數據庫服務器的合法賬戶(驗證連接權);第二個過程,確認用戶是否是要訪問的數據庫的合法用戶(驗證數據庫訪問權);第三過程,確認用戶是否具有合適的操作權限(驗證操作權)。2026/8/913:34三個安全認證過程圖示01PEPORTONWORK9.2登錄名9.2.1身份認證模式9.2.2建立登錄名9.2.3刪除登錄名2026/8/913:349.2.1身份驗證模式Windows身份驗證模式僅允許授權的Windows用戶訪問SQLServer混合身份驗證模式僅允許授權的Windows用戶和非Windows用戶(SQL用戶)訪問SQLServer設置身份驗證模式在要設置身份驗證模式的SQLServer實例上右擊鼠標,從彈出的菜單中選擇“屬性”命令彈出“服務器屬性”窗口;在該窗口左邊的“選擇頁”上,單擊“安全性”選項;在顯示窗口的“服務器身份驗證”部分,可以設置身份驗證模式。建立Windows身份驗證的登錄名使用Windows登錄名進行的連接,被稱為信任連接。在SSMS的對象資源管理器中,依次展開“安全性”

“登錄名”節點。在“登錄名”節點上右擊鼠標,選擇“新建登錄名”命令。2026/8/913:34單擊“搜索”按鈕,彈出“選擇用戶或組”窗口。2026/8/913:34單擊“高級”按鈕,彈出“選擇用戶或組”窗口。2026/8/913:34單擊“立即查找”按鈕,在下面將列出查找的結果,選擇需要添加為登錄名的用戶。2026/8/913:34建立SQLServer身份驗證的登錄名在SSMS的對象資源管理器中,依次展開“安全性”

“登錄名”節點。在“登錄名”節點上右擊鼠標,選擇“新建登錄名”命令。在彈出的窗口中輸入登錄名。2026/8/913:342026/8/913:34新建登錄窗口的一些選項說明強制密碼過期對該登錄帳戶強制實施密碼過期策略。必須先選中“強制實施密碼策略”才能啟用此復選框。用戶在下次登錄時必須更改密碼首次使用新登錄名時,SQLServer將提示用戶輸入新密碼。2026/8/913:34新建登錄窗口的一些選項說明默認數據庫指定該登錄帳戶初始登錄到SSMS時進入的數據庫。2026/8/913:34一般不設置用T-SQL語句建立登錄名CREATELOGINlogin_name{WITH<option_list1>|FROM<sources>}<sources>::=WINDOWS[WITH<windows_options>[,...]]<option_list1>::=PASSWORD='password'[,<option_list2>[,...]]2026/8/913:34示例例1.創建SQLServer身份驗證的登錄帳戶。登錄名為:SQL_User2,密碼為:abc。CREATELOGINSQL_User2WITHPASSWORD='abc'2026/8/913:34示例例2.創建Windows身份驗證的登錄帳戶。從Windows域帳戶創建[bachelor007/adong]登錄帳戶。CREATELOGIN[bachelor007\adong]FROMWINDOWS2026/8/913:34Adong要有哦示例例3.創建SQLServer身份驗證的登錄帳戶。登錄名為:SQL_User3,密碼為:123。要求該登錄帳戶首次連接服務器時必須更改密碼。CREATELOGINSQL_User3WITHPASSWORD='123'MUST_CHANGE,check_expiration=on2026/8/913:349.2.3刪除登錄帳戶依次展開“安全性”

“登錄名”節點。在要刪除的登錄帳戶上右擊鼠標,選擇“刪除”命令,彈出刪除登錄帳戶屬性窗口。單擊“確定”按鈕。2026/8/913:34刪除登錄帳戶的T-SQL語句DROPLOGINlogin_name不能刪除正在使用的登錄帳戶,也不能刪除擁有任何數據庫對象、服務器級別對象的登錄帳戶。例4.刪除SQL_User2登錄帳戶。DROPLOGINSQL_User22026/8/913:349.3數據庫用戶9.3.1建立數據庫用戶9.3.2刪除數據庫用戶2026/8/913:349.3.1建立數據庫用戶用SSMS建立數據庫用戶:展開要建立數據庫用戶的數據庫。展開“安全性”節點,在“用戶”節點上右擊鼠標,在彈出的菜單上選擇“新建用戶”命令。2026/8/913:34用T-SQL語句建立數據庫用戶CREATEUSERuser_name[{{FOR|FROM}{LOGINlogin_name}]user_name:指定在此數據庫中用于識別該用戶的名稱。LOGINlogin_name:指定要映射為數據庫用戶的SQLServer登錄名。如果省略FORLOGIN,則新的數據庫用戶將被映射到同名的SQLServer登錄名。2026/8/913:34示例例5.讓SQL_User2登錄帳戶成為學生選課數據庫中的用戶,并且用戶名同登錄名。USE學生選課GOCREATEUSERSQL_User2forloginsql_user22026/8/913:34示例例6.首先創建名為Duang且具有密碼的SQLServer身份驗證的服務器登錄名,然后在學生選課數據庫中創建與此登錄帳戶對應的數據庫用戶。CREATELOGINDuangWITHPASSWORD=‘123';GOCREATEUSERDuangFORLOGINDuang;2026/8/913:34注意服務器登錄名與數據庫用戶是兩個完全不同的概念。具有登錄名的用戶可以登錄到SQLServer實例上,而且只局限在實例上進行操作。數據庫用戶是登錄名以什么樣的身份在該數據庫中進行操作,是登錄名在具體數據庫中的映射。9.3.3刪除數據庫用戶DROPUSERuser_name例7.刪除SQL_User2用戶。 DROPUSERSQL_User22026/8/913:349.4管理權限9.4.1權限種類及用戶分類9.4.2權限的管理2026/8/913:34權限種類對象權限是對表、視圖等對象中數據的操作權。語句權限創建對象的權限。隱含權限指由SQLServer預定義的服務器角色、數據庫角色、數據庫擁有者和數據庫對象擁有者所具有的權限。2026/8/913:34對象權限ALTER:具有更改特定數據庫對象屬性的權限。DELETE、INSERT、UPDATE和SELECT:具有對表和視圖數據進行刪除、插入、更改和查詢的權限,其中UPDATE和SELECT可以對表或視圖的單個列進行授權。EXECUTE:具有執行存儲過程的權限。REFERENCES:具有通過外鍵引用其他表的權限。2026/8/913:34語句權限CRAETETABLE:創建表的權限。CREATEVIEW:創建視圖的權限。CREATEPROCEDURE:創建存儲過程的權限。CREATEFUNCTION:創建函數的權限。2026/8/913:34數據庫用戶分類系統管理員在數據庫服務器上具有全部的權限。數據庫對象擁有者創建數據庫對象的用戶即為數據庫對象擁有者。數據庫對象擁有者對其所擁有的對象具有全部權限。普通用戶普通用戶只具有對數據庫數據的增、刪、改、查權限。9.4.2權限管理授予權限:允許用戶或角色具有某種操作權。收回權限:不允許用戶或角色具有某種操作權,或者收回曾經授予的權限。拒絕權限:拒絕某用戶或角色具有某種操作權,既使用戶或角色由于繼承而獲得這種操作權,也不允許執行相應的操作。2026/8/913:34用SQL語句管理對象權限GRANT:授予權限;REVOKE:收回權限;DENY:拒絕權限。2026/8/913:34授權語句GRANT對象權限名[,…]ON{表名|視圖名|存儲過程名}TO{數據庫用戶名|用戶角色名}[,…]2026/8/913:34收權語句REVOKE對象權限名[,…]ON{表名|視圖名|存儲過程名}FROM{數據庫用戶名|用戶角色名}[,…]2026/8/913:34拒絕語句DENY對象權限名[,…]ON{表名|視圖名|存儲過程名}

TO{數據庫用戶名|用戶角色名}[,…]2026/8/913:34示例例1.為用戶user1授予Student表的查詢權。GRANTSELECTONStudentTOuser1例2.為用戶user1授予SC表的查詢權和插入權。GRANTSELECT,INSERTONSCTOuser1例3.收回用戶user1對Student表的查詢權。REVOKESELECTONStudentFROMuser1例4.拒絕user1用戶具有SC表的更改權。DENYUPDATEONSCTOuser12026/8/913:34綜合演練1、創建一個登錄名,ppp,可以使用該登錄名,訪問學生選課數據庫,并且可以對student表進行查詢和更新操作。語句權限管理授權語句GRANT語句權限名[,…]TO{數據庫用戶名|用戶角色名}[,…]2026/8/913:34語句權限管理(續)收權語句REVOKE語句權限名[,…]FROM{數據庫用戶名|用戶角色名}[,…]2026/8/913:34語句權限管理(續)拒絕語句DENY語句權限名[,…]TO{數據庫用戶名|用戶角色名}[,…]2026/8/913:34示例例5.授予user1具有創建表的權限。GRANTCREATETABLETOuser1withgrantoption例6.授予u1和u2具有創建表和視圖的權限。GRANTCREATETABLE,CREATEVIEWTOu1,u2例7.收回授予user1創建表的權限。REVOKECREATETABLEFROMuser1例9.拒絕user1創建視圖的權限。DENYCREATEVIEWTOuser12026/8/913:349.5角色9.5.1建立用戶定義的角色9.5.2為用戶定義的角色授權9.5.3為用戶定義的角色添加成員9.5.4刪除用戶定義角色中的成員概述為便于對用戶及權限的管理,可以將一組具有相同權限的用戶組織在一起,這一組具有相同權限的用戶就稱為角色(Role)。角色類似于Windows操作系統安全體系中的組的概念。2026/8/913:349.5.1建立用戶定義的角色用戶可以根據實際的工作職能情況定義自己的一系列角色,并給每個角色授予合適的權限。用戶自定義的角色的成員可以是數據庫的用戶,也可以是用戶定義的角色。2026/8/913:34建立用戶定義的角色CREATEROLErole_name[AUTHORIZATIONowner_name]role_name:待創建角色的名稱。AUTHORIZATIONowner_name:將擁有新角色的數據庫用戶或角色。如果未指定用戶,則執行CREATEROLE的用戶將擁有該角色。2026/8/913:34示例例1.創建用戶自定義角色:Myrole,擁有者為創建該角色的用戶。CREATEROLEMyrole;例2.創建用戶自定義角色:yourole,擁有者為SQL_User1。CREATEROLEyouroleAUTHORIZATIONSQL_User1;2026/8/913:349.5.2為用戶定義的角色授權使用SQL語句實現對用戶角色的授權與為數據庫用戶授權完全一樣。例3.為Software角色授予Student表的查詢權。GRANTSELECTONStudentTOSoftware例4.為Admin角色授予Student表的增、刪、改、查權。GRANTSELECT,INSERT,DELETE,UPDATEONStudentTOAdmin2026/8/913:349.5.3為用戶定義的角色添加成員sp_addrolemember[@rolename=]'role',[@mem

溫馨提示

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

最新文檔

評論

0/150

提交評論