數(shù)據(jù)庫(kù)管理系統(tǒng)的安全功能-課件_第1頁(yè)
數(shù)據(jù)庫(kù)管理系統(tǒng)的安全功能-課件_第2頁(yè)
數(shù)據(jù)庫(kù)管理系統(tǒng)的安全功能-課件_第3頁(yè)
數(shù)據(jù)庫(kù)管理系統(tǒng)的安全功能-課件_第4頁(yè)
數(shù)據(jù)庫(kù)管理系統(tǒng)的安全功能-課件_第5頁(yè)
已閱讀5頁(yè),還剩101頁(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)介

第7章安全性1第7章安全性安全性概述SQLServer的安全控制其他安全問(wèn)題27.1安全性概述37.1.1安全性措施的層次物理層人員層操作系統(tǒng)層網(wǎng)絡(luò)層數(shù)據(jù)庫(kù)系統(tǒng)層47.1.2數(shù)據(jù)庫(kù)管理系統(tǒng)的安全功能安全性控制是數(shù)據(jù)庫(kù)管理員(或系統(tǒng)管理員)的一個(gè)重要任務(wù),他要充分利用數(shù)據(jù)庫(kù)管理系統(tǒng)的安全功能,保證數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)中數(shù)據(jù)的安全。數(shù)據(jù)庫(kù)關(guān)系管理系統(tǒng)的安全功能可以劃分為用戶管理和數(shù)據(jù)庫(kù)操作權(quán)限管理兩部分。安全系統(tǒng)的核心問(wèn)題是身份識(shí)別。幾個(gè)概念用戶權(quán)限用戶組角色57.1.3自主存取控制與強(qiáng)制存取控制對(duì)數(shù)據(jù)庫(kù)對(duì)象的操作權(quán)限或存取控制分為自主存取控制強(qiáng)制存取控制6自主存取控制自主存取控制就是由用戶(如數(shù)據(jù)庫(kù)管理員)自主控制對(duì)數(shù)據(jù)庫(kù)對(duì)象的操作權(quán)限,哪些用戶可以對(duì)哪些對(duì)象、進(jìn)行哪些操作,完全取決于用戶之間的授權(quán)。目前大多數(shù)數(shù)據(jù)庫(kù)管理系統(tǒng)都支持的是自主存取控制方式。7強(qiáng)制存取控制強(qiáng)制存取控制的思路是,為每一個(gè)數(shù)據(jù)庫(kù)對(duì)象標(biāo)以一定的密級(jí)(Classificationlevel),對(duì)每一個(gè)用戶都確定一個(gè)許可級(jí)別(Clearancelevel)。如密級(jí)可以分為絕密、機(jī)密、保密、秘密、公開等若干級(jí)別;而用戶可以劃分為一級(jí)用戶(可以操作所有數(shù)據(jù))、二級(jí)用戶(可以操作除絕密以外的所有數(shù)據(jù))、三級(jí)用戶等。強(qiáng)制存取控制本質(zhì)上具有分層的特點(diǎn),通常具有靜態(tài)的、嚴(yán)格的分層結(jié)構(gòu),與現(xiàn)實(shí)世界的層次管理也相吻合。這種強(qiáng)制存取控制特別適合層次嚴(yán)明的軍方和政府等數(shù)據(jù)管理。87.2SQLServer的安全控制SQLServer2005SQLServer的認(rèn)證過(guò)程管理SQLServer的登錄帳戶管理數(shù)據(jù)庫(kù)用戶管理權(quán)限角色97.2.1SQLServer的認(rèn)證過(guò)程連接權(quán)認(rèn)證→訪問(wèn)權(quán)認(rèn)證→操作權(quán)認(rèn)證SQlServer服務(wù)器系統(tǒng)數(shù)據(jù)庫(kù)操作權(quán)認(rèn)證用戶數(shù)據(jù)庫(kù)1用戶數(shù)據(jù)庫(kù)2訪問(wèn)權(quán)認(rèn)證√×用戶數(shù)據(jù)庫(kù)2連接權(quán)認(rèn)證登錄帳戶A10

SQLServer的認(rèn)證過(guò)程連接權(quán)認(rèn)證

——管理SQLServer的登錄帳戶訪問(wèn)權(quán)認(rèn)證

——管理數(shù)據(jù)庫(kù)用戶操作權(quán)認(rèn)證

