Sql-Server
如何在 SQL Server 2008 中分配整個 Active Directory 組安全訪問權限?
我想將集成安全性與我的內部應用程序一起使用,這些應用程序都在一個域上。不幸的是,我一直無法讓它正常工作。我想在 SQL Server 中為整個 Exchange(Active Directory)組分配一個角色,以便對某些表進行讀/寫訪問。這樣我就不必在有人被雇用時創建操作員,也不必在有人被解僱時刪除操作員。這可能嗎?我會採取什麼步驟來做到這一點?
- 將 AD 組設置為登錄。而“登錄”是指伺服器級別的登錄,而不是使用者/登錄的 AD 概念。在 SQL Server 中,這是一個伺服器級別的主體
- 在其中創建映射使用者。您不應該直接在表上授予使用者權限。而“使用者”是指數據庫使用者而不是使用者的AD概念:在SQL Server中,這是一個“數據庫級主體”
- 將使用者添加到角色(也是“數據庫級主體”)
- 授予表上角色的權限(表或過程等是“安全的”)
範例腳本
USE master; GO CREATE LOGIN [MYDOMAIN\APPLICATION SUPPORT] FROM WINDOWS; GO USE mydb; GO CREATE USER [MYDOMAIN\APPLICATION SUPPORT] FROM LOGIN [MYDOMAIN\APPLICATION SUPPORT]; GO CREATE ROLE rSupport; GO EXEC sp_addrolemember 'rSupport', 'MYDOMAIN\APPLICATION SUPPORT'; GO GRANT SELECT, INSERT,UPDATE, etc ON Mytable TO rSupport; GO
sp_addrolemember
從 SQL Server 2012 開始不推薦使用,ALTER ROLE
應改為使用 where。