老系統(tǒng)還有10幾臺sqlserver數(shù)據(jù)庫,最近需要對這些sqlserver的權(quán)限方面做一些梳理,這里先簡單介紹下sqlserver角色與權(quán)限管理方面的內(nèi)容。
安全性是所有數(shù)據(jù)庫管理系統(tǒng)的一個(gè)重要特征。理解安全性問題是理解數(shù)據(jù)庫管理系統(tǒng)安全性機(jī)制的前提。
1、當(dāng)用戶登錄數(shù)據(jù)庫系統(tǒng)時(shí),如何確保只有合法的用戶才能登錄到系統(tǒng)中?
這是一個(gè)最基本的安全性問題,也是數(shù)據(jù)庫管理系統(tǒng)提供的基本功能。
在Microsoft SQL Server 2008系統(tǒng)中,通過身份驗(yàn)證模式和主體解決這個(gè)問題。
1)身份驗(yàn)證模式
Microsoft SQL Server 2008系統(tǒng)提供了兩種身份驗(yàn)證模式:Windows身份驗(yàn)證模式和混合模式。
Windows身份驗(yàn)證模式:
在該模式中,用戶通過Windows用戶賬戶連接SQL Server時(shí),使用Windows操作系統(tǒng)中的賬戶名和密碼。
混合模式:
在混合模式中,當(dāng)客戶端連接到服務(wù)器時(shí),既可能采取Windows身份驗(yàn)證,也可能采取SQL Server身份驗(yàn)證。
主體是可以請求系統(tǒng)資源的個(gè)體或組合過程。例如,數(shù)據(jù)庫用戶是一種主體,可以按照自己的權(quán)限在數(shù)據(jù)庫中執(zhí)行操作和使用相應(yīng)的數(shù)據(jù)。
2)主體
主體是可以請求系統(tǒng)資源的個(gè)體或組合過程。例如,數(shù)據(jù)庫用戶是一種主體,可以按照自己的權(quán)限在數(shù)據(jù)庫中執(zhí)行操作和使用相應(yīng)的數(shù)據(jù)。
Microsoft SQL Server 2008系統(tǒng)有多種不同的主體,不同主體之間的關(guān)系是典型的層次結(jié)構(gòu)關(guān)系,位于不同層次上的主體其在系統(tǒng)中影響的范圍也不同。位于層次比較高的主體,其作用范圍比較大;位于層次比較低的主體,其作用范圍比較小。
2、當(dāng)用戶登錄到系統(tǒng)中,可以執(zhí)行哪些操作、使用哪些對象和資源?
在Microsoft SQL Server 2008系統(tǒng)中,通過安全對象和權(quán)限設(shè)置來解決這個(gè)問題。
3、數(shù)據(jù)庫中的對象由誰所有?
如果是由用戶所有,那么當(dāng)用戶被刪除時(shí),其所擁有的對象怎么辦,難道數(shù)據(jù)庫對象可以成為沒有所有者的“孤兒”嗎?
在Microsoft SQL Server 2008系統(tǒng)中,這個(gè)問題是通過用戶和架構(gòu)分離來解決的。
客戶機(jī)安全機(jī)制
網(wǎng)絡(luò)傳輸?shù)陌踩珯C(jī)制
實(shí)例級別安全機(jī)制
數(shù)據(jù)庫級別安全機(jī)制
對象級別安全機(jī)制
1、固定服務(wù)器角色
固定服務(wù)器角色是服務(wù)器級別的主體,它們的作用范圍是整個(gè)服務(wù)器。固定服務(wù)器角色已經(jīng)具備了執(zhí)行指定操作的權(quán)限,可以把其他登錄名作為成員添加到固定服務(wù)器角色中,這樣該登錄名可以繼承固定服務(wù)器角色的權(quán)限。
下面按照從最低級別的角色(bulkadmin)到最高級別的角色(sysadmin)的順序進(jìn)行描述:
2、數(shù)據(jù)庫角色
這里主要包括三種類型的數(shù)據(jù)庫角色:
固定數(shù)據(jù)庫角色:微軟提供的作為系統(tǒng)一部分的角色;用戶定義的標(biāo)準(zhǔn)數(shù)據(jù)庫角色:你自己定義的角色,將Windows用戶以一組自定義的權(quán)限分組;應(yīng)用程序角色:用來授予應(yīng)用程序?qū)iT的權(quán)限,而非授予用戶組或者單獨(dú)用戶。
這里主要介紹幾個(gè)固定數(shù)據(jù)庫角色
1、常用的權(quán)限
2、操作權(quán)限
權(quán)限分為3種狀態(tài):授予、拒絕、撤銷,可以使用如下的語句來修改權(quán)限的狀態(tài)。
授予權(quán)限(GRANT):授予權(quán)限以執(zhí)行相關(guān)的操作。通過角色,所有該角色的成員繼承此權(quán)限。
撤銷權(quán)限(REVOKE):撤銷授予的權(quán)限,但不會顯示阻止用戶或角色執(zhí)行操作。用戶或角色仍然能繼承其他角色的GRANT權(quán)限。
拒絕權(quán)限(DENY):顯式拒絕執(zhí)行操作的權(quán)限,并阻止用戶或角色繼承權(quán)限,該語句優(yōu)先于其他授予的權(quán)限。