——管理權(quán)限117.2.2管理SQLServer的登錄帳戶功能登錄帳戶來(lái)源三種身份驗(yàn)證模式連接權(quán)認(rèn)證步驟圖用戶的分類登錄帳戶的管理121.功能功能:用于連接權(quán)認(rèn)證SQlServer服務(wù)器連接權(quán)認(rèn)證登錄帳戶A登錄帳戶名?密碼?132登錄帳戶的來(lái)源登錄帳戶主要來(lái)源Windows授權(quán)用戶:來(lái)源于Windows的用戶或組;SQL授權(quán)用戶:來(lái)源于非Windows的用戶,我們將這種用戶稱為SQL用戶。143三種身份驗(yàn)證模式三種身份驗(yàn)證模式標(biāo)準(zhǔn)模式(也稱為SQLServer登錄模式)Windows身份驗(yàn)證模式混合驗(yàn)證模式15身份驗(yàn)證模式標(biāo)準(zhǔn)模式Windows身份驗(yàn)證模式混合模式16標(biāo)準(zhǔn)身份驗(yàn)證模式在這種模式下,由數(shù)據(jù)庫(kù)管理系統(tǒng)獨(dú)立來(lái)管理自己的數(shù)據(jù)庫(kù)安全。數(shù)據(jù)庫(kù)管理系統(tǒng)把用戶登錄的ID號(hào)和口令存儲(chǔ)在特定的系統(tǒng)表中,當(dāng)用戶試圖登錄到數(shù)據(jù)庫(kù)系統(tǒng)時(shí),數(shù)據(jù)庫(kù)管理系統(tǒng)查詢有效的登錄ID和口令,以決定是否允許用戶登錄。17身份驗(yàn)證模式標(biāo)準(zhǔn)模式Windows身份驗(yàn)證模式混合模式18Windows身份驗(yàn)證模式集成身份驗(yàn)證模式也稱為Windows身份驗(yàn)證模式,用戶通過(guò)WindowsNT或Windows2000(以下簡(jiǎn)稱Windows)的身份驗(yàn)證后則自動(dòng)進(jìn)行SQLServer身份驗(yàn)證。即當(dāng)用戶通過(guò)Windows用戶賬戶進(jìn)行連接時(shí),SQLServer通過(guò)回叫Windows以獲得信息,重新驗(yàn)證賬戶名和密碼。19SQLServer的安全體系圖7-1SQLServer安全體系20身份驗(yàn)證模式標(biāo)準(zhǔn)模式集成模式混合模式21混合身份驗(yàn)證模式混合模式使用戶得以使用Windows身份驗(yàn)證或SQLServer身份驗(yàn)證與SQLServer實(shí)例連接。22混合身份驗(yàn)證模式的登錄決策過(guò)程23使用客戶應(yīng)用程序連接到SQLServer身份驗(yàn)證模式?混合模式SQLServer登錄連接嗎?WindowsNT身份驗(yàn)證模式WindowsNT賬戶連接嗎?NONO有效登錄?Yes密碼正確?Yes連接許可?YesSQLServer接受連接YesYesNOSQLServer拒絕連接NOSQLServer拒絕連接NO4連接權(quán)認(rèn)證步驟圖245用戶的分類系統(tǒng)管理員用戶數(shù)據(jù)庫(kù)管理員用戶數(shù)據(jù)庫(kù)對(duì)象用戶數(shù)據(jù)庫(kù)訪問(wèn)用戶25建立新的登錄帳戶sp_addlogin[@loginname=]login_id--登錄名稱[,[@passwd=]passwd]--登錄密碼[,[@defdb=]defdb]--默認(rèn)數(shù)據(jù)庫(kù)[,[@deflanguage=]deflanguage]--默認(rèn)語(yǔ)言[,[@sid=]sid]--安全標(biāo)識(shí)號(hào)[,[@encryptopt=]encryption_option]--密碼是否加密SqlServer2005里提供了Createlogin語(yǔ)句CREATELOGINlogin_name{WITH<option_list1>|FROM<sources>}26例:建立登錄帳戶建立登錄帳戶manager、test1sp_addloginmanager,123sp_addlogintest1,123操作員:系統(tǒng)管理員27例:建立登錄帳戶建立登錄帳戶test1Createlogintest1Withpassword='123'28修改登錄密碼sp_password[[@old=]old_password,]--舊登錄密碼{[@new=]new_password}--新登錄密碼[,[@loginame=]login]--登錄名稱或ALTERLOGINlogin_name{<status_option>|WITH<set_option>[,...]}

