數(shù)據(jù)庫及其應(yīng)用課件:安全性管理_第1頁
數(shù)據(jù)庫及其應(yīng)用課件:安全性管理_第2頁
數(shù)據(jù)庫及其應(yīng)用課件:安全性管理_第3頁
數(shù)據(jù)庫及其應(yīng)用課件:安全性管理_第4頁
數(shù)據(jù)庫及其應(yīng)用課件:安全性管理_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1安全性管理MySQL的權(quán)限控制體系權(quán)限表賬戶管理授權(quán)與回收權(quán)限角色視圖2

第一節(jié)

MySQL的權(quán)限控制體系

MySQL將操縱數(shù)據(jù)庫資源的權(quán)限范圍劃分為5個級別。

順序級別權(quán)

限范圍

說明1GlobalLevel對整個MySQL數(shù)據(jù)庫服務(wù)器的全局權(quán)限。DBA特權(quán)2DatabaseLevel數(shù)據(jù)庫級別的權(quán)限。數(shù)據(jù)庫特權(quán)3TableLevel表級別的權(quán)限。

操作數(shù)據(jù)表權(quán)限4ColumnLevel表中某一列的權(quán)限。操作表中的某些列的權(quán)限5RoutineLevel針對函數(shù)、觸發(fā)器和存儲過程的權(quán)限。使用函數(shù)、觸發(fā)器和存儲過程權(quán)限3

一、具有DBA特權(quán)的數(shù)據(jù)庫用戶

DBA擁有支配整個數(shù)據(jù)庫資源的所有特權(quán)。其中主要包括:訪問數(shù)據(jù)庫的任何數(shù)據(jù);數(shù)據(jù)庫的調(diào)整、重構(gòu)和重組;注冊用戶、授予和回收數(shù)據(jù)庫用戶訪問數(shù)據(jù)對象的權(quán)限;控制整個數(shù)據(jù)庫運(yùn)行和跟蹤審查;數(shù)據(jù)庫備份和恢復(fù)等權(quán)限。4

二、支配數(shù)據(jù)庫資源特權(quán)的數(shù)據(jù)庫用戶

這類用戶是數(shù)據(jù)庫、表、視圖等數(shù)據(jù)對象的創(chuàng)建者,常稱為“具有RESOURCE特權(quán)的用戶”,擁有這些數(shù)據(jù)對象上所有操作和控制的權(quán)限,主要包括:創(chuàng)建表、索引和聚簇的權(quán)限;可以授予或回收其他用戶對其所創(chuàng)建的數(shù)據(jù)對象的所有訪問權(quán)限;可以對其所創(chuàng)建的數(shù)據(jù)對象跟蹤審查的權(quán)限。5

三、一般數(shù)據(jù)庫用戶

這類用戶可以連接數(shù)據(jù)庫,也稱為“具有CONNECT特權(quán)的用戶”。主要包括:能夠按照所獲得的權(quán)限查詢或更新數(shù)據(jù)庫中的數(shù)據(jù);可以創(chuàng)建視圖或定義數(shù)據(jù)的別名等權(quán)限。6第二節(jié)

權(quán)限表

用戶的注冊信息(用戶名、IP地址|主機(jī)名、密碼等)以及對數(shù)據(jù)庫資源的訪問權(quán)限都存放在權(quán)限表中。MySQL服務(wù)器通過這些權(quán)限表控制用戶對數(shù)據(jù)庫的訪問,權(quán)限表是數(shù)據(jù)庫系統(tǒng)安全控制的關(guān)鍵。

