數(shù)據(jù)庫(kù)管理:SQL Server 2008安全性探討
Ruby 發(fā)表于:12年09月06日 11:18 [轉(zhuǎn)載] DOIT.com.cn
憑據(jù)
Microsoft SQL Server 2008提供了一個(gè)將SQL Server登錄名映射到外部Windows帳戶的功能。如果需要允許SQL Server登錄名與SQL Server本身范圍之外的資源交互,這個(gè)功能很有幫助。他們還可以與為EXTERNAL_ACCESS權(quán)限配置的程序集一起使用。憑據(jù)可以配置為一對(duì)一映射,也可以配置為多對(duì)一映射,允許多個(gè)SQL Server登錄名使用一個(gè)共享Windows帳戶進(jìn)行外部訪問(wèn)。在SQL Server 2008中,登錄名可以與多個(gè)憑據(jù)相關(guān)聯(lián)。
- --使用自己的服務(wù)器名稱替代AughtEight
- USE master CREATE CREDENTIAL StreetCred WITH IDENTITY='AughtEight\CarolStreet', SECRET='P@ssw0rd'; GO
- --把Carol的SQL Server登錄名和StrretCred平局相關(guān)聯(lián)
- ALTER LOGIN Carol WITH CREDENTIAL=StreetCred; GO;
服務(wù)器角色
Microsoft SQL Server 2008定義了8個(gè)可用于簡(jiǎn)化SQL 登錄名管理和委托管理的服務(wù)器級(jí)別角色。這些角色通常被稱為固定服務(wù)器角色,因?yàn)閷?duì)于這些角色,唯一能更改的只是成員資格。固定服務(wù)器角色可以基于角色的用途,為一個(gè)登錄名自動(dòng)支配一組通用權(quán)限。要向固定服務(wù)器角色添加一個(gè)登錄名,可使用sp_addsrvrolemember存儲(chǔ)過(guò)程。
- USE master CREATE LOGIN Ted WITH PASSWORD='P@ssw0rd'; GO
- EXEC sp_addsrvrolemember 'Ted','securityadmin'; GO
- USER master EXEC sp_dropsrvrolemember 'Ted','securityadmin'; GO
數(shù)據(jù)庫(kù)用戶
數(shù)據(jù)庫(kù)用戶是Microsoft SQL Server 2008采用的安全模型的另一個(gè)組成部分。用戶可直接或通過(guò)一個(gè)或多個(gè)數(shù)據(jù)庫(kù)角色中的成員關(guān)系訪問(wèn)安全的數(shù)據(jù)庫(kù)對(duì)象。用戶也可與表、視圖和存儲(chǔ)過(guò)程之類的對(duì)象的所有權(quán)相關(guān)聯(lián)。
在創(chuàng)建登錄名時(shí),除非它是擁有所有數(shù)據(jù)庫(kù)管理權(quán)限的固定服務(wù)器角色的一個(gè)成員,否則該登錄名在附加到服務(wù)器的各數(shù)據(jù)庫(kù)中沒(méi)有顯示權(quán)限。此時(shí),該登錄名和來(lái)賓數(shù)據(jù)庫(kù)用戶關(guān)聯(lián)在一起,并繼承該用戶帳戶的權(quán)限。在SQL Server Management Studio管理數(shù)據(jù)庫(kù)用戶時(shí),有幾個(gè)選項(xiàng)可供選擇。在常規(guī)屬性頁(yè)上,可以為用戶指定一個(gè)名稱,并將該用戶和一個(gè)現(xiàn)有的登錄名關(guān)聯(lián)起來(lái)。注意,用戶名和登錄名并不一定要匹配,但是為了方便管理,最好的做法是使用一致的命名約定,但這并不是強(qiáng)制要求。在常規(guī)頁(yè)上可以配置的其他選項(xiàng)包括用戶的默認(rèn)架構(gòu)、該用戶所擁有的架構(gòu)以及該用戶所屬的數(shù)據(jù)庫(kù)角色。
- USE tempdb; CREATE USER Carol; GO
- USE master; CREATE LOGIN [AughtEight\Bob] FROM WINDOWS;
- USE AdventureWorks2008;
- CREATE USER BillyBob FOR LOGIN [AughtEight\Bob] WITH DEFAULT_SCHEMA=sales;
- USER AdventureWorks2008; CREATE CERTIFICATE SalesCert
- ENCRYPTION BY PASSWORD='P@ssw0rd'
- WITH SUBJECT='Sales Schema Certificate',
- EXPIRY_DATE='12/31/2010'; GO
- CREATE USER SalesSecurity FOR CERTIFICATE SalesCert;
- USE AdventureWorks2008 ALTER USER SalesSecurity WITH NAME=SalesSchemaSecurity; GO
- USE AdventureWorks2008 ALTER USER BillyBob WITH DEFAULT_SCHEMA=Production; GO
- USE master CREATE LOGIN TempCarol WITH PASSWORD='MyPassword', CHECK_POLICY=OFF; GO
- USE tempdb ALTER USER Carol WITH Login=TempCarol; GO
- USE AdventureWorks2008 DROP USER BillyBob; GO
公司簡(jiǎn)介 | 媒體優(yōu)勢(shì) | 廣告服務(wù) | 客戶寄語(yǔ) | DOIT歷程 | 誠(chéng)聘英才 | 聯(lián)系我們 | 會(huì)員注冊(cè) | 訂閱中心
Copyright © 2013 DOIT Media, All rights Reserved. 北京楚科信息技術(shù)有限公司 版權(quán)所有.