版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、數(shù)據(jù)庫數(shù)據(jù)庫應(yīng)用軟件應(yīng)用軟件信息科學(xué)與工程學(xué)院信息科學(xué)與工程學(xué)院 計(jì)算機(jī)系計(jì)算機(jī)系魏永山魏永山第第4章章 賬戶和存取權(quán)限賬戶和存取權(quán)限對于一個(gè)數(shù)據(jù)庫管理員來說,安全性就意味著必須保證那些具有特殊數(shù)據(jù)訪問權(quán)限的用戶能夠登錄到SQL Server,并且能夠訪問數(shù)據(jù)以及對數(shù)據(jù)庫對象實(shí)施各種權(quán)限范圍內(nèi)的操作;同時(shí),他還要防止所有的非授權(quán)用戶的非法操作。 SQL Server提供了既有效又容易的安全管理模式,這種安全管理模式是建立在安全身份驗(yàn)證和訪問許可兩者機(jī)制上的?;驹砘驹碇黧w主體:它是一個(gè)標(biāo)識(shí),用來訪問SQL 服務(wù)器的對象,可能是用戶或應(yīng)用程序。安全對象安全對象:在服務(wù)器和數(shù)據(jù)庫中,可通過權(quán)
2、限保護(hù)的對象。權(quán)限權(quán)限:用來規(guī)定特定主體在訪問安全對象時(shí)允許或不允許的行為。安全級(jí)別安全級(jí)別:SQL Server 具有多個(gè)安全級(jí)別,各級(jí)別間具有層次關(guān)系。登錄名登錄名:通過登錄名可以連接到服務(wù)器。用戶用戶:通過用戶可以訪問數(shù)據(jù)庫。角色角色:通過角色可以賦予訪問數(shù)據(jù)庫的權(quán)限。重要概念重要概念主 體主體Server 角色SQL Server 登錄Windows 組域用戶賬戶本地用戶賬戶用戶數(shù)據(jù)庫角色應(yīng)用程序角色組SQLServer數(shù)據(jù)庫Windows安全對象權(quán)限安全對象主體Server 角色SQL Server 登錄Windows 組域用戶賬戶本地用戶賬戶用戶數(shù)據(jù)庫角色應(yīng)用程序角色組SQLSer
3、ver數(shù)據(jù)庫Windows安全對象權(quán)限文件密鑰服務(wù)器架構(gòu)數(shù)據(jù)庫SQL Server 2005 權(quán)限主體Server 角色SQL Server 登錄Windows 組域用戶賬戶本地用戶賬戶用戶數(shù)據(jù)庫角色應(yīng)用程序角色組SQLServer數(shù)據(jù)庫Windows安全對象權(quán)限文件密鑰服務(wù)器架構(gòu)數(shù)據(jù)庫CREATEALTERDROPCONTROLCONNECTSELECTEXECUTEUPDATEDELETEINSERTTAKE OWNERSHIPVIEW DEFINITIONBACKUP授予授予/撤銷撤銷/拒絕拒絕ACL4.1 4.1 SQL Server的驗(yàn)證模式SQL Server對用戶的訪問進(jìn)行兩個(gè)階
4、段的檢驗(yàn):驗(yàn)證階段 登錄SQL Server時(shí)進(jìn)行的檢查。如果驗(yàn)證通過,用戶就可以連接到SQL Server上;否則,服務(wù)器將拒絕用戶的登錄。從而保證了系統(tǒng)安全性。許可確認(rèn)階段 登錄到SQL Server上以后,系統(tǒng)檢查用戶是否有訪問服務(wù)器上數(shù)據(jù)的權(quán)限。4.1.1 Windows模式驗(yàn)證模式驗(yàn)證在windows驗(yàn)證模式下,SQL Server檢測當(dāng)前使用的Windows用戶帳戶,確定該賬戶是否有權(quán)限登錄。該模式不必提交登錄名和密碼。4.1 SQL Server的驗(yàn)證模式Windows驗(yàn)證模式有以下主要優(yōu)點(diǎn):數(shù)據(jù)庫管理員的工作可以集中在管理數(shù)據(jù)庫上面,而不是管理用戶賬戶。對用戶賬戶的管理可以交給
5、Windows去完成。 Windows有著更強(qiáng)的用戶賬戶管理工具??梢栽O(shè)置賬戶鎖定、密碼期限等。Windows的組策略支持多個(gè)用戶同時(shí)被授權(quán)訪問SQL Server。4.1 SQL Server的驗(yàn)證模式4.1.2 混合驗(yàn)證模式混合驗(yàn)證模式混合驗(yàn)證模式允許以SQL Server驗(yàn)證模式或Windows驗(yàn)證模式來進(jìn)行驗(yàn)證。使用哪種模式取決于在最初的通信時(shí)使用的網(wǎng)絡(luò)庫。如果一個(gè)用戶使用的是TCP/IP Sockets進(jìn)行登錄驗(yàn)證,則將使用SQL Server驗(yàn)證模式;如果用戶使用Named Pipes,則登錄時(shí)將使用Windows驗(yàn)證模式。SQL Server驗(yàn)證模式處理登錄的過程: 用戶輸入登錄
6、名和密碼后, SQL Server在系統(tǒng)注冊表中檢測輸入的登錄名和密碼。如果輸入的登錄名存在,而且密碼也正確,就可以登錄到SQL Server上。4.1 SQL Server的驗(yàn)證模式混合驗(yàn)證模式具有如下優(yōu)點(diǎn):創(chuàng)建了Windows之上的另外一個(gè)安全層次。支持更大范圍的用戶,例如非Windows客戶、Novell網(wǎng)絡(luò)等。一個(gè)應(yīng)用程序可以使用單個(gè)的SQL Server登錄和口令。4.1 SQL Server的驗(yàn)證模式4.1.3 設(shè)置驗(yàn)證模式設(shè)置驗(yàn)證模式第1步:在“對象資源管理器”窗口中,選擇服務(wù)器,右擊,在彈出的快捷菜單上選擇“屬性”命令,然后在打開的“服務(wù)器屬性”對話框中,選擇“安全性”選項(xiàng),打
7、開“安全性”選項(xiàng)卡 .第2步:在“服務(wù)器身份驗(yàn)證”欄中設(shè)置驗(yàn)證模式后,單擊“確定”按鈕.第3步:重新啟動(dòng)SQL Server,以新的驗(yàn)證模式登錄服務(wù)器。 4.1 SQL Server的驗(yàn)證模式4.2 賬戶和角色SQL Server的兩種賬戶:的兩種賬戶:登錄服務(wù)器的登錄帳戶(login name)登錄帳戶只是讓用戶登錄到SQL Server中,但登錄名本身并不能讓用戶訪問服務(wù)器中的數(shù)據(jù)。要訪問特定的數(shù)據(jù)庫,還必須具有用戶名。使用數(shù)據(jù)庫的用戶帳戶(user name )用戶名在特定的數(shù)據(jù)庫內(nèi)創(chuàng)建。用戶定義的信息放在服務(wù)器上的每個(gè)數(shù)據(jù)庫的sysusers表中。通過授權(quán)給用戶來指定銀行可以訪問的數(shù)據(jù)
8、庫對象的權(quán)限。角色角色角色是一組用戶所構(gòu)成的組,可分為服務(wù)器角色和數(shù)據(jù)庫角色。當(dāng)幾個(gè)用戶需要在某個(gè)特定的數(shù)據(jù)庫中執(zhí)行類似的動(dòng)作時(shí),就可以向該數(shù)據(jù)庫中添加一個(gè)角色(role)。數(shù)據(jù)庫角色指定了可以訪問相同數(shù)據(jù)庫對象的一組數(shù)據(jù)庫用戶。4.2 賬戶和角色服務(wù)器角色服務(wù)器角色Sysadmin 可執(zhí)行SQL Server中的任何動(dòng)作Serveradmin 可設(shè)置服務(wù)器范圍的配置選項(xiàng)Setupadmin 可管理鏈接服務(wù)器和啟動(dòng)過程Securityadmin 可管理登錄和創(chuàng)建數(shù)據(jù)庫、讀取錯(cuò)誤日志和更改密碼。Processadmin 管理SQL Server進(jìn)程Dbcreator 創(chuàng)建、修改和刪除數(shù)據(jù)庫Dis
9、kadmin 管理磁盤文件Public 具有查看任何數(shù)據(jù)庫的權(quán)限4.2 賬戶和角色4.2.1 登錄帳戶登錄帳戶登錄帳戶的添加登錄帳戶的設(shè)置登錄帳戶的刪除4.2 賬戶和角色4.2.2 數(shù)據(jù)庫用戶數(shù)據(jù)庫用戶每個(gè)登錄帳戶在一個(gè)數(shù)據(jù)庫中中你能有一個(gè)用戶帳戶,但是每個(gè)登錄帳戶可以在不同的數(shù)據(jù)庫中各有一個(gè)用戶帳戶。如果在創(chuàng)建登錄帳戶時(shí)沒有指定對某個(gè)數(shù)據(jù)庫的存取權(quán)限,則在數(shù)據(jù)庫中,可創(chuàng)建一個(gè)新的用戶帳戶,并關(guān)聯(lián)到該登錄帳戶,則該登錄帳戶會(huì)自動(dòng)具有對該數(shù)據(jù)庫的訪問權(quán)限。例:在AdventureWorks庫中創(chuàng)建一個(gè)用戶帳戶bookA,并將其關(guān)聯(lián)到bookadm登錄帳戶中。4.2 賬戶和角色4.2.3 角色角色
10、 擁有相同權(quán)限的用戶集合稱為角色服務(wù)器角色:由服務(wù)器賬戶組成的組,負(fù)責(zé)管理和維護(hù)SQL Server組。數(shù)據(jù)庫角色:由數(shù)據(jù)庫成員所組成的組,此成員可以是用戶或者其他的數(shù)據(jù)庫角色。4.2 賬戶和角色1.固定數(shù)據(jù)庫角色固定數(shù)據(jù)庫角色db_owner 在數(shù)據(jù)庫中有全部權(quán)限db_accessadmin 可以添加、刪除用戶db_datareader 可以查看所有數(shù)據(jù)庫中用戶表內(nèi)數(shù)據(jù)db_datawriter 可以添加、修改或刪除所有數(shù)據(jù)庫中用戶表內(nèi)數(shù)據(jù)的用戶db_ddladmin 可以在數(shù)據(jù)庫中執(zhí)行所有定義操作db_securityadmin可以管理數(shù)據(jù)庫中與安全權(quán)限有關(guān)所有動(dòng)作db_backopera
11、tor 可以備份數(shù)據(jù)庫db_denydatareader 不能選擇數(shù)據(jù)庫中任何數(shù)據(jù)db_denydatawriter 不能改變數(shù)據(jù)庫中任何數(shù)據(jù)Public 4.2 賬戶和角色例:查看db_owner數(shù)據(jù)庫角色的屬性,并將用戶bookadm加入到該角色中。 4.2 賬戶和角色2.應(yīng)用程序角色應(yīng)用程序角色 應(yīng)用程序角色只使用應(yīng)用程序,因而不需要把權(quán)限直接賦予用戶,所以應(yīng)用程序角色沒有任何成員。此外需要為應(yīng)用程序設(shè)置一個(gè)口令來激活它。 應(yīng)用程序角色可以加強(qiáng)對某個(gè)特定的應(yīng)用程序的安全。這些角色允許應(yīng)用程序自己代替SQL Server接管用戶身份驗(yàn)證的職責(zé)。比如,如果公司中的員工只是使用某個(gè)特定的應(yīng)用程
12、序(而不是使用Transact-SQL語句或其他任何工具)來修改員工的數(shù)據(jù)信息,那么就可以為它創(chuàng)建一個(gè)應(yīng)用程序角色。 當(dāng)應(yīng)用程序角色被應(yīng)用程序的會(huì)話激活以用于連接時(shí),在連接期間,會(huì)話就失去了登錄、用戶賬戶或所有數(shù)據(jù)庫中的角色的權(quán)限。4.2 賬戶和角色3.public數(shù)據(jù)庫角色的權(quán)限數(shù)據(jù)庫角色的權(quán)限public角色是一種特殊的固定數(shù)據(jù)庫角色,當(dāng)在數(shù)據(jù)庫添加新用戶帳戶時(shí),SQL Server會(huì)自動(dòng)將新用戶帳戶加入public數(shù)據(jù)庫角色中,即數(shù)據(jù)庫的每個(gè)合法用戶都屬于該角色。 public角色為數(shù)據(jù)庫中的用戶提供了所有默認(rèn)權(quán)限。對于用戶建立的數(shù)據(jù)庫對象, public角色默認(rèn)是不設(shè)置權(quán)限。publi
13、c角色為數(shù)據(jù)庫中的所有用戶都保留了默認(rèn)的權(quán)限,因此是不能被刪除的。4.2 賬戶和角色4.2.4 用戶和角色的權(quán)限問題用戶和角色的權(quán)限問題 用戶是否具有對數(shù)據(jù)庫存取的權(quán)利,要看其權(quán)限設(shè)置而定,但是,它還要受其所屬角色的權(quán)限的限制。4.2 賬戶和角色1. 用戶權(quán)限繼承角色的權(quán)限用戶權(quán)限繼承角色的權(quán)限用戶對數(shù)據(jù)庫對象的存取權(quán)限繼承于所屬角色。假如用戶User1屬于角色Role1,角色Role1已經(jīng)取得對表Table1的SELECT權(quán)限,則用戶User1也自動(dòng)取得對表Table1的SELECT權(quán)限,如果角色Role1對表Table1沒有INSERT權(quán)限,而用戶User1取得了對表Table1的INSE
14、RT權(quán)限,則角色Role1最終也取得對表Table1的INSERT權(quán)限。拒絕權(quán)限優(yōu)先,只要角色Role1和用戶User1中的之一拒絕,則該權(quán)限就是拒絕。4.2 賬戶和角色2. 用戶分屬不同角色用戶分屬不同角色如果一個(gè)用戶分屬于不同的數(shù)據(jù)庫角色,例如,用戶User1即屬于角色Role1,又屬于角色Role2,則用戶User1的權(quán)限是以Role1和Role2的并集為準(zhǔn)。但是只要有一個(gè)拒絕,則用戶User1的權(quán)限就是拒絕。4.2 賬戶和角色 命名空間將相關(guān)對象組織在一起,從而使復(fù)雜的對象列表更加方便管理。 SQL Server 2005 使用架構(gòu)架構(gòu)對數(shù)據(jù)庫對象實(shí)現(xiàn)了類似的概念。提問: 在數(shù)據(jù)庫中專
15、門有名為 student_id 的表用來統(tǒng)計(jì)學(xué)生的學(xué)號(hào)和姓名,現(xiàn)在的問題就是每一屆的學(xué)生數(shù)據(jù)都會(huì)存在這樣一張同名的表,這可能會(huì)給查詢帶來困難。 舉例:針對上面的情況,數(shù)據(jù)庫將不知道如何區(qū)分 2006 級(jí)的學(xué)生和 2007 級(jí)的學(xué)生。如何解決這一問題呢?舉例:我們以每一屆的學(xué)生建立架構(gòu),要查找 2007 級(jí)的學(xué)生學(xué)號(hào)時(shí),在這個(gè)數(shù)據(jù)庫中就可以通過 2007.student.id 來找到合適的表了。架構(gòu):是數(shù)據(jù)庫對象的命名空間。換言之,架構(gòu)定義了一個(gè)邊界,邊界內(nèi)的所有名稱都是唯一的。數(shù)據(jù)庫中每一個(gè)對象的唯一完全限定名稱為server.database.schema.object。PersonCont
16、act(Server1.AdventureWorks.Person.Contact)SalesCustomer(Server1.AdventureWorks.Sales.Customer)AdventureWorksdboErrorLog(Server1.AdventureWorks.dbo.ErrorLog) 數(shù)據(jù)庫對象的命名空間數(shù)據(jù)庫對象的命名空間下圖有名為 Server的 SQL Server 實(shí)例中 AdventureWorks 數(shù)據(jù)庫內(nèi)的三個(gè)架構(gòu)。架構(gòu)分別名為Person、Sales和dbo,每一個(gè)架構(gòu)都包含一個(gè)表。表的完全限定名稱:包括服務(wù)器名、數(shù)據(jù)庫名和架構(gòu)名。例如:dbo 架構(gòu)
17、中的 ErrorLog 表的完全限定名稱為server1. AdventureWorks.dbo.ErrorLog在在SQL早期版本中,對象的命名空間有其所有者的用早期版本中,對象的命名空間有其所有者的用戶名決定。戶名決定。在在SQL Server 2005中,架構(gòu)與對象的所有權(quán)分離,這中,架構(gòu)與對象的所有權(quán)分離,這樣做的優(yōu)勢在于:樣做的優(yōu)勢在于: 在將數(shù)據(jù)庫對象組織到命名空間中時(shí)靈活性更強(qiáng) 權(quán)限管理更加簡單; 可管理性也得到了提高。 創(chuàng)建架構(gòu),在SSMS 中通過【對象資源管理器】,展開數(shù)據(jù)庫下的【安全性】,就可創(chuàng)建架構(gòu)。使用使用CREATE SCHEMA語句創(chuàng)建架構(gòu):語句創(chuàng)建架構(gòu):CREAT
18、E SCHEMA schema_name | AUTHORIZATION owner_name 舉例:創(chuàng)建名為 marketing 的架構(gòu),該架構(gòu)由名為 Lance 的用戶擁有;在新建的架構(gòu)中創(chuàng)建名為 promotions 的表。 該語句將架構(gòu)中的SELECT權(quán)限授予給Don的用戶,并拒絕將SELECT 權(quán)限授予給名為 Erik 的用戶。-創(chuàng)建名為marketing的架構(gòu),該架構(gòu)由名為Lance的用戶擁有CREATE SCHEMA Marketing AUTHORIZATION Lance -在架構(gòu)中創(chuàng)建promotions的表( 三列:source cost promonumber ;都為整型)CREATE TABLE Mmotions( source int , cost int , promonumber int )- 授予給Don的用戶的
溫馨提示
- 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)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣東外語外貿(mào)大學(xué)南國商學(xué)院《國際結(jié)算B》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東食品藥品職業(yè)學(xué)院《測試技術(shù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東生態(tài)工程職業(yè)學(xué)院《資源環(huán)境統(tǒng)計(jì)分析》2023-2024學(xué)年第一學(xué)期期末試卷
- 二年級(jí)數(shù)學(xué)計(jì)算題專項(xiàng)練習(xí)
- 【2021屆備考】2020全國名校數(shù)學(xué)試題分類解析匯編(12月第一期):E5簡單的線性規(guī)劃問題
- 2021年高考生物(人教版)一輪復(fù)習(xí)強(qiáng)化練習(xí):生命活動(dòng)的主要承擔(dān)者-蛋白質(zhì)
- 【名師一號(hào)】2021年新課標(biāo)版歷史選修2-單元測試2
- 2025年人教版七年級(jí)數(shù)學(xué)寒假預(yù)習(xí) 第07講 實(shí)數(shù)及其簡單計(jì)算
- 2021年高考語文考點(diǎn)總動(dòng)員專題65-鑒賞文學(xué)作品的形象、語言和表達(dá)技巧之語言風(fēng)格(解析版)
- 2021年高考語文二輪復(fù)習(xí)講練測專題02-識(shí)記現(xiàn)代漢語字形(測)(解析版)
- GB/T 18329.2-2023滑動(dòng)軸承多層金屬滑動(dòng)軸承第2部分:合金厚度≥2 mm的結(jié)合強(qiáng)度破壞性試驗(yàn)
- 《中國健康生活方式預(yù)防心血管代謝疾病指南》
- 如何正確看待成績主題班會(huì)課件
- YB-4001.1-2007鋼格柵板及配套件-第1部分:鋼格柵板(中文版)
- 樂山英文介紹
- 工程量清單清單計(jì)價(jià)封面
- 尺寸鏈講解課件
- 壓濾機(jī)產(chǎn)品質(zhì)量檢測報(bào)告
- 日產(chǎn)5000噸水泥生產(chǎn)線建筑工程施工組織設(shè)計(jì)
- 267條表情猜成語【動(dòng)畫版】
- 三戰(zhàn)課件(輿論戰(zhàn)、法律戰(zhàn)、心理戰(zhàn))
評(píng)論
0/150
提交評(píng)論