新編第4章數(shù)據(jù)庫(kù)安全性課件_第1頁(yè)
新編第4章數(shù)據(jù)庫(kù)安全性課件_第2頁(yè)
新編第4章數(shù)據(jù)庫(kù)安全性課件_第3頁(yè)
新編第4章數(shù)據(jù)庫(kù)安全性課件_第4頁(yè)
新編第4章數(shù)據(jù)庫(kù)安全性課件_第5頁(yè)
已閱讀5頁(yè),還剩50頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第四章 數(shù)據(jù)庫(kù)安全性1第四章 數(shù)據(jù)庫(kù)安全性問題提出數(shù)據(jù)庫(kù)的一大特點(diǎn)是數(shù)據(jù)可以共享數(shù)據(jù)庫(kù)系統(tǒng)中的數(shù)據(jù)共享不能是無(wú)條件的共享例: 軍事秘密、國(guó)家機(jī)密、市場(chǎng)營(yíng)銷策略、銷售計(jì)劃、客戶檔案、銀行儲(chǔ)蓄數(shù)據(jù)數(shù)據(jù)共享必然帶來(lái)數(shù)據(jù)庫(kù)的安全性問題數(shù)據(jù)庫(kù)的安全性是指保護(hù)數(shù)據(jù)庫(kù)以防止不合法的使用所造成的數(shù)據(jù)泄漏、更改或破壞2第四章 數(shù)據(jù)庫(kù)安全性數(shù)據(jù)庫(kù)中數(shù)據(jù)的共享是在DBMS統(tǒng)一嚴(yán)格的控制之下的共享,即只允許有合法使用權(quán)限的用戶訪問允許他存取的數(shù)據(jù)數(shù)據(jù)庫(kù)系統(tǒng)的安全保護(hù)措施是否有效是數(shù)據(jù)庫(kù)系統(tǒng)主要的性能指標(biāo)之一數(shù)據(jù)庫(kù)的安全性和計(jì)算機(jī)系統(tǒng)的安全性,包括計(jì)算機(jī)硬件、操作系統(tǒng)、網(wǎng)絡(luò)系統(tǒng)等的安全性,是緊密聯(lián)系相互支持的3本章內(nèi)容

2、4.1 SQL Server 2019的安全機(jī)制4.2 建立和管理用戶賬戶4.3 權(quán)限管理4.4 角色管理4.5 數(shù)據(jù)庫(kù)架構(gòu)4本章內(nèi)容4.1 SQL Server 2019的安全機(jī)制4.2 建立和管理用戶賬戶4.3 權(quán)限管理4.4 角色管理4.5 數(shù)據(jù)庫(kù)架構(gòu)54.1 SQL Server 2019的安全機(jī)制SQL Server 2019的身份驗(yàn)證模式指系統(tǒng)確認(rèn)用戶的方式在SQL Server2019支持兩種身份驗(yàn)證模式:Windows驗(yàn)證模式和SQL Server驗(yàn)證模式。64.1 SQL Server 2019的安全機(jī)制SQL Server 2019的身份驗(yàn)證模式Windows身份驗(yàn)證:用戶

3、登錄Windows時(shí)進(jìn)行身份驗(yàn)證,登錄SQL Server時(shí)不再進(jìn)行身份驗(yàn)證。說(shuō)明:必須將Windows賬戶加入到SQL Server中,才能采用Windows賬戶登錄SQL Server。SQL Server身份驗(yàn)證:使用SQL Server中的帳號(hào)和密碼來(lái)登錄數(shù)據(jù)庫(kù)服務(wù)器,而這些帳號(hào)和密碼與Windows操作系統(tǒng)無(wú)關(guān)。74.1 SQL Server 2019的安全機(jī)制SQL Server 2019的安全性機(jī)制主要是通過SQL Server的安全性主體和安全對(duì)象來(lái)實(shí)現(xiàn)。SQL Server 2019的安全性主體有3個(gè)級(jí)別服務(wù)器級(jí)別數(shù)據(jù)庫(kù)級(jí)別架構(gòu)級(jí)別84.1 SQL Server 2019的安

4、全機(jī)制服務(wù)器級(jí)別安全對(duì)象:登錄名和固定服務(wù)器角色等。登錄名用于登錄數(shù)據(jù)庫(kù)服務(wù)器,而固定服務(wù)器角色用于給登錄名賦予相應(yīng)的服務(wù)器權(quán)限。SQL Server 2019中的登錄名包括Windows登錄名和SQL Server登錄名。Windows登錄名對(duì)應(yīng)Windows驗(yàn)證模式,該驗(yàn)證模式所涉及的賬戶類型主要有Windows本地用戶賬戶、Windows域用戶賬戶、Windows組。SQL Server登錄名對(duì)應(yīng)SQL Server驗(yàn)證模式,在該驗(yàn)證模式下,能夠使用的賬戶類型主要是SQL Server賬戶。94.1 SQL Server 2019的安全機(jī)制數(shù)據(jù)庫(kù)級(jí)別安全對(duì)象:用戶和角色等。用戶安全對(duì)象是