權(quán)限表存放在MySQL數(shù)據(jù)庫中,最重要的權(quán)限表是user表和db表,除此之外還有table_priv表、column_priv表和proc_priv表。7一、user表(1)范圍列包括Host和User,分別表示主機(jī)名和用戶名,Host和User為user表的聯(lián)合主鍵。(2)權(quán)限列決定用戶的權(quán)限,指出用戶在全局范圍內(nèi)具有的各種權(quán)限。字段的類型為ENUM,取值只能是Y和N,Y具有的權(quán)限,N為沒有權(quán)限,N為默認(rèn)值。(3)安全列指定用戶標(biāo)識和密碼等身份驗證信息。(4)資源控制列限制用戶使用資源,如限制每小時查詢、更新、連接等操作次數(shù)。user表存儲所有登錄賬戶的信息,一共有49個字段,可以分為四類:8二、db表圖8.2查看db表的字段定義db表存放用戶對某個數(shù)據(jù)庫的操作權(quán)限。db表的字段大致分為兩類,分別是用戶列和權(quán)限列。用戶列權(quán)限列9三、tables_priv表tables_priv表用于對表設(shè)置操作權(quán)限,tables_priv表的結(jié)構(gòu):FieldTypeNullKeyHost|char(255NOPRIDbchar(64)NOPRIUserchar(32)NOPRITable_namechar(64)NOPRIGrantorvarchar(288)NOMULTimestamptimestampNO

Table_privset('Select','Insert','Update','Delete','Create','Drop','Grant','References','Index','Alter','CreateView','Showview','Trigger')NO

Column_privset('Select','Insert','Update','References')

NO

圖8.3查看tables_priv表的字段定義10四、columns_priv表columns_priv表用于對表中某一列設(shè)置操作權(quán)限。11五、procs_priv表保存對某個存儲過程或存儲函數(shù)設(shè)置的操作權(quán)限。

12

MySQL權(quán)限管理系統(tǒng)通過兩個階段進(jìn)行認(rèn)證(1)對連接的用戶進(jìn)行身份認(rèn)證,合法的用戶通過認(rèn)證,不合法的用戶拒絕連接。(2)對通過認(rèn)證的合法用戶賦予相應(yīng)的權(quán)限,用戶可以在擁有的權(quán)限范圍內(nèi)對數(shù)據(jù)庫做相應(yīng)的操作。

13

第三節(jié)賬戶管理

賬戶管理是MySQL數(shù)據(jù)庫的安全性管理的重要內(nèi)容,賬戶管理主要內(nèi)容是對上述權(quán)限表的操作。MySQL提供多個賬戶管理的語句,創(chuàng)建用戶、刪除用戶、密碼管理和權(quán)限管理。14

一、創(chuàng)建新用戶SQL語句的基本格式如下:

CREATEUSER用戶名IDENTIFIEDBY'密碼’[WITH資源限制]用戶名由用戶名與主機(jī)名(或IP地址)組成。IDENTIFIEDBY設(shè)置密碼。資源限制是可選項,規(guī)定每小時執(zhí)行查詢次數(shù)之類的約束。說明:只能以管理員身份登錄,才有創(chuàng)建用戶的權(quán)限,否則會被拒絕創(chuàng)建。151、例8.1創(chuàng)建新用戶示例。2、查看用戶表顯示所有用戶名,包括新建用戶。16二、刪除普通用戶

刪除普通用戶的命令有兩種:DROPUSER‘用戶名’[,用戶名]…;DELETEFROMmysql.userWHEREhost=′主機(jī)名′

AND

user=‘用戶名’;17三、修改密碼1.使用ALTERUSER命令修改root賬戶密碼,利用user()函數(shù)返回當(dāng)前連接MySQL的用戶名和主機(jī)名。2.使用SET命令修改root賬戶密碼。3.用戶Root使用ALTERUSER命令修改普通賬戶的密碼。184.普通賬戶可以如上述1、2的方法修改自己賬戶的密碼。5.驗證密碼修改結(jié)果的方法是執(zhí)行exit命令退出,再使用新密碼重新登錄。19

第四節(jié)授權(quán)與回收權(quán)限

授權(quán)是為某個用戶或角色賦予某些權(quán)限,規(guī)定用戶訪問數(shù)據(jù)庫的范圍和操作限制。一、授權(quán)與被授權(quán)的層次關(guān)系

20二、MySQL的授權(quán)語句

第一種授權(quán)格式:使用ALL關(guān)鍵字對全局、數(shù)據(jù)庫和表級用戶授予全部權(quán)限。

1.

全局級別授權(quán)

GRANTALLON*.*TO用戶名;

例8.4

2.

數(shù)據(jù)庫級別授權(quán)

GRANTALLON數(shù)據(jù)庫名.*TO用戶名;

例8.5213.表級別授權(quán)

GRANTALLON數(shù)據(jù)庫名.表名TO用戶名;例8.6例8.7查看用戶jean獲得的所有權(quán)限22第二種授權(quán)格式:DBA或數(shù)據(jù)庫特權(quán)用戶授予其他用戶對數(shù)據(jù)庫對象的操作權(quán)限。語句格式:

GRANT權(quán)限ON數(shù)據(jù)庫對象TO用戶或角色

[WITHGRANTOPTION]說明:

(1)權(quán)限是相應(yīng)對象任何有效權(quán)限的組合。ALL表示所有可能的權(quán)限。(2)數(shù)據(jù)庫對象可以是一個表、視圖、表或視圖的列及存儲過程;(3)被授權(quán)的用戶或角色;(4)WITHGRANTOPTION短語表示獲得權(quán)限的用戶還能將權(quán)限轉(zhuǎn)授給其他用戶。23三、MySQL的回收權(quán)限語句第一種收回權(quán)限的格式:REVOKEALLON*.*FROM用戶名;REVOKEALLON數(shù)據(jù)庫名.*FROM用戶名;REVOKEALLON數(shù)據(jù)庫名.表名FROM用戶名;第二種收回權(quán)限的格式:

REVOKE權(quán)限ON數(shù)據(jù)庫對象FROM用戶名;例8.9授予和回收SNO01查詢SC和轉(zhuǎn)授權(quán)限。GRANTSELECTONschool.SCto'sno01'@'%’withgrantoption;REVOKESELECTONschool.scfrom'sno01'@'%';REVOKEGRANTOPTIONONschool.scfrom'sno01'@'%';24

第五節(jié)角色角色是權(quán)限的集合,可以為角色授予或收回權(quán)限。用戶可以被賦予角色,同時擁有角色具有的權(quán)限。

引入角色的目的是方便管理擁有相同權(quán)限的用戶。

一、創(chuàng)建新角色語句CREATEROLErole_name;說明:role_name為角色名,命名的方法與用戶名相同。創(chuàng)建角色時,角色無任何權(quán)限,需要授予它權(quán)限,并激活角色。25二、給角色賦予權(quán)限創(chuàng)建的新角色是沒有任何權(quán)限的,需要給角色授權(quán)。

GRANT權(quán)限ON表名TO'role_name'[@'host_name'];三、查看角色的權(quán)限

SHOWGRANTSFOR'角色名’;例如,SHOWGRANTSFOR'teachers'@'localhost';四、收回角色的權(quán)限

REVOKE權(quán)限ON表名FROM角色名;例如,REVOKEINSERT,UPDATEONschool.SCfrom`teachers`@`localhost`;26五、給用戶賦予角色

GRANTrole[,role2,...]TOuser[,user2,...];說明:給用戶賦予角色,用戶將獲得角色的權(quán)限。六、撤銷用戶角色

REVOKEroleFROMuser;例如,REVOKEteachersFROMTNO01;27七、激活角色

授予角色權(quán)限和用戶賦予角色,還需要激活角色才能使角色生效。激活角色的方法有多種:方式1:使用SETDEFAULTROLE命令激活角色例如,SETDEFAULTROLEALLTO'teachers'@'localhost','students'@'localhost';方式2:將activate_all_roles_on_login變量設(shè)置為ON。例如,SETGLOBALactivate_all_roles_on_login=ON;28八、刪除角色DROPROLErole;說明:如果刪除角色,賦予角色的用戶就無法使用角色的權(quán)限。

例如,刪除角色teachers,用戶'TNO01'@'localhost‘將不再具有角色teachers的權(quán)限。

DROPROLE'teachers'@'localhost';29第六節(jié)視圖

視圖是從一個或多個基本表導(dǎo)出的虛表,它的數(shù)據(jù)來自于一些基本表,在數(shù)據(jù)庫中只存儲有關(guān)視圖的定義。

視圖也是數(shù)據(jù)庫系統(tǒng)實(shí)現(xiàn)安全性控制的一種方法。針對不同的用戶定義不同的視圖,可以限制用

戶的訪問范圍,且訪問視圖也需要授予權(quán)限。視圖定義之后,DBMS自動維護(hù)它,當(dāng)基本表數(shù)據(jù)發(fā)生變化時,視圖的數(shù)據(jù)也會自動地隨之變化。30一、創(chuàng)建視圖

CREATEVIEW<視圖名稱>[<字段列表>]AS<SELECT查詢語句>;例8.16基于多表創(chuàng)建視圖示例3132二、更新視圖數(shù)據(jù)

視圖是從基本表中引用數(shù)據(jù),通過視圖也可以執(zhí)行插入(INSERT)、更新(UPDATE)和刪除(DELETE)表中的數(shù)據(jù),其操作結(jié)果將轉(zhuǎn)換到基本表中。但也有不能更新的情況,如視圖中包含SUM()、COUNT()、MAX()和MIN()等函數(shù);視圖中包含UNION、UNIONALL、DISTINCT

溫馨提示

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

評論

0/150

提交評論