操作員:該登錄賬戶29刪除登錄帳戶sp_droplogin[@loginame=]login--登錄名稱或DROPLOGINlogin_name

操作員:系統(tǒng)管理員306管理SQLServer的登錄帳戶(1)建立新的登錄帳戶“LoginUser”系統(tǒng)管理員身份Sp_addlogin

LoginUser,abc已創(chuàng)建新登錄316管理SQLServer的登錄帳戶登錄帳戶名登錄帳戶密碼(2)以登錄帳戶LoginUser的身份來(lái)登錄LoginUser***326管理SQLServer的登錄帳戶SQlServer服務(wù)器系統(tǒng)數(shù)據(jù)庫(kù)學(xué)生庫(kù)(用戶數(shù)據(jù)庫(kù))用戶數(shù)據(jù)庫(kù)2連接權(quán)認(rèn)證LoginUser訪問(wèn)權(quán)認(rèn)證××?337.2SQLServer的認(rèn)證過(guò)程連接權(quán)認(rèn)證

——管理SQLServer的登錄帳戶訪問(wèn)權(quán)認(rèn)證

——管理數(shù)據(jù)庫(kù)用戶操作權(quán)認(rèn)證

——管理權(quán)限347.2.3

管理數(shù)據(jù)庫(kù)用戶功能數(shù)據(jù)庫(kù)用戶的管理351.

功能SQlServer服務(wù)器系統(tǒng)數(shù)據(jù)庫(kù)學(xué)生庫(kù)(用戶數(shù)據(jù)庫(kù))用戶數(shù)據(jù)庫(kù)2訪問(wèn)權(quán)認(rèn)證×連接權(quán)認(rèn)證LoginUser×LoginUser的數(shù)據(jù)庫(kù)用戶√學(xué)生庫(kù)(用戶數(shù)據(jù)庫(kù))要訪問(wèn)哪個(gè)數(shù)據(jù)庫(kù),就必須在此數(shù)據(jù)庫(kù)下建立與帳戶相對(duì)應(yīng)的數(shù)據(jù)庫(kù)用戶36授權(quán)登錄用戶為當(dāng)前數(shù)據(jù)庫(kù)用戶sp_grantdbaccess[@loginame=]login[,[@name_in_db=]name_in_db]或CREATEUSERuser_name

