web-dev-qa-db-fra.com

Comment ajouter un groupe d'utilisateurs Active Directory en tant que connexion dans SQL Server

J'ai une application .net qui se connecte au serveur SQL en utilisant l'authentification Windows.

Nous ne pouvons pas utiliser l'authentification SQL Server dans l'application. Nous avons beaucoup d'utilisateurs Active Directory sur notre projet. Nous devons donc créer un compte de connexion distinct pour chaque utilisateur Active Directory dans SQL Server plutôt que créer un compte de connexion distinct pour chaque utilisateur AD. Existe-t-il un moyen d'utiliser le groupe d'utilisateurs Active Directory dans SQL Server?

99
Jibu P C_Adoor

Dans SQL Server Management Studio, accédez à Object Explorer > (your server) > Security > Logins, puis cliquez avec le bouton droit de la souris sur New Login:

enter image description here

Puis, dans la boîte de dialogue qui s’ouvre, choisissez les types d’objets que vous souhaitez voir (Groups est désactivé par défaut - cochez-le!) Et choisissez l’emplacement où vous souhaitez rechercher vos objets (par exemple, utilisez Entire Directory), puis trouvez votre groupe AD.

enter image description here

Vous avez maintenant une connexion SQL Server normale, comme lorsque vous en créez une pour un utilisateur AD unique. Donnez à cette nouvelle connexion les autorisations sur les bases de données dont elle a besoin, et c'est parti!

Tout membre de ce groupe AD peut maintenant se connecter à SQL Server et utiliser votre base de données.

147
marc_s

Vous pouvez utiliser T-SQL:

use master
GO
CREATE LOGIN [NT AUTHORITY\LOCALSERVICE] FROM WINDOWS WITH
DEFAULT_DATABASE=yourDbName
GO
CREATE LOGIN [NT AUTHORITY\NETWORKSERVICE] FROM WINDOWS WITH
DEFAULT_DATABASE=yourDbName

J'utilise ceci dans le cadre d'une restauration d'un serveur de production vers une machine d'essai:

USE master
GO
ALTER DATABASE yourDbName SET OFFLINE WITH ROLLBACK IMMEDIATE
RESTORE DATABASE yourDbName FROM DISK = 'd:\DropBox\backup\myDB.bak'
ALTER DATABASE yourDbName SET ONLINE
GO
CREATE LOGIN [NT AUTHORITY\LOCALSERVICE] FROM WINDOWS WITH
DEFAULT_DATABASE=yourDbName
GO
CREATE LOGIN [NT AUTHORITY\NETWORKSERVICE] FROM WINDOWS WITH
DEFAULT_DATABASE=yourDbName
GO

Vous devrez utiliser le nom localisé des services dans le cas de Windows allemand ou français, voir Comment créer une connexion SQL Server pour un compte de service sur un Windows non anglais?

21
Tomas Kubes