資源描述:
《數(shù)據(jù)庫系統(tǒng)17-用戶和安全性管理》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第17講用戶和安全性管理一、SQLServer安全機制1安全性概述2安全機制的四個層次二、登錄管理1用企業(yè)管理器管理登錄2用T-SQL命令管理登錄三、用戶、角色和權(quán)限管理1用戶管理2角色管理3權(quán)限管理一、SQLServer安全機制1安全性概述在開發(fā)數(shù)據(jù)庫的時候,經(jīng)常會擔心數(shù)據(jù)庫的安全性.雖然不必要在數(shù)據(jù)庫設(shè)計還未定型時就開始應用安全性,但是對于數(shù)據(jù)庫項目來說,早一些開發(fā)和實施安全性計劃比晚一些要好得多.與數(shù)據(jù)庫項目的所有其它方面一樣,必須對安全性加以仔細地設(shè)計、實施和測試.安全性會影響到一些過程的執(zhí)行,在開發(fā)項目的代碼時必須對它加以考慮.對于較小的組織來說,使用具有較少的角色
2、,并將IT用戶作為sysadmin的簡單安全計劃就足夠了.較大的組織---軍隊、銀行或者研究機構(gòu)---將需要更為復雜的安全性計劃,設(shè)計它時需要像設(shè)計邏輯數(shù)據(jù)庫模式一樣仔細.SQLServer的安全性模型是經(jīng)過精心設(shè)計的,如果能夠全面地理解它,就會發(fā)現(xiàn)它既合理又靈活.其中,保證數(shù)據(jù)庫安全性的主要手段是創(chuàng)建用戶和角色,然后指派權(quán)限;而安全策略的主要工作則是確定數(shù)據(jù)訪問的權(quán)利和責任,然后實施安全計劃.數(shù)據(jù)庫管理系統(tǒng)盡管在企業(yè)的IT架構(gòu)中起著舉足輕重的作用,但仍然還是一個運行在某一特定操作系統(tǒng)平臺下的應用軟件.這樣,SQLServer的安全機制可以分為如下四個層次:(1)客戶機操作系
3、統(tǒng)的安全性(2)SQLServer的登錄安全性(3)數(shù)據(jù)庫的使用安全性(4)數(shù)據(jù)庫對象的使用安全性每個安全層次就好像一道門,如果門沒有上鎖或有開門的鑰匙,用戶就可通過這道門.2安全機制的四個層次(1)客戶機操作系統(tǒng)的安全性在用戶要使用客戶計算機通過網(wǎng)絡(luò)訪問SQLServer服務(wù)器時,首先要獲得客戶計算機操作系統(tǒng)的使用權(quán).即,用戶至少要知道客戶端計算機的用戶名和密碼,以能夠使用它.一般地,在已有網(wǎng)絡(luò)互聯(lián)的前提下,用戶要登錄的是客戶機,然后再通過客戶機上安裝的SQLServer客戶端對服務(wù)器端進行訪問.定義操作系統(tǒng)安全性是操作系統(tǒng)管理員和網(wǎng)絡(luò)管理員的任務(wù).SQLServer采用了
4、集成Windows系統(tǒng)網(wǎng)絡(luò)安全性的機制.(2)SQLServer服務(wù)器的安全性SQLServer的服務(wù)器級安全性建立在控制服務(wù)器登錄帳號和口令的基礎(chǔ)上.SQLServer采用了標準SQLServer登錄和集成Windows系統(tǒng)登錄兩種方式.一旦服務(wù)器了解和識別了用戶,就可以通過為他授予固定服務(wù)器角色使其具有特定的服務(wù)器管理權(quán)限.如果用戶屬于sysadmin角色,他就具有了全面訪問所有服務(wù)器功能、數(shù)據(jù)庫和服務(wù)器上的對象的權(quán)限.(3)數(shù)據(jù)庫的安全性在用戶通過SQLServer服務(wù)器的安全性檢驗以后,將直接面對不同的數(shù)據(jù)庫入口.這是用戶將要接受的第三次安全性檢驗.在建立用戶登錄帳號
5、信息時,SQLServer會提示用戶選擇默認的數(shù)據(jù)庫,以后每次登錄后會自動轉(zhuǎn)到這個數(shù)據(jù)庫上.系統(tǒng)缺省的默認數(shù)據(jù)庫是master.最好將默認數(shù)據(jù)庫設(shè)置在具有實際操作意義的數(shù)據(jù)庫上.在默認情況下,只有數(shù)據(jù)庫的擁有者才可以訪問該數(shù)據(jù)庫的對象.數(shù)據(jù)庫的擁有者可以分配訪問權(quán)給別的用戶,以便讓別的用戶也擁有針對該數(shù)據(jù)庫的訪問權(quán)利.在SQLServer中并不是所有的權(quán)利都可以自由轉(zhuǎn)讓和分配的.有一個特殊情況,那就是Guest用戶.在安裝系統(tǒng)時,Guest用戶加入到master、pubs、tempdb和Northwind數(shù)據(jù)庫中,這個用戶帳號主要供那些沒有當前SQLServer數(shù)據(jù)庫用戶的登
6、錄者使用,使他們能夠以匿名訪問的方式察看該用戶所擁有的數(shù)據(jù)庫中的數(shù)據(jù).(4)數(shù)據(jù)庫對象的安全性數(shù)據(jù)庫對象的安全性是核查用戶權(quán)限的最后一個安全等級.在創(chuàng)建數(shù)據(jù)庫對象的時候,SQLServer將自動把對象的擁有權(quán)賦予該對象的創(chuàng)建者.對象的擁有者可以實現(xiàn)對該對象的完全控制.在默認情況下,只有數(shù)據(jù)庫的擁有者才可以在該數(shù)據(jù)庫下進行操作.當一個非數(shù)據(jù)庫的擁有者的用戶想訪問數(shù)據(jù)庫里的對象時,必須事先由數(shù)據(jù)庫的擁有者賦予對該用戶對指定對象的指定操作.例如,一個用戶想訪問mydb數(shù)據(jù)庫里的company表中的信息.則他必須在首先成為數(shù)據(jù)庫合法用戶的前提下,獲得由mydb數(shù)據(jù)庫擁有者分配的針對c
7、ompany表的訪問權(quán)限.一般來說,為了減少管理的開銷,在對象級安全管理上應該在大多數(shù)場合賦予數(shù)據(jù)庫用戶以廣泛的權(quán)限,然后再針對實際情況在某些敏感的數(shù)據(jù)上實施具體的訪問權(quán)限限制.雖然整個認證過程十分復雜,但是,數(shù)據(jù)庫管理員管理服務(wù)器時,卻是一件十分輕松的事.二、登錄管理1用企業(yè)管理器管理登錄使用企業(yè)管理器可以設(shè)置SQLServer認證模式、創(chuàng)建登錄帳號、修改和刪除登陸帳號.●設(shè)置SQLServer認證模式(1)啟動企業(yè)管理器,選擇要設(shè)置的服務(wù)器;(2)單擊右鍵,選擇〖屬性〗;(3)在相應的對話框中,選擇