




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第八章SQL Server的安全 學(xué)習(xí)目標(biāo) 了解SQL Server 2000安全管理機(jī)制;掌握登錄帳戶和服務(wù)器角色的設(shè)置;掌握數(shù)據(jù)庫用戶和數(shù)據(jù)庫角色的設(shè)置;掌握權(quán)限管理的方法。學(xué)習(xí)重點(diǎn) 登錄帳戶;數(shù)據(jù)庫用戶;服務(wù)器角色與數(shù)據(jù)庫角色;SQL Server 2000的權(quán)限管理。8.1 SQL Server 2000的安全機(jī)制SQL Server 2000的安全機(jī)制可以劃分為4個(gè)等級 8.1 SQL Server 2000的安全機(jī)制第一級:客戶端操作系統(tǒng)的安全性第二級:SQL Server 2000登錄安全性若要連接到 Microsoft SQL Server 2000 實(shí)例,需要給SQL Ser
2、ver 2000客戶端應(yīng)用程序提供下面中的信息: 運(yùn)行 SQL Server 2000實(shí)例的計(jì)算機(jī)所在的網(wǎng)絡(luò)名稱實(shí)例名(可選,只有在連接到命名實(shí)例時(shí)才需要)登錄標(biāo)識符 (ID)8.1 SQL Server 2000的安全機(jī)制SQL Server 2000提供的身份驗(yàn)證模式有兩種,即:1.Windows身份驗(yàn)證模式2. Windows和SQL Server驗(yàn)證模式8.1 SQL Server 2000的安全機(jī)制第三級:數(shù)據(jù)庫使用的安全性第四級:數(shù)據(jù)庫對象使用的安全性8.2 登錄帳戶和服務(wù)器角色可以使用企業(yè)管理器來設(shè)置SQL Server 的身份驗(yàn)證模式 使用企業(yè)管理器添加標(biāo)準(zhǔn)SQL Server
3、登錄帳戶8.2.2 添加標(biāo)準(zhǔn)SQL Server 身份登錄帳戶使用T-SQL添加標(biāo)準(zhǔn)SQL Server登錄帳戶的語法格式為:sp_addlogin loginame = login , passwd = password , defdb = database , deflanguage = language 8.2.2 添加標(biāo)準(zhǔn)SQL Server 身份登錄帳戶例8.1創(chuàng)建了一個(gè)名叫“zhl”,密碼是“88908123”,默認(rèn)數(shù)據(jù)庫為“students”的標(biāo)準(zhǔn)SQL Server登錄帳戶 EXEC sp_addlogin zhl, 88908123, students GO8.2.2 添加標(biāo)
4、準(zhǔn)SQL Server 身份登錄帳戶使用系統(tǒng)存儲過程sp_defaultdb修改默認(rèn)數(shù)據(jù)庫。語法格式:sp_defaultdb loginame = login , defdb = database8.2.2 添加標(biāo)準(zhǔn)SQL Server 身份登錄帳戶使用系統(tǒng)存儲過程sp_defaultlanguage修改登錄帳戶的默認(rèn)語言。語法格式: sp_defaultlanguage loginame = login , language = language 8.2.2 添加標(biāo)準(zhǔn)SQL Server 身份登錄帳戶例8.2 將 pubs 設(shè)置為用戶 zhl的默認(rèn)數(shù)據(jù)庫。EXEC sp_defaultdb
5、 zhl, pubs例8.3 將 zhl帳戶連接的默認(rèn)英語設(shè)置為English。EXEC sp_defaultlanguage, zhl, English8.2.2 添加標(biāo)準(zhǔn)SQL Server 身份登錄帳戶使用系統(tǒng)存儲過程sp_password修改登錄帳戶的密碼。語法格式:sp_passwordold=old_password,new=new_password8.2.2 添加標(biāo)準(zhǔn)SQL Server 身份登錄帳戶使用系統(tǒng)存儲過程sp_droplogin刪除SQL Server標(biāo)準(zhǔn)登錄帳戶。語法格式: sp_droplogin loginame = login8.2.2 添加標(biāo)準(zhǔn)SQL Ser
6、ver 身份登錄帳戶在SQL Server中刪除帳戶信息時(shí),有如下限制:已經(jīng)映射到數(shù)據(jù)庫用戶的帳戶不允許被刪除;系統(tǒng)帳戶sa不能被刪除,正在使用的帳戶不能被刪除;擁有數(shù)據(jù)庫的帳戶不能被刪除。 8.2.2 添加標(biāo)準(zhǔn)SQL Server 身份登錄帳戶例8.4 將 zhl帳戶連接的密碼由88908123設(shè)置為88999988EXEC sp_password 88908123, 88999988, zhl例8.5 刪除zhl標(biāo)準(zhǔn)帳戶。 EXEC sp_droplogin, zhl8.2.3 添加Windows身份驗(yàn)證登錄帳戶添加Windows身份驗(yàn)證登錄帳戶 所謂與Windows集成的登錄帳戶,實(shí)際上
7、是將Windows的用戶和工作組映射為SQL Server的登錄帳戶。使用T-SQL添加Windows登錄帳戶語法格式:sp_grantlogin loginame = login8.2.3 添加Windows身份驗(yàn)證登錄帳戶例8.6 WINDOWS操作系統(tǒng)中已存在域cdny,用戶js,現(xiàn)將其添加為SQL Server登錄。sp_grantlogin cdnyjs或sp_grantlogin cdnyjs 8.2.3 添加Windows身份驗(yàn)證登錄帳戶使用系統(tǒng)存儲過程sp_revokelogin可以從SQL Server中刪除用sp_grantlogin創(chuàng)建的Windows用戶或組的登錄項(xiàng)。語
8、法格式:sp_revokelogin loginame = login8.2.3 添加Windows身份驗(yàn)證登錄帳戶拒絕Windows帳戶登錄使用系統(tǒng)存儲過程sp_denylogin可以設(shè)置不允許Windows的工作組或用戶連接SQL Server服務(wù)器。語法格式:sp_denylogin loginame = login 8.2.3 添加Windows身份驗(yàn)證登錄帳戶例8.7 刪除cdnystudent帳戶或工作組的登錄。EXEC sp_revokelogin cdnystudent 例8.8 拒絕cdny/student帳戶登錄SQL Server。EXEC sp_denylogin cd
9、nystudent8.2.4 特殊登錄帳戶sa特殊登錄帳戶sa sa帳戶擁有服務(wù)器和所有的數(shù)據(jù)庫,即sa擁有最高的管理權(quán)限,可以執(zhí)行服務(wù)器范圍內(nèi)的所有操作。sa帳戶無法刪除。 8.2.5 服務(wù)器角色固定服務(wù)器角色用于對登錄帳戶授予服務(wù)器范圍內(nèi)的安全權(quán)限。System administrators 可執(zhí)行SQL Server安裝中的任何操作Security administrators 可管理服務(wù)器的登錄Server administratorsq 可配置服務(wù)器范圍的設(shè)置Setup administrators可以管理擴(kuò)展的存儲過程Process administrators可以管理運(yùn)行在SQL
10、 Server中的進(jìn)程Disk administrators 可以管理磁盤文件Database creators 可以創(chuàng)建和更改數(shù)據(jù)庫Bulk inset administrators 可以執(zhí)行大容量插入操作8.2.5 服務(wù)器角色使用系統(tǒng)存儲過程瀏覽服務(wù)器角色:Sp_helpsrvrolesrvrolename=role其中srvrolename=role是指固定服務(wù)器角色的名稱例8.9 使用sp_helpsrvrole存儲過程瀏覽本地服務(wù)器角色。EXEC sp_helpsrvrole8.2.5 服務(wù)器角色將一個(gè)帳戶加入一個(gè)服務(wù)器角色,也可使用系統(tǒng)存儲過程sp_addsrvrolemember
11、。語法格式:sp_addsrvrolemember loginame = loginrolename = role8.2.5 服務(wù)器角色例8.10 將固定服務(wù)器角色sysadmin分配給了登錄帳戶cdnystudent1,使cdnystudent1擁有了角色sysadmin所擁有的所有權(quán)限。EXEC sp_addsrvrolemember cdnystudent1 sysadmin 8.2.5 服務(wù)器角色使用系統(tǒng)存儲過程瀏覽固定服務(wù)器角色的權(quán)限語法格式:sp_srvrolepermissionsrvrolename=role 例8.11 EXEC sp_srvrolepermission sy
12、sadmin -顯示sysadmin角色的權(quán)限。EXEC sp_srvrolepermission -顯示所有固定服務(wù)器角色的權(quán)限。 8.3.1 數(shù)據(jù)庫用戶對于每個(gè)要求訪問數(shù)據(jù)庫的登錄,應(yīng)將其帳戶添加到數(shù)據(jù)庫,成為數(shù)據(jù)庫用戶。如果登錄帳戶不是數(shù)據(jù)庫用戶,則登錄賬戶還是無法訪問數(shù)據(jù)庫。1使用企業(yè)管理器添加數(shù)據(jù)庫用戶使用T-SQL添加數(shù)據(jù)庫用戶8.3.1 數(shù)據(jù)庫用戶使用T-SQL添加數(shù)據(jù)庫用戶語法格式:sp_grantdbaccess loginame=login,name_in_db= name_in_db OUTPUT8.3.1 數(shù)據(jù)庫用戶例8.12 在pubs數(shù)據(jù)庫中為 Windows NT
13、 用戶 cdnyleijin 添加帳戶,并取名為 leijin。Use pubsGOEXEC sp_grantdbaccess cdnyleijin , leijinGO8.3.2 刪除數(shù)據(jù)庫用戶使用企業(yè)管理器刪除數(shù)據(jù)庫用戶2使用系統(tǒng)存儲過程sp_revokedbaccess刪除數(shù)據(jù)庫用戶語法格式:sp_revokedbaccess name_in_db = name8.3.2 刪除數(shù)據(jù)庫用戶例8.13 刪除數(shù)據(jù)庫用戶leijin。USE pubsGOEXEC sp_revokedbaccess leijinGO8.3.2 刪除數(shù)據(jù)庫用戶注意:revokedbaccess 存儲過程不能刪除以下
14、內(nèi)容: dbo 、guest內(nèi)置用戶帳戶;數(shù)據(jù)庫中的固定角色。Windows NT 組中的 Windows NT 用戶。 在用戶定義事務(wù)內(nèi)部不能執(zhí)行 sp_revokedbaccess8.3.3 內(nèi)置用戶帳戶dbo用戶(1)dbo 是具有在數(shù)據(jù)庫范圍內(nèi)執(zhí)行一切操作的內(nèi)置用戶。它是數(shù)據(jù)庫的所有者。(2)固定服務(wù)器角色sysadmin的任何成員都映射到每個(gè)數(shù)據(jù)庫內(nèi)稱為dbo 的一個(gè)特殊用戶上。另外,由固定服務(wù)器角色sysadmin的任何成員創(chuàng)建的任何對象都自動(dòng)屬于dbo。(3)無法刪除 dbo 用戶,且此用戶始終出現(xiàn)在每個(gè)數(shù)據(jù)庫中。8.3.3 內(nèi)置用戶帳戶(4)只有由 sysadmin 固定服務(wù)器
15、角色成員(或 dbo 用戶)創(chuàng)建的對象才屬于 dbo。由任何其他也不是 syadmin 固定服務(wù)器角色成員的用戶(包括 db_owner 固定數(shù)據(jù)庫角色成員)創(chuàng)建的對象: 屬于創(chuàng)建該對象的用戶,而不是 dbo。用創(chuàng)建該對象的用戶名限定。(5)它的用戶ID(UID)總是18.3.3 內(nèi)置用戶帳戶guest用戶(1)guest 用戶帳戶允許沒有用戶帳戶的登錄訪問數(shù)據(jù)庫。 (2)可以在除 master 和 tempdb 外(在這兩個(gè)數(shù)據(jù)庫中它必須始終存在)的所有數(shù)據(jù)庫中添加或刪除 guest 用戶。 8.3.3 內(nèi)置用戶帳戶(3)guest用戶的存在意味著所有登錄到SQL Server服務(wù)器的用戶都
16、可以訪問數(shù)據(jù)庫,即使它還沒有成為本數(shù)據(jù)庫的用戶。(4)默認(rèn)情況下,新建的數(shù)據(jù)庫中沒有 guest 用戶帳戶。 8.3.3 內(nèi)置用戶帳戶例8.14將 guest 用戶帳戶添加到名為 students 的數(shù)據(jù)庫中。USE studentsGOEXECUTE sp_grantdbaccess guestGO8.3.4 數(shù)據(jù)庫角色固定數(shù)據(jù)庫角色是在每個(gè)數(shù)據(jù)庫中都存在的預(yù)定義組。數(shù)據(jù)庫管理員可以將一個(gè)用戶加入到一個(gè)或多個(gè)數(shù)據(jù)庫角色中。固定數(shù)據(jù)庫角色不能被添加、修改或刪除。SQL Server在數(shù)據(jù)庫級別上設(shè)置了固定數(shù)據(jù)庫角色來提供基本的數(shù)據(jù)庫權(quán)限管理。 8.3.4 數(shù)據(jù)庫角色固定數(shù)據(jù)庫角色 描述db_o
17、wner 數(shù)據(jù)庫所有者db_accessadmin 數(shù)據(jù)庫訪問管理員db_securityadmin 數(shù)據(jù)庫安全管理員db_ddladmin 數(shù)據(jù)庫 DDL 管理員db_backupoperator 數(shù)據(jù)庫備份操作員db_datareader 數(shù)據(jù)庫數(shù)據(jù)讀取者db_datawriter 數(shù)據(jù)庫數(shù)據(jù)寫入者db_denydatareader 數(shù)據(jù)庫拒絕數(shù)據(jù)讀取者db_denydatawriter 數(shù)據(jù)庫拒絕數(shù)據(jù)寫入者8.3.5 管理數(shù)據(jù)庫角色系統(tǒng)存儲過程sp_addrole在當(dāng)前數(shù)據(jù)庫中創(chuàng)建新的數(shù)據(jù)庫角色語法格式:sp_addrole rolename = role , ownername = o
18、wner 8.3.5 管理數(shù)據(jù)庫角色例8.15 將名為 teacher的新角色添加到studnets數(shù)據(jù)庫中。EXEC sp_addrole teacher8.3.5 管理數(shù)據(jù)庫角色系統(tǒng)存儲過程sp_addrolemember將某個(gè)數(shù)據(jù)庫用戶加入到某個(gè)數(shù)據(jù)庫角色中語法格式:sp_addrolemember rolename = role , membername = security_account8.3.5 管理數(shù)據(jù)庫角色例8.16將數(shù)據(jù)庫用戶加入到students數(shù)據(jù)庫teacher角色中A. 添加 Windows NT 用戶將 Windows NT 登錄帳戶cdnyzhl 添加到 stu
19、dents 數(shù)據(jù)庫,使其成為數(shù)據(jù)庫用戶 jszhl。然后,再將 jszhl 添加到students數(shù)據(jù)庫的 teacher 角色中。USE studentsGOEXEC sp_grantdbaccess cdnyzhl, jszhlGOEXEC sp_addrolemember teacher, jszhl8.3.5 管理數(shù)據(jù)庫角色B. 添加 SQL Server 用戶將 SQL Server 用戶 leijin添加到studetns數(shù)據(jù)庫中的teacher角色。EXEC sp_addrolemember teacher, leijin 8.3.5 管理數(shù)據(jù)庫角色系統(tǒng)存儲過程sp_dropro
20、lemember從當(dāng)前數(shù)據(jù)庫中的數(shù)據(jù)庫角色中刪除安全帳戶語法格式:sp_droprolemember rolename = role , membername = security_account8.3.5 管理數(shù)據(jù)庫角色例8.17 從角色teacher 中刪除用戶leijin。EXEC sp_droprolemember teacher, leijin8.3.5 管理數(shù)據(jù)庫角色角色應(yīng)用(1)public 角色public 角色是一個(gè)特殊的數(shù)據(jù)庫角色,每個(gè)數(shù)據(jù)庫用戶都屬于它。public 角色捕獲數(shù)據(jù)庫中用戶的所有默認(rèn)權(quán)限。無法將用戶、組或角色指派給public 角色,因?yàn)槟J(rèn)情況下它們即屬于
21、該角色。public 角色含在每個(gè)數(shù)據(jù)庫中,包括 master、msdb、tempdb、model 和所有用戶數(shù)據(jù)庫。無法除去public 角色。8.3.5 管理數(shù)據(jù)庫角色(2)應(yīng)用程序角色應(yīng)用程序角色是一種特殊的數(shù)據(jù)庫角色。應(yīng)用程序角色不包含任何成員,用戶不允許添加到該角色中。8. 4 權(quán)限管理SQL Server 2000 中的權(quán)限分為三種:對象權(quán)限、語句權(quán)限和隱含權(quán)限1.對象權(quán)限是指數(shù)據(jù)庫用戶對數(shù)據(jù)庫中的表、存儲過程、視圖等對象的操作權(quán)限。 2.隱含權(quán)限是指系統(tǒng)預(yù)定義的服務(wù)器角色或數(shù)據(jù)庫角色,或數(shù)據(jù)庫所有者和數(shù)據(jù)庫對象所有者擁有的權(quán)限。隱含權(quán)限不能明確地賦予和撤銷。 8. 4 權(quán)限管理3
22、.語句權(quán)限指是否可以執(zhí)行某些T-SQL命令的權(quán)限。具體包括:CREATE DATABASE:創(chuàng)建一個(gè)新數(shù)據(jù)庫及存儲該數(shù)據(jù)庫的文件BACKUP DATABASE:備份整個(gè)數(shù)據(jù)庫BACKUP LOG:備份事務(wù)日志CREATE DEFAULT:創(chuàng)建稱為默認(rèn)值的對象CREATE FUNCTION:創(chuàng)建用戶定義函數(shù)CREATE PROCEDURE:創(chuàng)建存儲過程CREATE RULE:創(chuàng)建規(guī)則CREATE TABLE:創(chuàng)建表CREATE VIEW:創(chuàng)建視圖8. 4 權(quán)限管理權(quán)限管理包含以下三方面的內(nèi)容: 授予權(quán)限 拒絕權(quán)限 取消權(quán)限 管理權(quán)限的方法有兩種:一是使用T-SQL語句,二是通過企業(yè)管理器。8.
23、4 權(quán)限管理(1)授予權(quán)限授予對象權(quán)限的語法格式如下:GRANTALL PRIVILEGES | permission,.n (column ,.n) ON table | view | ON table | view (column,.n) | ON stored_procedure TO security_account ,.nWITH GRANT OPTION8. 4 權(quán)限管理授予命令權(quán)限語法格式:GRANT ALL statement ,.nTO security_account ,.n8. 4 權(quán)限管理例8.18 將“students”數(shù)據(jù)庫的“stu”表中查詢數(shù)據(jù)的權(quán)限授予了public角色,將在“stu”表中執(zhí)行INSERT操作的權(quán)限授予了yq。USE studentsGOGRANT SELECT ON stu TO publicGOGRANT INSERT ON stuTo yq8. 4 權(quán)限管理(2)撤銷權(quán)限撤銷語句權(quán)限。語法格式:REVOKE ALL | statement ,.n FROM security_acc
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)安置職工合同范例
- 辦公標(biāo)簽銷售合同標(biāo)準(zhǔn)文本
- 買賣拆遷平房合同范例
- 創(chuàng)業(yè)公司融資合同樣本
- 相對論對物理的影響試題及答案
- 關(guān)于建廠房合同標(biāo)準(zhǔn)文本
- 與人合伙合同范例
- 加盟美業(yè)合同樣本
- 二手車轉(zhuǎn)讓和買賣合同標(biāo)準(zhǔn)文本
- 兩兄弟建房合同范例
- 設(shè)備維護(hù)工程師簡歷
- 2023版押品考試題庫必考點(diǎn)含答案
- 挖孔樁基施工方案(水磨鉆)
- 變電檢修技能考試計(jì)算
- 國際經(jīng)濟(jì)法學(xué)(湘潭大學(xué))智慧樹知到答案章節(jié)測試2023年
- 以案說德發(fā)言四篇
- 大氣污染控制工程課后題答案解析
- 臨床試驗(yàn)倫理委員會(huì)倫理審查不同意見溝通的標(biāo)準(zhǔn)操作規(guī)程
- 梅毒診療指南(2023年)
- 高中物理3-3熱學(xué)練習(xí)題(含答案)
- DB32-T 3916-2020建筑地基基礎(chǔ)檢測規(guī)程-(高清現(xiàn)行)
評論
0/150
提交評論