5、用來(lái)訪問數(shù)據(jù)庫(kù)的。如果某人只擁有登錄名,而沒有在相應(yīng)的數(shù)據(jù)庫(kù)中為其創(chuàng)建登錄名所對(duì)應(yīng)的用戶,則該用戶只能登錄數(shù)據(jù)庫(kù)服務(wù)器,而不能訪問相應(yīng)的數(shù)據(jù)庫(kù)。創(chuàng)建登錄名所對(duì)應(yīng)的數(shù)據(jù)庫(kù)用戶,系統(tǒng)為該用戶自動(dòng)具有public角色。該用戶登錄數(shù)據(jù)庫(kù)后只擁有一些公共的權(quán)限,如果想讓該用戶擁有一些特殊權(quán)限,可將其添加到相應(yīng)的角色中。104.1 SQL Server 2019的安全機(jī)制架構(gòu)級(jí)別安全對(duì)象:表、視圖、函數(shù)和存儲(chǔ)過程等。架構(gòu)的作用是將數(shù)據(jù)庫(kù)中的所有對(duì)象分成不同的集合,這些集合沒有交集,每一個(gè)集合就稱為一個(gè)架構(gòu)。數(shù)據(jù)庫(kù)中的每一個(gè)用戶都會(huì)有自己的默認(rèn)架構(gòu)。這個(gè)默認(rèn)架構(gòu)可以在創(chuàng)建數(shù)據(jù)庫(kù)用戶時(shí)由創(chuàng)建者設(shè)定,若不設(shè)定則

6、系統(tǒng)默認(rèn)架構(gòu)為dbo。數(shù)據(jù)庫(kù)用戶只能對(duì)屬于自己架構(gòu)中的數(shù)據(jù)庫(kù)對(duì)象執(zhí)行相應(yīng)的數(shù)據(jù)操作。至于操作的權(quán)限則由數(shù)據(jù)庫(kù)角色決定。例如,若某數(shù)據(jù)庫(kù)中的表A屬于架構(gòu)S1,表B屬于架構(gòu)S2,而某用戶默認(rèn)的架構(gòu)為S2,如果沒有授予用戶操作表A的權(quán)限,則該用戶不能對(duì)表A執(zhí)行相應(yīng)的數(shù)據(jù)操作。但是,該用戶可以對(duì)表B執(zhí)行相應(yīng)的操作。114.1 SQL Server 2019的安全機(jī)制一個(gè)數(shù)據(jù)庫(kù)使用者,要登錄服務(wù)器上的SQL Server數(shù)據(jù)庫(kù),并對(duì)數(shù)據(jù)庫(kù)中的表執(zhí)行數(shù)據(jù)更新操作,則該使用者必須經(jīng)過如圖所示的安全驗(yàn)證。本章內(nèi)容4.1 SQL Server 2019的安全機(jī)制4.2 建立和管理用戶賬戶4.3 權(quán)限管理4.4

7、角色管理4.5 數(shù)據(jù)庫(kù)架構(gòu)124.2 建立和管理用戶賬戶4.2.1 創(chuàng)建登錄名4.2.2 刪除登錄名4.2.3 創(chuàng)建數(shù)據(jù)庫(kù)用戶4.2.4 刪除數(shù)據(jù)庫(kù)用戶13144.2.1 創(chuàng)建登錄名界面方式建立Windows驗(yàn)證模式的登錄名建立SQL Server驗(yàn)證模式的登錄名154.2.1 創(chuàng)建登錄名命令方式 CREATE LOGIN login_name /*WITH子句用于創(chuàng)建SQL Server登錄名*/ WITH PASSWORD = password HASHED MUST_CHANGE , ,. /*FROM子句用于創(chuàng)建其他登錄名*/ | FROM WINDOWS WITH ,. | CERT

8、IFICATE certname | ASYMMETRIC KEY asym_key_name 164.2.1 創(chuàng)建登錄名命令方式 := SID = sid | DEFAULT_DATABASE = database | DEFAULT_LANGUAGE = language | CHECK_EXPIRATION = ON | OFF | CHECK_POLICY = ON | OFF CREDENTIAL = credential_name := DEFAULT_DATABASE = database | DEFAULT_LANGUAGE = language174.2.1 創(chuàng)建登錄名命令方

