




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第8章
數據庫系統安全本章要點◆?SQLServer安全控制機制。◆?SQLServer登錄賬號、角色、用戶和訪問權限的管理。◆MySQL安全控制機制。◆MySQL登錄賬號、角色、用戶和訪問權限的管理。2一、概述31、數據庫系統的安全控制模型對數據庫管理系統正常運行而進行的維護權限對數據庫中的對象和數據的操作權限對數據庫對象的權限對數據庫數據的操作權用戶按其操作權限的大小可分為數據庫系統管理員數據庫對象擁有者普通用戶4一、概述2、
數據庫權限和用戶分類建立在認證和訪問許可機制上的身份驗證訪問權驗證操作權驗證SQLServer登錄賬戶的來源有兩種:Windows授權用戶:來自于Windows的用戶或組;SQL授權用戶:來自于非Windows的用戶,我們也將這種用戶稱為SQL用戶。2025/6/817:115一、概述3、SQLServer的安全機制(1)Windows身份驗證模式
2025/6/817:116一、概述3、SQLServer的安全機制Windows身份驗證模式允許用戶通過Windows家族的用戶進行連接。只需選擇Windows身份驗證模式,而無需再提供登錄賬號和密碼,系統會從用戶登錄到Windows時提供的用戶名和密碼中查找當前用戶的登錄信息,以判斷其是否是SQLServer的合法用戶。2025/6/817:117一、概述3、SQLServer的安全機制在該認證模式下,用戶在連接SQLServer時必須提供登錄名和登錄密碼,這些登錄信息存儲在系統表syslogins中,與操作系統的登錄賬號無關。(2)SQLServer身份驗證模式2025/6/817:118一、概述3、SQLServer的安全機制在混合認證模式下,Windows認證和SQLServer認證這兩種認證模式都是可用的。在使用客戶應用程序連接SQLServer服務器時,如果沒有傳遞登錄名和密碼,SQLServer將自動認定用戶要使用Windows身份驗證模式,并且在這種模式下對用戶進行認證。如果傳遞了登錄名和密碼,則SQLServer認為用戶要使用SQLServer身份驗證模式,并將所傳來的登錄信息與存儲在系統表中的數據進行比較。如果匹配,就允許用戶連接到服務器,否則拒絕連接。(3)混合驗證模式設置身份驗證模式2025/6/817:119一、概述4、MySQL的安全機制MySQL中主要包含root用戶和普通用戶。root用戶擁有一切權限,普通用戶只能擁有部分權限。在MySQL的系統數據庫mysql中存儲著權限表,最主要有mysql.user、mysql.db、table_priv、columns_priv、procs_priv表。user表記錄了允許連接到服務器的賬號信息,里面的權限是全局級的。db表存儲了用戶對某個數據庫的操作權限,決定用戶能從哪個主機存取哪個數據庫。tables_priv表用來對表設置操作權限,columns_priv表用來對表的某一列設置權限。procs_priv表用來對存儲過程和存儲函數設置操作權限。user表中的部分數據tables_priv表中的部分數據2025/6/817:1110一、概述4、MySQL的安全機制用戶通過登錄驗證后,MySQL將對用戶提交的每項數據庫操作進行權限檢查,判斷用戶是否具有足夠的權限執行相應操作。2025/6/817:1111二、用戶管理1、SQLServer登錄名管理在SQLServer中,必須要有登錄名才能連接到數據庫服務器。sa為超級管理員登錄名。系統登錄賬號新建對話框“常規”頁2025/6/817:1112二、用戶管理2、SQLServer用戶管理在SQLServer中,數據庫用戶與登錄名是兩個不同的概念。一個合法的登錄名只表明該登錄名通過了Windows認證或SQLServer認證,但不能表明其可以對數據庫數據和數據對象進行某種或某些操作,所以一個登錄名總是與一個或多個數據庫用戶相對應,這樣才可以訪問數據庫。例如,登錄賬號sa自動與每一個數據庫用戶dbo相關聯。在SQLServer中創建數據庫用戶2025/6/817:1113二、用戶管理3、MySQL用戶管理在MySQL中,不需要像SQLServer一樣單獨創建一個登錄名,用戶名即登錄名。可以通過可視化界面對用戶進行管理。在MySQL中創建數據庫用戶(1)創建用戶2025/6/817:1114二、用戶管理3、MySQL用戶管理MySQL和SQLServer等關系型數據庫都提供命令方式創建用戶,格式大同小異,以下是在MySQL中創建用戶的語法格式:CREATEUSER[IFNOTEXISTS]'用戶名'[@'主機地址或標識'][IDENTIFIED[WITHAUTH_PLUGIN]BY'用戶口令'|RANDOMPASSWORD][WITHresource_option[resource_option]...][password_option];說明如下:(1)IFNOTEXISTS為可選參數,表示如果用戶名不存在,則創建用戶,否則不創建用戶。(2)使用CREATEUSER語句可一次性創建多個用戶,不同用戶的配置信息使用逗號分隔。(3)創建用戶時,可指定用戶訪問數據庫時允許的主機信息,如主機標識或名稱、主機地址或特殊符號,’%’表示任意位置。(4)IDENTIFY子句使用WITHAUTH_PLUGIN指定口令加密策略。通過BY關鍵字指明口令明文或隨機口令RANDOMPASSWORD。(5)可選子句[WITHresource_option[resource_option]...]使用resource_option配置用戶對數據庫資源使用約束。(6)可選子句[password_option]設定口令策略。(7)CREATEUSER語句還提供了其他參數,如用戶鎖、用戶連接安全策略等信息。(1)創建用戶2025/6/817:1115二、用戶管理3、MySQL用戶管理【例8-1】創建一個只允許在MySQL所在服務器上登錄的賬戶student,密碼為student123,其他配置信息保持默認。CREATEUSERIFNOTEXISTS'student'@'localhost'IDENTIFIEDBY'student123';【例8-2】創建一個允許在任意機器上登錄的賬戶user1,密碼為Evt@123,其他配置信息保持默認。CREATEUSER'user1'@'%'IDENTIFIEDBY'Evt@123';(1)創建用戶2025/6/817:1116二、用戶管理3、MySQL用戶管理【例8-3】創建一個只允許在192.168.1.100機器上登錄的賬戶user2,密碼為Small@123,其他配置信息保持默認。CREATEUSER'user2'@'192.168.1.100'IDENTIFIEDBY'Small@123';創建用戶也可以直接在MySQL數據庫的user表中添加數據,添加成功后使用如下指令使用戶生效:FLUSHPRIVILEGES;(1)創建用戶2025/6/817:1117二、用戶管理3、MySQL用戶管理可以使用RENAMEUSER語句重命名用戶賬號,語法格式如下:RENAMEUSER'原用戶信息'TO'新用戶信息'[,'原用戶信息'TO'新用戶信息']...【例8-4】
將已有用戶stud重命名為student,將主機信息從localhost修改為%。RENAMEUSER'stud'@'localhost'to'student'@'%';(2)重命名用戶2025/6/817:1118二、用戶管理3、MySQL用戶管理可以使用ALTERUSER語句修改用戶口令,其語法格式如下:ALTERUSER'用戶名'@'主機信息'IDENTIFIEDBY'新密碼';【例8-5】將主機信息為localhost、用戶名為zw3的用戶口令修改為AX02t7964。ALTERUSER'zw3'@'localhost'IDENTIFIEDBY'AX02t7964';(3)修改用戶口令2025/6/817:1119二、用戶管理3、MySQL用戶管理可以使用DROPUSER語句刪除用戶,其語法格式如下:DROPUSER'用戶名'@'主機信息'[,'用戶名'@'主機信息']【例8-6】刪除主機信息為localhost用戶名為student的用戶DROPUSER'zw3'@'localhost';也可以在系統表user中刪除用戶。【例8-7】刪除主機信息為localhost、用戶名為student的用戶。DELELEFROMmysql.user
WHEREUser='student'andHost='localhost';直接從user表中刪除數據后應使用“FLUSHPRIVILEGES”語句使操作生效。(4)刪除用戶2025/6/817:1120三、管理權限當用戶成為數據庫中的合法用戶之后,除了具有一些系統表的查詢權之外,并不對數據庫中的對象具有任何操作權。因此,下一步就需要為數據庫中的用戶授予適當的操作權。1.對象權限對象權限是指用戶對數據庫中的表、視圖、存儲過程等對象的操作權,相當于數據庫操作語言(DML)的語句權限,例如是否允許查詢、增加、刪除和修改數據等。具體包括:(1)對于表和視圖,可以使用SELECT、INSERT、UPDATE、DELETE、REFERENCES等權限。(2)對于存儲過程,可以使用EXECUTE權限、CONTROL和查看等權限。(3)對于標量函數,主要有執行、引用、控制等權限。(4)對于表值型函數,有插入、更新、刪除、查詢和引用等權限。2.語句權限語句權限相當于數據定義語言(DDL)的語句權限,這種權限專指是否允許執行語句CREATETABLE、CREATEPROCEDURE、CREATEVIEW等與創建數據庫對象有關的操作。1、
權限管理簡介2025/6/817:1121權限的管理包含如下三方面內容:(1)授予權限(GRANT):允許用戶或角色具有某種操作權。(2)撤銷權限(REVOKE):不允許用戶或角色具有某種操作權,或者收回曾經授予的權限。(3)拒絕訪問(DENY):拒絕某用戶或角色具有某種操作權,即使用戶或角色由于繼承而獲得這種操作權,也不允許執行相應的操作。三、管理權限1、
權限管理簡介2025/6/817:1122權限的管理包含如下三方面內容:(1)授予權限(GRANT):允許用戶或角色具有某種操作權。(2)撤銷權限(REVOKE):不允許用戶或角色具有某種操作權,或者收回曾經授予的權限。(3)拒絕訪問(DENY):拒絕某用戶或角色具有某種操作權,即使用戶或角色由于繼承而獲得這種操作權,也不允許執行相應的操作。三、管理權限1、
權限管理簡介2025/6/817:1123SQLServer可使用可視化工具和SQL命令管理數據庫用戶權限。三、管理權限2、
SQLServer權限管理安全對象分配權限2025/6/817:1124MySQL、SQLServer等數據庫都可以使用GRANT命令授予用戶或角色權限,其語法格式大同小異,MySQL的GRANT命令的基本語法如下:GRANT權限名稱[(字段列表)][,權限名稱[(字段列表)]]...ON授權層次及對象TO'用戶名'@'主機信息'[,'用戶名'@'主機信息']...[WITHGRANTOPTION];相關說明如下:①可以一次性將多個權限賦予用戶,不同權限名稱使用逗號分隔。②ON子句用于指明授權級別及對象,常見形式包括:*.*:服務器級別權限(全局權限),執行成功后修改mysql.user表中記錄。db_name.*:數據庫級別權限,執行成功后修改mysql.db表中記錄。db_name.table_name:或列級別權限,授予表級別權限將修改mysql.tables_priv表中記錄,授予列級別權限將修改mysql.columns_priv表中記錄。db_name.routine_name:存儲過程級別權限,執行成功后修改mysql.routines_priv表中記錄。③TO子句用于指明授予的用戶或角色,可以將權限授予多個用戶。④WITHGRANTOPTION指示被授權者在獲得指定權限的同時還可以將指定權限授予其他主體。三、管理權限3、MySQL權限管理(1)授予權限2025/6/817:1125【例8-8】
將選修表的查詢權限授予用戶zhangsan。命令如下:GRANTSELECTONscTOzhangsan【例8-9】
將學生表的查詢、更新、刪除權限授予用戶zhangsan。命令如下:GRANTSELECT,UPDATE,DELETEONstudentTOzhangsan【例8-10】
將學生表的查詢權限授予用戶zhangsan,并且允許zhangsan把此權限授予其他用戶。命令如下:GRANTSELECTONstudentTOzhangsanWITHGRANTOPTION三、管理權限3、MySQL權限管理(1)授予權限2025/6/817:1126【例8-11】為user1用戶賦予數據庫服務器的所有使用權限(ALL),并允許權限由user1授予其他用戶。命令如下:GRANTALLON*.*to'user1'@'%'WITHGRANTOPTION【例8-12】為user1用戶賦予stu數據庫上對象的查找、創建數據表和插入數據權限(SELECT、CREATE、INSERT),并不允許權限由user1授予其他用戶。GRANTSELECT,CREATE,INSERTONstu.*to'user1'@'%'【例8-13】為user1用戶賦予toyuniverse數據庫上玩具表toys的查找、插入、更新和刪除數據權限(SELECT、INSERT、UPDATE、DELETE),并不允許權限由user1授予其他用戶。GRANTSELECT,INSERT,UPDATE,DELETEONtoyuniverse.toysTO'user1'@'%'三、管理權限3、MySQL權限管理(1)授予權限2025/6/817:1127【例8-14】為user2用戶賦予toyuniverse數據庫中訂單表orders上cOrderNo字段和dOrderDate字段的查找數據權限(SELECT),并不允許權限由user2授予其他用戶。GRANTSELECT(dOrderDate,dOrderDate)ONtoyuniverse.ordersTO'user2'@'192.168.1.100';【例8-15】為user3用戶賦予在toyuniverse數據庫中創建表和創建視圖的權。GRANTCREATE,CREATEviewONtoyuniverse.*touser3三、管理權限3、MySQL權限管理(1)授予權限2025/6/817:1128使用GRANT語句的其他注意事項:①MySQL8不允許為不存在用戶授權,所以不能使用GRANT語句達到授權同時創建用戶的目的,必須先創建用戶,然后才能授權;②對于字段級別權限,由于只能對字段進行查詢、插入和更新操作,所以字段級別權限只支持SELECT、INSERT和UPDATE權限;③使用GRANT語句授予不同級別的權限,將在相應的權限表格中,創建或修改相應記錄。三、管理權限3、MySQL權限管理(1)授予權限2025/6/817:1129如果要查看用戶的權限,可以使用SHOWGRANTS語句,格式如下:SHOWGRANTSFOR'用戶名'@'主機信息';【例8-16】查看user1用戶的權限授予情況。SHOWGRANTSFOR'user1'@'%';如果要查看當前用戶的權限授予情況,可以使用以下語句:SHOWGRANTSFORCURRENT_USER;三、管理權限3、MySQL權限管理(2)查看權限2025/6/817:1130REVOKE命令用于撤銷以前授予的權限,并不禁止用戶、角色通過別的方式獲得的權限。REVOKE命令的語法如下:REVOKE權限名稱[(字段列表)][,權限名稱[(字段列表)]]...ON回收權限的層次及對象FROM'用戶名'@'主機信息'[,'用戶名'@'主機信息']...;【例8-17】回收user1用戶對stu數據庫中對象的DELETE權限和SELECT權限。命令如下:REVOKESELECT,DELETE
ONstu.*FROM'user1'@'%';三、管理權限3、MySQL權限管理(3)回收權限2025/6/817:1131角色(Role)是對權限集中管理的一種機制,是權限的集合。通常根據特定需要,將一系列權限集中在一起構成角色。三、管理權限4、
角色表1的查詢權表2的刪除權表2的刪除權表3的查詢權表4的插入權用戶1用戶2用戶3用戶4角色1角色2可以將用戶添加到角色中,使其成為角色中的成員,從而具有角色的權限。一個用戶可以分配多個角色,也允許一個角色分配給多個用戶。2025/6/817:1132創建角色的語法格式如下:CREATEROLE'角色名稱'【例8-18】創建一個學生角色teacher。CREATEROLEteacher三、管理權限4、
角色(1)創建角色2025/6/817:1133可使用Grant語句將權限賦予角色。【例8-19】為教師角色teacher授予服務器級別全局權限。GRANTALLPREVILEGEON*.*TOteacher;【例8-20】為學生角色stu授予sc表的查找SELECT、插入數據INSERT、更新數據UPDATE和刪除數據DELETE權限。GRANTSELECT,INSERT,UPDATE,DELETEONscTOstu;三、管理權限4、
角色(2)為角色授權2025/6/817:1134可使用GRANT語句為用戶分配
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學五年級期末試卷(集錦12篇)
- 采石場股份買賣與礦山安全生產責任書
- 智能家居社區場地及智能家居租賃合同
- 房屋買賣合同催告與產權轉移合同
- 餐飲連鎖企業旗下特色餐廳品牌轉讓及經營管理合同
- 車輛質押融資與汽車改裝設計合同
- 知識產權代理授權委托書范本
- 拆遷補償安置及安置房銷售合同范本
- 2025私人借款合同書模板
- 2025版FIDIC合同主要條款深度解析
- GB/T 9576-2013橡膠和塑料軟管及軟管組合件選擇、貯存、使用和維護指南
- 營維一體化SOP手冊(裝維、銷售、維系)
- FZ/T 93056-1999變形絲用筒管技術條件
- 第六章神經系統
- 醫療不良事件報告表
- SA8000-2014社會責任績效委員會SPT組織架構、職責和定期檢討及評審會議記錄
- 材料加工新技術與新工藝112課件
- 國開作業科研人員TRIZ技術創新方法應用培訓-單元測驗1(確定項目+描述項目)76參考(含答案)
- 企業安全生產網格化管理體系圖空白
- 百日咳臨床研究進展PPT醫學課件
- 大型鋼網架整體提升施工工法
評論
0/150
提交評論