資源描述:
《sql server數(shù)據(jù)庫訪問控制課程報告》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、SQLServer數(shù)據(jù)庫訪問控制摘要:數(shù)據(jù)庫的應(yīng)用已十分廣泛,深入到了各個領(lǐng)域,但同時也帶來了數(shù)據(jù)的安全隱患。本文從維護(hù)數(shù)據(jù)庫系統(tǒng)的安全角度出發(fā),介紹SQLServer數(shù)據(jù)庫訪問控制,并提出SQLServer數(shù)據(jù)庫應(yīng)用時的安全措施,從而有效的增強(qiáng)數(shù)據(jù)庫的安全性。關(guān)鍵字:SQL,數(shù)據(jù)庫,安全性,訪問控制1.引言對于數(shù)據(jù)庫系統(tǒng)來說,信息的收集、儲存、檢索和訪問控制等各個環(huán)節(jié)都是十分重要的。信息的搜集、儲存和檢索是數(shù)據(jù)庫系統(tǒng)的基本功能,而有效和完備的訪問控制措施則是實(shí)現(xiàn)其各項(xiàng)功能的基本保障。隨著數(shù)據(jù)庫系統(tǒng)規(guī)模的不斷擴(kuò)大和信息敏感性的提高,數(shù)據(jù)庫系統(tǒng)的安全性就顯得更為重要
2、。SQLServer數(shù)據(jù)庫管理系統(tǒng)使用登錄帳戶認(rèn)證來控制用戶對服務(wù)器的連接,使用數(shù)據(jù)庫的用戶和角色許可等限制用戶對數(shù)據(jù)庫的訪問,它們共同構(gòu)成SQLServer數(shù)據(jù)庫系統(tǒng)安全機(jī)制的基礎(chǔ)。下面介紹SQLServer數(shù)據(jù)庫管理系統(tǒng)中的這些訪問控制技術(shù)。2.SQLSEVER的安全體系結(jié)構(gòu)1、客戶機(jī)操作系統(tǒng)的安全性:在使用客戶計(jì)算機(jī)通過網(wǎng)絡(luò)實(shí)現(xiàn)對SQLServer服務(wù)器的訪問時,用戶首先要獲得客戶計(jì)算機(jī)操作系統(tǒng)的使用權(quán)。操作系統(tǒng)安全性是操作系統(tǒng)管理員或網(wǎng)絡(luò)管理員的任務(wù)。2、SQLServer的登錄安全性:SQLSEVER服務(wù)器的安全,建立在控制服務(wù)器登錄帳號和密碼的基礎(chǔ)上。
3、兩種登錄方式,無論是使用哪種登錄方式,通過登錄時提供的密碼和賬號,決定了用戶能否獲得SQLServer訪問權(quán),并確定獲得訪問權(quán)限后,用戶使用SQLServer進(jìn)程時就可以擁有的權(quán)利。管理和設(shè)計(jì)合理的登錄是數(shù)據(jù)庫管理員(DBA)的重要任務(wù)。3、數(shù)據(jù)庫的使用安全性:設(shè)置訪問數(shù)據(jù)庫用戶。4、數(shù)據(jù)庫對象的使用安全性:設(shè)置對數(shù)據(jù)庫對象操作權(quán)限。3.SQLServer訪問控制策略MicrosoftSQLServer對用戶的訪問控制分為以下兩個階段:#登錄帳戶認(rèn)證;#訪問許可確認(rèn)。在登錄帳戶認(rèn)證階段,WindowsNT操作系統(tǒng)或SQLServer對用戶登錄進(jìn)行認(rèn)證,如果認(rèn)證成功
4、,用戶則可連接到SQLServer,否則服務(wù)器將拒絕用戶的連接請求。用戶成功連接到SQLServer后,系統(tǒng)根據(jù)數(shù)據(jù)庫中保存的與服務(wù)器登錄標(biāo)識相對應(yīng)的用戶帳戶判斷他們是否具有對數(shù)據(jù)庫的訪問許可。用戶對數(shù)據(jù)庫的訪問許可被確認(rèn)后才可訪問指定的數(shù)據(jù)庫對象,否則,SQLServer將拒絕用戶對數(shù)據(jù)庫的操作。在SQLServer中,服務(wù)器登錄標(biāo)識由系統(tǒng)管理員創(chuàng)建,而對數(shù)據(jù)庫對象的訪問許可則由數(shù)據(jù)庫對象所有者授權(quán)。3.1登錄帳戶認(rèn)證MicrosoftSQLServer數(shù)據(jù)庫管理系統(tǒng)與WindowsNT操作系統(tǒng)有機(jī)集成,使它既可以使用自身的安全體系對用戶登錄進(jìn)行認(rèn)證,又可以接收
5、WindowsNT認(rèn)證用戶的連接請求。SQLServer登錄帳戶認(rèn)證有以下兩種模式:(1)WindowsNT認(rèn)證模式在這種認(rèn)證模式下,使用WindowsNT操作系統(tǒng)的安全機(jī)制驗(yàn)證用戶身份。當(dāng)用戶通過WindowsNT認(rèn)證并成功登錄后,用戶在連接SQLServer時,SQLServer直接接收用戶的連接請求。這種認(rèn)證模式只使用于WindowsNT平臺,運(yùn)行在Windows95/98操作系統(tǒng)下的SQLServer系統(tǒng)無此認(rèn)證模式;(2)WindowsNT認(rèn)證和SQLServer認(rèn)證混合模式在這種方式下,對于可信連接用戶的連接請求,系統(tǒng)將采用WindowsNT認(rèn)證模式,
6、而對于非可信連接用戶則采用SQLServer認(rèn)證模式。SQLServer模式認(rèn)證要求用戶提供登錄帳戶名稱和口令,當(dāng)?shù)卿泿艉涂诹钔ㄟ^認(rèn)證后,用戶應(yīng)用程序才可連接到SQLServer服務(wù)器,否則將拒絕用戶的連接請求。SQLServer對登錄標(biāo)識的認(rèn)證過程見圖1。圖1SQLServer對登錄標(biāo)識的認(rèn)證過程無論采用以上哪種認(rèn)證模式,在用戶連接到SQLServer之后,他們的操作是完全相同的。比較起來,WindowsNT認(rèn)證與SQLServer認(rèn)證各有優(yōu)劣:#WindowsNT認(rèn)證更為安全。因?yàn)閃indowsNT操作系統(tǒng)自身具有較高的安全性,其安全性能達(dá)到美國國防部定義的
7、C2級安全標(biāo)準(zhǔn)。它具有安全確認(rèn)、口令加密、審核、口令有效期保護(hù)、最短口令長度限制、非法登錄時的帳戶鎖定等功能。#SQLServer認(rèn)證管理較為簡單,它允許應(yīng)用程序的所有用戶使用同一個登錄標(biāo)識,而WindowsNT則需要為每個用戶創(chuàng)建用戶帳戶。為了便于用戶帳戶的集中管理,在WindowsNT平臺下,推薦使用WindowsNT認(rèn)證模式。3.2訪問許可確認(rèn)用戶登錄成功后,客戶端應(yīng)用程序即可通過網(wǎng)絡(luò)連接向SQLServer發(fā)送TransactSQL語句。但這些語句能否執(zhí)行,還取決于用戶是否具有數(shù)據(jù)庫的訪問許可。數(shù)據(jù)庫用戶的訪問許可由數(shù)據(jù)庫所有者或數(shù)據(jù)庫對象所有者授予(使用
8、GRANT