9、式:用于指定在創(chuàng)建SQL Server登錄名時(shí)的一些選項(xiàng),選項(xiàng)如下。SID:指定新SQL Server登錄名的全局唯一標(biāo)識(shí)符,如果未選擇此選項(xiàng),則自動(dòng)指派。DEFAULT_DATABASE:指定默認(rèn)數(shù)據(jù)庫(kù),如果未指定此選項(xiàng), 則默認(rèn)數(shù)據(jù)庫(kù)為master。DEFAULT_LANGUAGE:指定默認(rèn)語(yǔ)言,如果未指定此選項(xiàng),則默認(rèn)語(yǔ)言將設(shè)置為服務(wù)器的當(dāng)前默認(rèn)語(yǔ)言。CHECK_EXPIRATION:指定是否對(duì)此登錄名強(qiáng)制實(shí)施密碼過期策略,默認(rèn)值為OFF。CHECK_POLICY:指定應(yīng)對(duì)此登錄名強(qiáng)制實(shí)施運(yùn)行SQL Server的計(jì)算機(jī)的Windows密碼策略,默認(rèn)值為ON。 184.2.1 創(chuàng)建登錄名

10、命令方式:用于指定在創(chuàng)建Windows登錄名時(shí)的一些選項(xiàng),選項(xiàng)如下。DEFAULT_DATABASE:指定默認(rèn)數(shù)據(jù)庫(kù)。DEFAULT_LANGUAGE:指定默認(rèn)語(yǔ)言。194.2.1 創(chuàng)建登錄名命令方式(1) 創(chuàng)建Windows驗(yàn)證模式登錄名創(chuàng)建Windows登錄名使用FROM子句,在FROM子句的語(yǔ)法格式中,WINDOWS關(guān)鍵字指定將登錄名映射到Windows登錄名,204.2.1 創(chuàng)建登錄名命令方式例1 使用命令方式創(chuàng)建Windows登錄名tao(假設(shè)Windows用戶tao已經(jīng)創(chuàng)建,本地計(jì)算機(jī)名為cie001) CREATE LOGIN cie001tao FROM WINDOWS;214

11、.2.1 創(chuàng)建登錄名命令方式(2) 創(chuàng)建SQL Server驗(yàn)證模式登錄名創(chuàng)建SQL Server登錄名使用WITH子句,其中:PASSWORD:用于指定正在創(chuàng)建的登錄名的密碼,password為密碼字符串。HASHED 選項(xiàng)指定在PASSWORD參數(shù)后輸入的密碼已經(jīng)過哈希運(yùn)算,如果未選擇此選項(xiàng),則在將作為密碼輸入的字符串存儲(chǔ)到數(shù)據(jù)庫(kù)之前,對(duì)其進(jìn)行哈希運(yùn)算。如果指定MUST_CHANGE選項(xiàng),則SQL Server會(huì)在首次使用新登錄名時(shí)提示用戶輸入新密碼。224.2.1 創(chuàng)建登錄名命令方式例2 使用命令方式創(chuàng)建SQL Server登錄名sql_tao,密碼為123456。 CREATE LOG

12、IN sql_tao WITH PASSWORD=123456 4.2 建立和管理用戶賬戶4.2.1 創(chuàng)建登錄名4.2.2 刪除登錄名4.2.3 創(chuàng)建數(shù)據(jù)庫(kù)用戶4.2.4 刪除數(shù)據(jù)庫(kù)用戶23244.2.2 刪除登錄名語(yǔ)法格式DROP Login login_name例3 刪除Windows登錄名tao。 DROP Login cie001tao;例4 刪除SQL Server登錄名sql_tao。 DROP Login sql_tao;4.2 建立和管理用戶賬戶4.2.1 創(chuàng)建登錄名4.2.2 刪除登錄名4.2.3 創(chuàng)建數(shù)據(jù)庫(kù)用戶4.2.4 刪除數(shù)據(jù)庫(kù)用戶25264.2.3 創(chuàng)建數(shù)據(jù)庫(kù)用戶界面

13、方式命令方式語(yǔ)法格式 CREATE USER user_name FOR | FROM LOGIN login_name 功能:向當(dāng)前數(shù)據(jù)庫(kù)添加用戶例5 在student數(shù)據(jù)庫(kù)中為登錄賬戶sql_tao映射一個(gè)數(shù)據(jù)庫(kù)用戶u1。 CREATE USER u1 FOR LOGIN sql_tao;4.2 建立和管理用戶賬戶4.2.1 創(chuàng)建登錄名4.2.2 刪除登錄名4.2.3 創(chuàng)建數(shù)據(jù)庫(kù)用戶4.2.4 刪除數(shù)據(jù)庫(kù)用戶27284.2.2 刪除數(shù)據(jù)庫(kù)用戶語(yǔ)法格式DROP USER user_name例6 刪除student數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)用戶u1。 DROP USER u1;29本章內(nèi)容4.1 SQL

