版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
數(shù)據(jù)庫原理與應用教程(第5版)第11章安全管理11.1安全控制概述11.2登錄名11.3數(shù)據(jù)庫用戶11.4權限管理11.5角色2023/12/2016:11211.1安全控制概述數(shù)據(jù)庫的安全控制是指:在數(shù)據(jù)庫應用系統(tǒng)的不同層次提供對有意和無意損害行為的安全防范。在數(shù)據(jù)庫中對有意的非法活動可采用加密存、取數(shù)據(jù)的方法控制;對有意的非法操作可使用用戶身份驗證、限制操作權來控制;對無意的損壞可采用提高系統(tǒng)的可靠性和數(shù)據(jù)備份等方法來控制。2023/12/2016:113安全控制模型2023/12/2016:11411.1.2SQLServer安全控制過程在大型DBMS中,用戶訪問數(shù)據(jù)庫數(shù)據(jù)要經(jīng)過三個安全認證過程:確認用戶是否是數(shù)據(jù)庫服務器的合法用戶(具有登錄名);第二個過程,確認用戶是否是要訪問的數(shù)據(jù)庫的合法用戶(是數(shù)據(jù)庫用戶);第三過程,確認用戶是否具有合適的操作權限(權限認證)。2023/12/2016:115安全認證三個過程示意圖2023/12/2016:116
11.2登錄名SQLServer的安全權限是基于標識用戶身份的登錄標識符(LoginID,登錄ID),登錄ID就是控制訪問SQLServer數(shù)據(jù)庫服務器的登錄名。11.2.1身份驗證模式11.2.2建立登錄名11.2.3刪除登錄名2023/12/2016:11711.2.1身份驗證模式SQLServer支持兩類登錄名:由SQLServer負責驗證的登錄名;Windows網(wǎng)絡賬戶,可以是組用戶。SQLServer相應地提供了兩種身份驗證模式:Windows身份驗證模式混合驗證模式2023/12/2016:118Windows身份驗證模式SQLServer將用戶的身份驗證交給了Windows操作系統(tǒng)來完成。在這種身份驗證模式下,SQLServer將通過Windows操作系統(tǒng)來獲得用戶信息,并對登錄名和密碼進行重新驗證。使用Windows身份驗證模式時,用戶必須先登錄到Windows操作系統(tǒng),然后再登錄到SQLServer。2023/12/2016:119混合身份驗證模式允許Windows授權用戶和SQL授權用戶登錄到SQLServer數(shù)據(jù)庫服務器。如果希望允許非Windows操作系統(tǒng)的用戶也能登錄到SQLServer數(shù)據(jù)庫服務器上,則應該選擇混合身份驗證模式。SQLServer身份驗證的登錄信息保存在SQLServer實例上;Windows身份驗證的登錄信息由Windows和SQLServer實例共同保存。2023/12/2016:1110設置身份驗證模式系統(tǒng)管理員根據(jù)系統(tǒng)的實際應用情況設置SQLServer的身份驗證模式??梢栽诎惭bSQLServer1105時設置也可以在安裝完成后通過SSMS工具進行設置。2023/12/2016:1111設置方法在SSMS的對象資源管理器中,在SQLServer實例上右擊鼠標,選擇“屬性”命令。在“服務器屬性”窗口左邊的“選擇頁”上,單擊“安全性”選項。在“服務器身份驗證”部分,可以設置該實例的身份驗證模式。2023/12/2016:1112設置身份驗證模式窗口11.2.2建立登錄名建立登錄名有兩種方法:通過SSMS工具實現(xiàn),通過T-SQL語句實現(xiàn)。2023/12/2016:1114用T-SQL語句建立登錄名CREATELOGINlogin_name{WITH<option_list1>|FROM<sources>}<sources>::=WINDOWS[WITH<windows_options>[,…]]<option_list1>::=PASSWORD='password'
[,<option_list2>[,...]]2023/12/2016:1115建立登錄帳戶的T-SQL語句(續(xù))<option_list2>::=SID=sid|DEFAULT_DATABASE=database|DEFAULT_LANGUAGE=language<windows_options>::=DEFAULT_DATABASE=database|DEFAULT_LANGUAGE=language2023/12/2016:1116示例例1.創(chuàng)建SQLServer身份驗證的登錄帳戶。登錄名為:SQL_User2,密碼為:a1b2c3XY。CREATELOGINSQL_User2WITHPASSWORD='a1b2c3XY'2023/12/2016:1117示例例2.創(chuàng)建Windows身份驗證的登錄帳戶。從Windows域帳戶創(chuàng)建[HYJ\Win_User2]登錄帳戶。CREATELOGIN[COMP\Win_User]FROMWINDOWS;2023/12/2016:1118示例例3.創(chuàng)建SQLServer身份驗證的登錄帳戶。登錄名為:SQL_User3,密碼為:AD4h9fcdhx32MOP。要求該登錄帳戶首次連接服務器時必須更改密碼。CREATELOGINSQL_User3WITHPASSWORD='AD4h9fcdhx32MOP'MUST_CHANGE2023/12/2016:111911.2.3刪除登錄名依次展開“安全性”
“登錄名”節(jié)點。在要刪除的登錄名上右擊鼠標,選擇“刪除”命令,彈出刪除登錄名屬性窗口。單擊“確定”按鈕。2023/12/2016:1120刪除登錄名的T-SQL語句DROPLOGINlogin_name不能刪除正在使用的登錄帳戶,也不能刪除擁有任何數(shù)據(jù)庫對象、服務器級別對象的登錄帳戶。例1.刪除SQL_User2登錄帳戶。
DROPLOGINSQL_User22023/12/2016:112111.3數(shù)據(jù)庫用戶11.3.1建立數(shù)據(jù)庫用戶11.3.2刪除數(shù)據(jù)庫用戶2023/12/2016:112211.3.1建立數(shù)據(jù)庫用戶展開要建立數(shù)據(jù)庫用戶的數(shù)據(jù)庫。展開“安全性”節(jié)點,在“用戶”節(jié)點上右擊鼠標,選擇“新建用戶”命令。在“登錄名”部分指定將要成為此數(shù)據(jù)庫用戶的登錄名。單擊“登錄名”文本框右邊的
按鈕,可以查找某登錄名。2023/12/2016:1123用T-SQL語句建立數(shù)據(jù)庫用戶CREATEUSERuser_name[{{FOR|FROM}{LOGINlogin_name}]user_name:指定在此數(shù)據(jù)庫中用于識別該用戶的名稱。LOGINlogin_name:指定要映射為數(shù)據(jù)庫用戶的SQLServer登錄名。如果省略FORLOGIN,則新的數(shù)據(jù)庫用戶將被映射到同名的SQLServer登錄名。2023/12/2016:1124示例讓SQL_User2登錄帳戶成為當前數(shù)據(jù)庫中的用戶,并且用戶名同登錄名。CREATEUSERSQL_User22023/12/2016:1125示例本示例首先創(chuàng)建名為SQL_JWC且具有密碼的SQLServer身份驗證的服務器登錄名,然后在學生數(shù)據(jù)庫中創(chuàng)建與此登錄帳戶對應的數(shù)據(jù)庫用戶JWC。CREATELOGINSQL_JWCWITHPASSWORD='jKJl3$nN09jsK84';GOUSE學生數(shù)據(jù)庫;GOCREATEUSERJWCFORLOGINSQL_JWC;2023/12/2016:1126注意服務器登錄名與數(shù)據(jù)庫用戶是兩個完全不同的概念。具有登錄名的用戶可以登錄到SQLServer實例上,而且只局限在實例上進行操作。數(shù)據(jù)庫用戶則是登錄名以什么樣的身份在該數(shù)據(jù)庫中進行操作,是登錄名在具體數(shù)據(jù)庫中的映射,這個映射名(數(shù)據(jù)庫用戶名)可以和登錄名一樣,也可以不一樣2023/12/2016:112711.3.2刪除數(shù)據(jù)庫用戶刪除數(shù)據(jù)庫用戶,實際就是解除了登錄名和數(shù)據(jù)庫用戶之間的映射關系。刪除數(shù)據(jù)庫用戶之后,其對應的登錄名仍然存在。刪除方法:展開“數(shù)據(jù)庫”
“students”
“安全性”
“用戶”節(jié)點。在要刪除的用戶名上右擊鼠標,選擇“刪除”命令。2023/12/2016:1128用T-SQL語句刪除數(shù)據(jù)庫用戶語句DROPUSERuser_name其中user_name為要在此數(shù)據(jù)庫中刪除的用戶名。示例.刪除SQL_User2用戶。
DROPUSERSQL_User22023/12/2016:112911.4管理權限11.4.1權限種類及用戶分類11.4.2權限的管理2023/12/2016:1130權限種類對象權限是對表、視圖等對象中數(shù)據(jù)的操作權。語句權限創(chuàng)建對象的權限。隱含權限指由SQLServer預定義的服務器角色、數(shù)據(jù)庫角色、數(shù)據(jù)庫擁有者和數(shù)據(jù)庫對象擁有者所具有的權限。2023/12/2016:1131數(shù)據(jù)庫用戶的分類系統(tǒng)管理員在數(shù)據(jù)庫服務器上具有全部的權限。SQLServer的默認系統(tǒng)管理員是“sa”。數(shù)據(jù)庫對象擁有者創(chuàng)建數(shù)據(jù)庫對象的用戶即為數(shù)據(jù)庫對象擁有者。數(shù)據(jù)庫對象擁有者對其所擁有的對象具有全部權限。普通用戶只具有對數(shù)據(jù)庫數(shù)據(jù)的增、刪、改、查權限。11.4.2權限的管理授予權限:允許用戶或角色具有某種操作權收回權限:不允許用戶或角色具有某種操作權,或者收回曾經(jīng)授予的權限。拒絕權限:拒絕某用戶或角色具有某種操作權,既使用戶或角色由于繼承而獲得這種操作權,也不允許執(zhí)行相應的操作。對象權限的管理可以通過SSMS工具實現(xiàn),也可以通過T-SQL語句實現(xiàn)。用T-SQL語句實現(xiàn)權限管理用于管理權限的T-SQL語句有三個:GRANT:用于授予權限。REVOKE:用于收回或撤消權限。DENY:用于拒絕權限授權語句GRANT對象權限名[,…]ON{表名|視圖名}TO{數(shù)據(jù)庫用戶名|用戶角色名}[,…]2023/12/2016:1136收權語句REVOKE對象權限名[,…]ON{表名|視圖名}FROM{數(shù)據(jù)庫用戶名|用戶角色名}[,…]2023/12/2016:1137拒絕語句DENY對象權限名[,…]ON{表名|視圖名}TO{數(shù)據(jù)庫用戶名|用戶角色名}[,…]2023/12/2016:1138示例例1.為用戶user1授予Student表的查詢權。GRANTSELECTONStudentTOuser1例2.為用戶user1授予SC表的查詢權和插入權。
GRANTSELECT,INSERTONSCTOuser1例3.收回用戶user1對Student表的查詢權。
REVOKESELECTONStudentFROMuser1例4.拒絕user1用戶具有SC表的更改權。
DENYUPDATEONSCTOuser1
2023/12/2016:1139語句權限管理用SSMS實現(xiàn):基本同對象權限管理。用T-SQL語句實現(xiàn)。語句權限管理的T-SQL語句授權語句GRANT語句權限名[,…]TO{數(shù)據(jù)庫用戶名|用戶角色名}[,…]2023/12/2016:1141語句權限管理收權語句REVOKE語句權限名[,…]FROM{數(shù)據(jù)庫用戶名|用戶角色名}[,…]2023/12/2016:1142收權語句拒絕語句DENY語句權限名[,…]TO{數(shù)據(jù)庫用戶名|用戶角色名}[,…]2023/12/2016:1143示例例5.授予user1具有創(chuàng)建表的權限。
GRANTCREATETABLETOuser1例6.授予user1和user2具有創(chuàng)建表和視圖的權限。GRANTCREATETABLE,CREATEVIEWTOuser1,user2例7.收回授予user1創(chuàng)建表的權限。
REVOKECREATETABLEFROMuser1例8.拒絕user1創(chuàng)建視圖的權限。
DENYCREATEVIEWTOuser12023/12/2016:114411.5角色為便于對用戶及權限的管理,可以將一組具有相同權限的用戶組織在一起,這一組具有相同權限的用戶就稱為角色(Role)。SQLServer中,角色分為:固定的服務器角色固定的數(shù)據(jù)庫角色用戶自定義的角色——介紹2023/12/2016:114511.5.1建立用戶定義的角色屬于數(shù)據(jù)庫一級的角色。用戶可以根據(jù)實際的工作職能情況定義自己的一系列角色,并給每個角色授予合適的權限。用戶自定義的角色的成員可以是數(shù)據(jù)庫的用戶,也可以是用戶定義的角色。2023/12/2016:1146用T-SQL語句建立用戶定義的角色CREATEROLErole_name[AUTHORIZATIONowner_name]role_name:待創(chuàng)建角色的名稱。
AUTHORIZATIONowner_name:將擁有新角色的數(shù)據(jù)庫用戶或角色。如果未指定用戶,則執(zhí)行CREATEROLE的用戶將擁有該角色。2023/12/2016:1147示例例1.創(chuàng)建用戶自定義角色:CompDept,擁有者為創(chuàng)建該角色的用戶。CREATEROLECompDept;例2.創(chuàng)建用戶自定義角色:InfoDept,擁有者為SQL_User1。
CREATEROLEInfoDeptAUTHORIZATIONSQL_User1;2023/12/2016:114811.5.2為用戶定義的角色授權對用戶角色的授權的方法與為數(shù)據(jù)庫用戶授權方法完全一樣。例3.為Software角色授予students數(shù)據(jù)庫中Student表的查詢權。
GRANTSELECTONStudentTOSoftw
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度專業(yè)技術人才“師帶徒”培養(yǎng)合同3篇
- 2025年度個人房產(chǎn)抵押權抵押權登記服務合同8篇
- 2025年度虛擬現(xiàn)實教育培訓平臺開發(fā)與運營合同范本4篇
- 2025年無財產(chǎn)離婚協(xié)議書范本:財產(chǎn)分配與子女撫養(yǎng)權益保障協(xié)議9篇
- 2025年水泥磚行業(yè)節(jié)能減排技術改造合同6篇
- 2025年浙江紹興諸暨市郵政分公司招聘筆試參考題庫含答案解析
- 二零二五版出租車夜間運營特許經(jīng)營合同2篇
- 2025年長沙穗城軌道交通有限公司招聘筆試參考題庫含答案解析
- 2025年廣東深圳市龍崗區(qū)城投集團招聘筆試參考題庫含答案解析
- 2025年武漢金中石化工程有限公司招聘筆試參考題庫含答案解析
- GB/T 37238-2018篡改(污損)文件鑒定技術規(guī)范
- 普通高中地理課程標準簡介(湘教版)
- 河道治理工程監(jiān)理通知單、回復單范本
- 超分子化學簡介課件
- 高二下學期英語閱讀提升練習(一)
- 易制爆化學品合法用途說明
- 【PPT】壓力性損傷預防敷料選擇和剪裁技巧
- 大氣喜慶迎新元旦晚會PPT背景
- DB13(J)∕T 242-2019 鋼絲網(wǎng)架復合保溫板應用技術規(guī)程
- 心電圖中的pan-tompkins算法介紹
- 羊絨性能對織物起球的影響
評論
0/150
提交評論