[{{FOR|FROM}{LOGINlogin_name|CERTIFICATEcert_name|ASYMMETRICKEYasym_key_name}|WITHOUTLOGIN]

[schema_name]37授權(quán)某登錄用戶為數(shù)據(jù)庫(kù)用戶CREATELOGINtest3withpassword=‘123’Use訂貨管理CREATEUSERtest3userforlogintest3操作員:系統(tǒng)管理員383.管理數(shù)據(jù)庫(kù)用戶登錄帳戶數(shù)據(jù)庫(kù)用戶映射39從當(dāng)前數(shù)據(jù)庫(kù)中刪除用戶sp_revokedbaccess[@name_in_db=]name或DROPUSERuser_name

操作員:系統(tǒng)管理員403.管理數(shù)據(jù)庫(kù)用戶(1)在“學(xué)生庫(kù)”下,為登錄帳戶“LoginUser”建立數(shù)據(jù)庫(kù)用戶“DbUser”Sp_grantdbaccess

LoginUser,DbUser已向’LoginUser’授予數(shù)據(jù)庫(kù)訪問(wèn)權(quán)413.管理數(shù)據(jù)庫(kù)用戶(2)以登錄帳戶LoginUser的身份來(lái)登錄LoginUser***423.管理數(shù)據(jù)庫(kù)用戶(3)訪問(wèn)學(xué)生庫(kù)433.管理數(shù)據(jù)庫(kù)用戶(4)查詢“學(xué)生庫(kù)”中的“學(xué)生表”的全部信息思考能否對(duì)“學(xué)生”庫(kù)進(jìn)行操作?為什么?44SQlServer服務(wù)器系統(tǒng)數(shù)據(jù)庫(kù)用戶數(shù)據(jù)庫(kù)2訪問(wèn)權(quán)認(rèn)證連接權(quán)認(rèn)證LoginUser×DBUser√學(xué)生庫(kù)(用戶數(shù)據(jù)庫(kù))無(wú)操作權(quán)LoginUser?3.管理數(shù)據(jù)庫(kù)用戶查詢?添加數(shù)據(jù)?……45SQLServer的認(rèn)證過(guò)程連接權(quán)認(rèn)證

——管理SQLServer的登錄帳戶訪問(wèn)權(quán)認(rèn)證

——管理數(shù)據(jù)庫(kù)用戶操作權(quán)認(rèn)證

——管理權(quán)限

467.2.4權(quán)限管理授予權(quán)限授予語(yǔ)句權(quán)限

授予對(duì)象權(quán)限隱含授權(quán)收回權(quán)限禁止權(quán)限471授予權(quán)限——授予語(yǔ)句權(quán)限GRANT{ALL|statement_list}TOname_liststatement_list給出授權(quán)的語(yǔ)句列表,可以是:BACKUPDATABASEBACKUPLOGCREATEDATABASECREATEDEFAULT

CREATEFUNCTIONCREATEPROCEDURECREATERULECREATETABLECREATEVIEWP159481授予權(quán)限授予權(quán)限授予語(yǔ)句權(quán)限授予對(duì)象權(quán)限

查詢授權(quán)收回權(quán)限禁止權(quán)限角色與存取控制491授予權(quán)限——授予對(duì)象權(quán)限處理數(shù)據(jù)或執(zhí)行存儲(chǔ)過(guò)程時(shí)需要有相應(yīng)對(duì)象的操作或執(zhí)行權(quán)限,這些權(quán)限可以劃分為:SELECT、INSERT、UPDATE和DELETE語(yǔ)句權(quán)限,它們可以應(yīng)用到整個(gè)表或視圖上。SELECT和UPDATE語(yǔ)句權(quán)限,它們可以有選擇性地應(yīng)用到表或視圖中的單個(gè)列上。INSERT和DELETE語(yǔ)句權(quán)限,它們會(huì)影響整行,因此只可以應(yīng)用到表或視圖中,而不能應(yīng)用到單個(gè)列上。EXECUTE語(yǔ)句權(quán)限,即執(zhí)行存儲(chǔ)過(guò)程和函數(shù)的權(quán)限。501授予權(quán)限——授予對(duì)象權(quán)限GRANT

{ALL[PRIVILEGES]|permission_list}{[(column_list)]ON{table|view}

|ON{table|view}[(column_list)]

|ONstored_procedure

|ONuser_defined_function}TOname_list

[WITHGRANTOPTION][AS{group|role}]P160~161511授予權(quán)限授予權(quán)限授予語(yǔ)句權(quán)限授予對(duì)象權(quán)限查詢授權(quán)

收回權(quán)限禁止權(quán)限角色與存取控制521授予權(quán)限——查詢授權(quán)使用系統(tǒng)存儲(chǔ)過(guò)程sp_helprotect查詢授權(quán)的情況531授予權(quán)限(1)授予DbUser用戶對(duì)學(xué)生表的查詢權(quán)grantselecton

學(xué)生表toDbUser命令已經(jīng)成功完成541授予權(quán)限(2)以登錄帳戶LoginUser的身份來(lái)登錄LoginUser***551授予權(quán)限(3)查詢“學(xué)生庫(kù)”中的“學(xué)生表”的全部信息561授予權(quán)限SQlServer服務(wù)器系統(tǒng)數(shù)據(jù)庫(kù)用戶數(shù)據(jù)庫(kù)2訪問(wèn)權(quán)認(rèn)證連接權(quán)認(rèn)證LoginUser×DBUser√學(xué)生庫(kù)(用戶數(shù)據(jù)庫(kù))查詢成功577.2.4權(quán)限管理授予權(quán)限授予語(yǔ)句權(quán)限授予對(duì)象權(quán)限查詢授權(quán)收回權(quán)限

禁止權(quán)限582收回權(quán)限收回語(yǔ)句授權(quán)REVOKE{ALL|statement_list}FROMname_list

收回對(duì)象授權(quán)REVOKE[GRANTOPTIONFOR]{ALL[PRIVILEGES]|permission_list}{[(column_list)]ON{table|view}

|ON{table|view}[(column_list)]

|ONstored_procedure

|ONuser_defined_function}FROMname_list

[CASCADE][AS{group|role}]P161~162597.2.4權(quán)限管理授予權(quán)限授予語(yǔ)句權(quán)限授予對(duì)象權(quán)限查詢授權(quán)收回權(quán)限禁止權(quán)限

603禁止權(quán)限禁止語(yǔ)句權(quán)限D(zhuǎn)ENY{ALL|statement_list}TOname_list

禁止對(duì)象權(quán)限D(zhuǎn)ENY

{ALL[PRIVILEGES]|permission_list}{[(column_list)]ON{table|view}

|ON{table|view}[(column_list)]

|ONstored_procedure

|ONuser_defined_function}TOname_list

[CASCADE]61舉例1、用sa登錄sqlserver,建立登錄用戶test1Createlogintest1

Withpassword='123'2、用test1登錄到sqlserver,訪問(wèn)訂貨管理數(shù)據(jù)庫(kù)Use訂貨管理3、用sa登錄sqlserver,指定用戶test1可以訪問(wèn)當(dāng)前數(shù)據(jù)庫(kù)(訂貨管理)Use訂貨管理CREATEUSERDB1forlogintest14、用test1登錄到sqlserver,訪問(wèn)訂貨管理數(shù)據(jù)庫(kù)5、查詢職工表里的數(shù)據(jù)。Select*from職工8、用sa登錄sqlserver,給test1可以查詢職工表的權(quán)限。Grantselecton職工toDB19、用test1登錄到sqlserver,訪問(wèn)訂貨管理數(shù)據(jù)庫(kù),查詢職工表里的數(shù)據(jù)成功失敗失敗成功62思考80個(gè)用戶相同或相似的權(quán)限一個(gè)個(gè)授予權(quán)限么?637.2.5角色管理用戶組和角色定義角色為數(shù)據(jù)庫(kù)用戶指定角色取消數(shù)據(jù)庫(kù)用戶的角色刪除角色SqlServer的預(yù)定義角色64用戶組和角色按用戶分組:先定義用戶組,然后按用戶組管理權(quán)限;按職責(zé)劃分角色:先定義權(quán)限,然后為用戶指定角色。657.2.5角色管理用戶組和角色定義角色

為數(shù)據(jù)庫(kù)用戶指定角色取消數(shù)據(jù)庫(kù)用戶的角色刪除角色SqlServer的預(yù)定義角色66定義角色sp_addrole[@rolename=]role[,[@ownername=]owner]或CREATEROLErole_name

操作者:數(shù)據(jù)庫(kù)管理員67舉例:建立新角色operate在訂貨數(shù)據(jù)庫(kù)下

CREATEROLEoperate68用戶只能創(chuàng)建數(shù)據(jù)庫(kù)一級(jí)的角色。697.2.5角色管理用戶組和角色定義角色為數(shù)據(jù)庫(kù)用戶指定角色

取消數(shù)據(jù)庫(kù)用戶的角色刪除角色SqlServer的預(yù)定義角色70為數(shù)據(jù)庫(kù)用戶指定角色sp_addrolemember[@rolename=]role,

[@membername=]user_account操作者:角色所有者71舉例:指定DbUser為角色operate的成員切換到訂貨管理數(shù)據(jù)庫(kù)sp_addrolememberoperate,Db1727.2.5角色管理用戶組和角色定義角色為數(shù)據(jù)庫(kù)用戶指定角色取消數(shù)據(jù)庫(kù)用戶的角色

刪除角色SqlServer的預(yù)定義角色73取消用戶的角色sp_droprolemember[@rolename=]role,

[@membername=]user_account74例:取消DbUser的operate角色sp_droprolememberoperate,Db1757.2.5角色管理用戶組和角色定義角色為數(shù)據(jù)庫(kù)用戶指定角色取消數(shù)據(jù)庫(kù)用戶的角色刪除角色

SqlServer的預(yù)定義角色76刪除角色sp_droprole[@rolename=]role或DROPROLErole_name

刪除角色需要先刪除角色的成員77舉例DROPROLEoperate,DbUser錯(cuò)誤:DROPROLEoperate正確:sp_droprolememberoperate,DbUserDROPROLEoperate787.2.5角色管理用戶組和角色定義角色為數(shù)據(jù)庫(kù)用戶指定角色取消數(shù)據(jù)庫(kù)用戶的角色刪除角色

SqlServer的預(yù)定義角色79SQLServer的預(yù)定義角色public角色系統(tǒng)預(yù)定義角色使用sp_helpsrvrole獲得各種系統(tǒng)管理員角色的描述使用sp_srvrolepermission得到每種系統(tǒng)管理員角色的特定權(quán)限(可以執(zhí)行的命令、系統(tǒng)存儲(chǔ)過(guò)程或說(shuō)明)數(shù)據(jù)庫(kù)預(yù)定義角色使用sp_helpdbfixedrole獲得數(shù)據(jù)庫(kù)上各種預(yù)定義角色的描述使用sp_dbfixedrolepermission得到每種數(shù)據(jù)庫(kù)預(yù)定義角色的特定權(quán)限(可以執(zhí)行的命令、系統(tǒng)存儲(chǔ)過(guò)程或說(shuō)明)80public角色public角色是一個(gè)特殊的數(shù)據(jù)庫(kù)角色,每個(gè)數(shù)據(jù)庫(kù)用戶都是該角色的成員。public角色具有如下特點(diǎn):public角色自動(dòng)獲得數(shù)據(jù)庫(kù)中用戶的所有默認(rèn)權(quán)限;不需要、也無(wú)法將用戶指派給public角色,因?yàn)槟J(rèn)情況下所有用戶都屬于該角色;每個(gè)數(shù)據(jù)庫(kù)(包括所有系統(tǒng)數(shù)據(jù)庫(kù)和所有用戶數(shù)據(jù)庫(kù))都有public角色;不可以刪除public角色。81SQLServer的預(yù)定義角色public角色系統(tǒng)預(yù)定義角色使用sp_helpsrvrole獲得各種系統(tǒng)管理員角色的描述使用sp_srvrolepermission得到每種系統(tǒng)管理員角色的特定權(quán)限(可以執(zhí)行的命令、系統(tǒng)存儲(chǔ)過(guò)程或說(shuō)明)數(shù)據(jù)庫(kù)預(yù)定義角色使用sp_helpdbfixedrole獲得數(shù)據(jù)庫(kù)上各種預(yù)定義角色的描述使用sp_dbfixedrolepermission得到每種數(shù)據(jù)庫(kù)預(yù)定義角色的特定權(quán)限(可以執(zhí)行的命令、系統(tǒng)存儲(chǔ)過(guò)程或說(shuō)明)82系統(tǒng)預(yù)定義角色sysadmin:具有系統(tǒng)管理員全部權(quán)限的角色。serveradmin:負(fù)責(zé)配置數(shù)據(jù)庫(kù)服務(wù)器的設(shè)置。setupadmin:負(fù)責(zé)添加和刪除鏈接的服務(wù)器。securityadmin:負(fù)責(zé)管理服務(wù)器的登錄。processadmin:負(fù)責(zé)管理在SQLServer實(shí)例中運(yùn)行的進(jìn)程。dbcreator:負(fù)責(zé)創(chuàng)建和改變數(shù)據(jù)庫(kù)。bulkadmin:可以執(zhí)行BULKINSERT語(yǔ)句(數(shù)據(jù)庫(kù)數(shù)據(jù)的裝載)。83舉例:指定manager用戶為dbcreator