14、Server 2019的安全機(jī)制4.2 建立和管理用戶賬戶4.3 權(quán)限管理4.4 角色管理4.5 數(shù)據(jù)庫(kù)架構(gòu)304.3 權(quán)限管理某個(gè)用戶對(duì)某類數(shù)據(jù)庫(kù)對(duì)象具有何種操作權(quán)力是個(gè)政策問題而不是技術(shù)問題。數(shù)據(jù)庫(kù)管理系統(tǒng)的功能是保證這些決定的執(zhí)行。用戶或DBA把授權(quán)決定告知系統(tǒng),由SQL的GRANT和REVOKE語(yǔ)句來(lái)完成。DBMS把授權(quán)的結(jié)果存入數(shù)據(jù)字典。當(dāng)用戶提出操作請(qǐng)求時(shí),DBMS根據(jù)授權(quán)定義進(jìn)行檢查,以決定是否執(zhí)行操作請(qǐng)求。314.3 權(quán)限管理GRANT語(yǔ)句GRANT ,ON ,TO ,WITH GRANT OPTION;誰(shuí)定義?DBA和表的建立者(即表的屬主)功能:將對(duì)指定操作對(duì)象的指定操作權(quán)

15、限授予指定的用戶。324.3 權(quán)限管理GRANT語(yǔ)句 GRANT , ON , TO , WITH GRANT OPTION;指定了WITH GRANT OPTION子句:獲得某種權(quán)限的用戶還可以把這種權(quán)限再授予別的用戶沒有指定WITH GRANT OPTION子句:獲得某種權(quán)限的用戶只能使用該權(quán)限,不能傳播該權(quán)限334.3 權(quán)限管理GRANT語(yǔ)句例7把對(duì)S表和C表的全部權(quán)限授予用戶U1和U2 GRANT ALL PRIVILEGES ON S TO U1,U2; GRANT ALL PRIVILEGES ON C TO U1,U2;344.3 權(quán)限管理GRANT語(yǔ)句例8把查詢S表和修改學(xué)生學(xué)

16、號(hào)的權(quán)限授給用戶U3,并允許他再將此權(quán)限授予其他用戶 GRANT UPDATE(Sno), SELECT ON S TO U3 WITH GRANT OPTION;354.3 權(quán)限管理GRANT語(yǔ)句執(zhí)行例8后,U3不僅擁有了對(duì)表S的SELECT權(quán)限和對(duì)學(xué)號(hào)列的修改權(quán)限,還可以傳播此權(quán)限: GRANT UPDATE(Sno),SELECT ON S TO U4 WITH GRANT OPTION; 同樣,U4還可以將此權(quán)限授予U5: GRANT UPDATE(Sno),SELECT ON S TO U5 但U5不能再傳播此權(quán)限。364.3 權(quán)限管理REVOKE語(yǔ)句REVOKE ,ON ,FROM

17、 ,;誰(shuí)定義?DBA和表的建立者(即表的屬主)功能:從指定用戶那收回對(duì)指定對(duì)象的指定權(quán)限374.3 權(quán)限管理REVOKE語(yǔ)句例9把用戶U3修改學(xué)生學(xué)號(hào)的權(quán)限收回 REVOKE UPDATE(Sno) ON S FROM U3;384.3 權(quán)限管理DENY語(yǔ)句DENY ,ON ,TO ,;使用DENY命令可以拒絕給當(dāng)前數(shù)據(jù)庫(kù)內(nèi)的用戶授予的權(quán)限,并防止數(shù)據(jù)庫(kù)用戶通過其組或角色成員資格繼承權(quán)限。394.3 權(quán)限管理DENY語(yǔ)句例10拒絕用戶U1對(duì)學(xué)生表的查詢權(quán)限 DENY SELECT ON S FROM U1;404.3 權(quán)限管理SQL靈活的授權(quán)機(jī)制DBA擁有對(duì)數(shù)據(jù)庫(kù)中所有對(duì)象的所有權(quán)限,并可以根

