SQL問題彙編(3)

來源:互聯網
上載者:User
問題 在SQL Server 7.0中,角色是一個新概念。使用資料庫角色有什麼意義呢?



我們新增了7個固定的伺服器角色和9個固定的資料庫角色。伺服器角色是分散系統管理員工作的一個辦法。在SQL
Server 6.5和更早的版本中,有一個叫做“sa”的帳號,這個帳號可以在資料庫伺服器上做任何事情。在那時,你可以有10個Windows
NT使用者被映射成“sa”,這意味著這10個使用者都可以在任何時間做任何事情,然而伺服器審計工具只會記錄成“sa”的操作。你沒有任何辦法來確認到底是誰做了什麼操作。



SQL Server 7.0改進了這一點。不是像以前那樣使“sa”具有所有的特權,許可權是通過角色成員來獲得的。我們還把系統管理員的特權劃分成了多個角色。例如,為了在SQL
Server 7.0中讓某人獲得系統管理員許可權,你只需要把他加入到“sysadmin”這個固定伺服器角色中即可。



還有其它角色,例如“dbcreator”是用來建立和更改資料庫的;“securityadmin”是用來增加新的登入或者重設預設資料庫的。“sa”登入仍然存在,是為了保持向後相容性。但該許可權是通過成為“sysadmin”角色中的成員來獲得的。伺服器的審計追蹤功能將根據你的Windows
NT或者SQL Server登入名稱來跟蹤所做的改變,而不管分配給該帳號的安全特權。



在單個資料庫這一層級上情況也非常相似。在以前版本中,人們會把自己化名為“dbo”來獲得對資料庫的所有許可權。現在使用者可以被分配成“db_owner”角色,同樣可以擁有對單個資料庫的完全控制許可權。而且,還有更具體的角色,比如“db_acessadmin”用來控制對資料庫的訪問,“db_securityadmin”用來給予其他使用者存取權限,“db_backupoperator”用於備份資料。我們還增加了使用者自訂的和應用程式角色,而且允許使用者可以同時成為多個資料庫角色的成員。



與Windows NT整合是使SQL Server 7.0安全性更易於實施還是使它更為強健呢?



兩者都是。你應該使用7.0版的整合安全的原因之一就是,6.5及更早版本的標準安全模式沒有提供一些最基本的功能。



關於安全方面的一個基本原則就是口令應該在一定的時間後到期。SQL
Server標準安全模式沒有這個功能。另外,它也不禁止為空白的口令,不要求口令必須長於一定數目的字元,也不提供任何其它進階口令管理功能。我們希望能夠利用Windows
NT,它已經包括所有這些功能。現在,當你鎖定使用Windows NT的口令政策時,你通過整合安全同時也鎖定了SQL
Server。從這個角度來說,它確實增強了安全性。


從使用的角度來說,增加整個域的使用者到SQL Server中去要比以前容易的多,而且該過程是動態。在SQL
Server 6.5中,如果你使用SQL Server的安全管理器來增加一組使用者,它將列舉在那個組中的所有使用者。假如該NT組中有人被新增或者被刪除,你必須重新執行以上的操作。而現在呢,舉個例子:假如你把“domain
user”組加入作為一個SQL Server登入,而“domain user”這個NT組中有使用者被刪除,你不需要在SQL
Server中做任何改動來防止該使用者獲得對SQL Server的存取權限。



相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。