直播中
我們新增了7個固定的服務(wù)器角色和9個固定的數(shù)據(jù)庫角色。服務(wù)器角色是分散系統(tǒng)管理員工作的一個辦法。在SQL
Server 6.5和更早的版本中,有一個叫做“sa”的帳號,這個帳號可以在數(shù)據(jù)庫服務(wù)器上做任何事情。在那時,你可以有10個Windows
NT用戶被映射成“sa”,這意味著這10個用戶都可以在任何時間做任何事情,然而服務(wù)器審計工具只會記錄成“sa”的操作。你沒有任何辦法來確認到底是誰做了什么操作。
SQL Server 7.0改進了這一點。不是像以前那樣使“sa”具有所有的特權(quán),權(quán)限是通過角色成員來獲得的。我們還把系統(tǒng)管理員的特權(quán)劃分成了多個角色。例如,為了在SQL
Server 7.0中讓某人獲得系統(tǒng)管理員權(quán)限,你只需要把他加入到“sysadmin”這個固定服務(wù)器角色中即可。
還有其它角色,例如“dbcreator”是用來創(chuàng)建和更改數(shù)據(jù)庫的;“securityadmin”是用來增加新的登錄或者重置缺省數(shù)據(jù)庫的?!皊a”登錄仍然存在,是為了保持向后兼容性。但該權(quán)限是通過成為“sysadmin”角色中的成員來獲得的。服務(wù)器的審計追蹤功能將根據(jù)你的Windows
NT或者SQL Server登錄名來跟蹤所做的改變,而不管分配給該帳號的安全特權(quán)。
在單個數(shù)據(jù)庫這一級別上情況也非常相似。在以前版本中,人們會把自己化名為“dbo”來獲得對數(shù)據(jù)庫的所有權(quán)限?,F(xiàn)在用戶可以被分配成“db_owner”角色,同樣可以擁有對單個數(shù)據(jù)庫的完全控制權(quán)限。而且,還有更具體的角色,比如“db_acessadmin”用來控制對數(shù)據(jù)庫的訪問,“db_securityadmin”用來給予其他用戶訪問權(quán)限,“db_backupoperator”用于備份數(shù)據(jù)。我們還增加了用戶自定義的和應(yīng)用程序角色,而且允許用戶可以同時成為多個數(shù)據(jù)庫角色的成員。
與Windows NT集成是使SQL Server 7.0安全性更易于實施還是使它更為強健呢?
兩者都是。你應(yīng)該使用7.0版的集成安全的原因之一就是,6.5及更早版本的標準安全模式?jīng)]有提供一些最基本的功能。
關(guān)于安全方面的一個基本原則就是口令應(yīng)該在一定的時間后過期。SQL
Server標準安全模式?jīng)]有這個功能。另外,它也不禁止為空的口令,不要求口令必須長于一定數(shù)目的字符,也不提供任何其它高級口令管理功能。我們希望能夠利用Windows
NT,它已經(jīng)包括所有這些功能。現(xiàn)在,當你鎖定使用Windows NT的口令政策時,你通過集成安全同時也鎖定了SQL
Server。從這個角度來說,它確實增強了安全性。
從使用的角度來說,增加整個域的用戶到SQL Server中去要比以前容易的多,而且該過程是動態(tài)的。在SQL
Server 6.5中,如果你使用SQL Server的安全管理器來增加一組用戶,它將列舉在那個組中的所有用戶。假如該NT組中有人被新增或者被刪除,你必須重新執(zhí)行以上的操作。而現(xiàn)在呢,舉個例子:假如你把“domain
user”組加入作為一個SQL Server登錄,而“domain user”這個NT組中有用戶被刪除,你不需要在SQL
Server中做任何改動來防止該用戶獲得對SQL Server的訪問權(quán)限。