18、據(jù)應(yīng)用的需要將不同的權(quán)限授予不同的用戶。用戶對(duì)自己建立的基本表和視圖擁有全部的操作權(quán)限,并且可以用GRANT語(yǔ)句把其中某些權(quán)限授予其他用戶。被授權(quán)的用戶如果有“繼續(xù)授權(quán)”的許可,還可以把獲得的權(quán)限再授予其他用戶。所有授予出去的權(quán)力在必要時(shí)又都可以用REVOKE語(yǔ)句收回。41本章內(nèi)容4.1 SQL Server 2019的安全機(jī)制4.2 建立和管理用戶賬戶4.3 權(quán)限管理4.4 角色管理4.5 數(shù)據(jù)庫(kù)架構(gòu)424.4 角色管理數(shù)據(jù)庫(kù)角色是被命名的一組與數(shù)據(jù)庫(kù)操作相關(guān)的權(quán)限,角色是權(quán)限的集合??梢詾橐唤M具有相同權(quán)限的用戶創(chuàng)建一個(gè)角色,使用角色來(lái)管理數(shù)據(jù)庫(kù)權(quán)限可以簡(jiǎn)化授權(quán)的過程。角色的創(chuàng)建 CREAT

19、E ROLE 剛剛創(chuàng)建的角色是空的,沒有任何內(nèi)容??梢杂肎RANT為角色授權(quán)。434.4 角色管理給角色授權(quán) GRANT ,. ON TO ,.DBA和用戶可以利用GRANT語(yǔ)句將權(quán)限授予某一個(gè)或幾個(gè)角色444.4 角色管理角色權(quán)限的收回 REVOKE ,. ON FROM , .用戶可以回收角色的權(quán)限,從而修改角色擁有的權(quán)限REVOKE動(dòng)作的執(zhí)行者或者是角色的創(chuàng)建者,或者擁有在這個(gè)(些)角色上的ADMIN OPTION454.4 角色管理添加和刪除角色成員 將數(shù)據(jù)庫(kù)用戶添加到角色中,使數(shù)據(jù)庫(kù)用戶擁有角色的權(quán)限使用存儲(chǔ)過程SP_ADDROLEMEMBER將數(shù)據(jù)庫(kù)用戶從角色中刪除,取消角色權(quán)限的

20、授予使用存儲(chǔ)過程SP_DROPROLEMEMBER464.4 角色管理例11通過角色來(lái)實(shí)現(xiàn)將一組權(quán)限授予一個(gè)用戶 1.首先創(chuàng)建一個(gè)角色R1 CREATE ROLE R1; 2.然后使用GRANT語(yǔ)句,使角色R1擁有S表的SELECT、UPDATE、INSERT權(quán)限 GRANT SELECT,UPDATE,INSERT ON S TO R1;474.4 角色管理例11通過角色來(lái)實(shí)現(xiàn)將一組權(quán)限授予一個(gè)用戶 3.將這個(gè)角色授予王平,張明,趙玲。 EXEC SP_ADDROLEMEMBER R1, 王平 EXEC SP_ADDROLEMEMBER R1, 張明 EXEC SP_ADDROLEMEMBE

21、R R1, 趙玲 4.可以一次性的通過R1來(lái)回收王平的這3個(gè)權(quán)限 EXEC SP_DROPROLEMEMBER R1, 王平484.4 角色管理例12角色的權(quán)限修改 GRANT DELETE ON S TO R1 REVOKE SELECT ON S FROM R1通過角色的使用可以使自主授權(quán)的執(zhí)行更加靈活、方便494.4 角色管理在SQL Server 2019中用戶除了可以自己創(chuàng)建角色外,系統(tǒng)也提供了現(xiàn)有的一些角色。固定服務(wù)器角色是指在用戶登錄時(shí)授予的在服務(wù)器范圍內(nèi)的權(quán)限,這類角色可以在服務(wù)器上進(jìn)行相應(yīng)的管理操作,完全獨(dú)立于某個(gè)具體的數(shù)據(jù)庫(kù)。固定數(shù)據(jù)庫(kù)角色應(yīng)用于單個(gè)數(shù)據(jù)庫(kù),它能夠授予用戶帳戶不同級(jí)別的管理或訪問數(shù)據(jù)庫(kù)及其對(duì)象的權(quán)限。504.4 角色管理固定服務(wù)器角色描述Bulkadmin塊數(shù)據(jù)操作管理員,擁有執(zhí)行塊操作的權(quán)限D(zhuǎn)bcreator數(shù)據(jù)庫(kù)創(chuàng)建者,擁有創(chuàng)建數(shù)據(jù)庫(kù)的權(quán)限D(zhuǎn)iskadmin磁盤管理員,擁有修改資源的

溫馨提示

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

評(píng)論

0/150

提交評(píng)論