角色sp_addsrvrolemembermanager,dbcreatorsp_addsrvrolemember:將登錄賬戶添加到固定服務(wù)器角色。84SQLServer的預(yù)定義角色public角色系統(tǒng)預(yù)定義角色使用sp_helpsrvrole獲得各種系統(tǒng)管理員角色的描述使用sp_srvrolepermission得到每種系統(tǒng)管理員角色的特定權(quán)限(可以執(zhí)行的命令、系統(tǒng)存儲(chǔ)過(guò)程或說(shuō)明)數(shù)據(jù)庫(kù)預(yù)定義角色使用sp_helpdbfixedrole獲得數(shù)據(jù)庫(kù)上各種預(yù)定義角色的描述使用sp_dbfixedrolepermission得到每種數(shù)據(jù)庫(kù)預(yù)定義角色的特定權(quán)限(可以執(zhí)行的命令、系統(tǒng)存儲(chǔ)過(guò)程或說(shuō)明)85數(shù)據(jù)庫(kù)預(yù)定義角色db_owner:在數(shù)據(jù)庫(kù)中有全部權(quán)限,即具有數(shù)據(jù)庫(kù)管理員全部權(quán)限的角色。db_accessadmin:負(fù)責(zé)數(shù)據(jù)庫(kù)用戶的管理。db_securityadmin:負(fù)責(zé)數(shù)據(jù)庫(kù)的安全管理,如負(fù)責(zé)權(quán)限管理、角色和角色成員資格管理等。db_ddladmin:主要負(fù)責(zé)數(shù)據(jù)庫(kù)的完整性和一致性檢查及管理。db_backupoperator:主要負(fù)責(zé)數(shù)據(jù)庫(kù)的備份。db_datareader:可以查詢數(shù)據(jù)庫(kù)中任何用戶表中的所有數(shù)據(jù)。db_datawriter:可以更改數(shù)據(jù)庫(kù)中任何用戶表中的所有數(shù)據(jù)。db_denydatareader:不能查詢數(shù)據(jù)庫(kù)中任何用戶表中的任何數(shù)據(jù)。db_denydatawriter:不能更改數(shù)據(jù)庫(kù)中任何用戶表中的任何數(shù)據(jù)。86舉例:指定test1用戶為當(dāng)前數(shù)據(jù)庫(kù)(訂貨管理)的db_owner角色Use訂貨管理CREATEUSERDB1forlogintest1sp_addrolememberdb_owner,Db187角色與權(quán)限的問(wèn)題只要權(quán)限沒(méi)有被拒絕過(guò),則角色中的成員的權(quán)限就是角色的權(quán)限加上它們自己所具有的權(quán)限。如果某個(gè)權(quán)限在角色中是拒絕的,則角色中的成員將不能再擁有此權(quán)限,即使為此成員授予了此權(quán)限。88角色與權(quán)限的問(wèn)題假設(shè)用戶user為角色role的成員權(quán)限為:對(duì)表x的查詢權(quán)role授予收回禁止授予收回禁止授予收回禁止user授予授予授予收回收回收回禁止禁止禁止user的實(shí)際權(quán)限√√×√×××××89綜合舉例1、Createlogintest2withpassword=‘123'Createlogintest3withpassword=‘123'2、Use訂貨管理CREATEUSERDB2forlogintest2CREATEUSERDB3forlogintest390綜合舉例3、禁止Db3查詢(訂購(gòu)單)表DENYSELECTON訂購(gòu)單TODB34、建立新角色operaterCreateroleoperater5、授權(quán)角色operater可以對(duì)供應(yīng)商和訂購(gòu)單表進(jìn)行查詢和更新GRANTSELECT,UPDATEON供應(yīng)商TOoperaterWITHGRANTOPTIONGRANTSELECT,UPDATEON訂購(gòu)單TOoperaterWITHGRANTOPTION91綜合舉例6、指定Db3為角色operate的成員sp_addrolememberoperater,Db37、Db3嘗試對(duì)訂購(gòu)單表進(jìn)行查詢8、授權(quán)DB3可以訂購(gòu)單表進(jìn)行查詢GRANTSELECTON訂購(gòu)單TODb39、再次嘗試Db3對(duì)訂購(gòu)單表進(jìn)行查詢失敗成功92綜合舉例10、Db3授權(quán)Db2可以查詢供應(yīng)商表GRANTSELECTON供應(yīng)商TODb2GRANTSELECTON供應(yīng)商TODb2ASoperater11、test2查詢倉(cāng)庫(kù)表12、test2查詢供應(yīng)商表失敗成功失敗成功93綜合舉例13、從operate角色收回授權(quán)的權(quán)限REVOKEGRANTOPTIONFORSELECT,UPDATEON訂購(gòu)單FROMoperateCASCADE14、Db2查詢訂購(gòu)單表15、Db3查詢訂購(gòu)單表select*from訂購(gòu)單失敗成功94練習(xí):下面說(shuō)法錯(cuò)誤的是____。1、只要權(quán)限沒(méi)有被拒絕過(guò),則角色中的成員的權(quán)限就是角色的權(quán)限加上它們自己所具有的權(quán)限。2、如果某個(gè)權(quán)限在角色中是拒絕的,則角色中的成員就不能再擁有此權(quán)限,即使為此成員授予了此權(quán)限。3、如果某個(gè)權(quán)限在角色中是拒絕的,但是角色中的成員被授予了此權(quán)限,則此成員就可以擁有此權(quán)限。4、如果某個(gè)權(quán)限在角色中是允許的,雖然角色中的成員被收回了此權(quán)限,但是此成員仍可以擁有此權(quán)限。395練習(xí)下面說(shuō)法正確的是____。1、角色中的成員的權(quán)限總是角色的權(quán)限加上它們自己所具有的權(quán)限。2、如果某個(gè)權(quán)限在角色中是拒絕的,則角色中的成員就不能再擁有此權(quán)限,即使為此

溫馨提示

  • 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論