透過 Active Directory 群組管理 SQL Server 用戶

透過 Active Directory 群組管理 SQL Server 用戶

我正在建立 SQL Server 實例用於報告目的。我的計劃是使用 AD 群組進行伺服器和資料庫登入。我有幾個具有不同角色的群組(管理員、開發人員、使用者等),我想將這些角色對應到 SQL Server 資料庫角色(db_owner、db_datawriter 等)。使用AD組登入有什麼優點和缺點?您注意到了哪些問題?

答案1

除了首先必須管理 AD 的開銷之外,我認為沒有任何缺點。使用 SQL Server 的 Windows 登入憑證,特別是以您談論的有組織的角色群組的方式,無疑是 Microsoft 的最佳實務建議。如果他們願意的話,他們會完全取消 SQL Server 驗證選項。

附錄:

如果您使用的是 SQL 2005 或更高版本,請使用預設架構選項(不要認為有 GUI 選項),方法是:

ALTER USER userName  
     WITH <set_item> [ ,...n ]

<set_item> ::= 
     NAME = newUserName 
     | DEFAULT_SCHEMA = schemaName
     | LOGIN = loginName

IE:

ALTER USER DOMAIN\UserName DEFAULT_SCHEMA = dbo;
GO

答案2

Active Directory 群組的管理也可以委託給非 Active Directory 管理員,這可能是比應用程式內管理工具更方便的功能。

答案3

我遇到的最大的騙局是第三方應用程式不支援 AD 身份驗證並堅持使用 SQL 身份驗證,通常使用 admin/admin 等創意登入;除此之外,唯一的另一個問題是您在 SQL Server 上無法完全了解誰有權訪問資料庫,您只能看到群組,或者在用戶處於活動狀態時看到用戶,或者他們是否擁有物件。但是,只要您的 DBA 能夠存取 Active Directory(如果他需要使用者級資訊),那麼這就是一個非常小的問題。

相關內容