Je souhaite utiliser la sécurité intégrée avec mon application interne, qui est entièrement sur un domaine. Malheureusement, je n'ai jamais réussi à faire en sorte que cela fonctionne bien. J'aimerais attribuer à un groupe Exchange (Active Directory) entier un rôle dans SQL Server pour un accès en lecture / écriture à certaines tables. De cette façon, je n'aurais pas à créer d'opérateur chaque fois qu'une personne est embauchée ni à supprimer un opérateur chaque fois qu'une personne est renvoyée. Est-ce possible? Quelles mesures prendrais-je pour le faire?
sql-server
sql-server-2008
security
role
active-directory
Michael Hedgpeth
la source
la source
L'attribution d'autorisations dans SQL Server à un groupe AD est relativement simple. Cela peut être fait via T-SQL ou Management Studio.
Par exemple, si vous avez un groupe AD appelé
MYDOMAIN\APPLICATION SUPPORT
, vous devez créer une connexion au niveau du serveur, puis utiliser des mappages sur des bases de données individuelles pour donner des autorisations légèrement plus granulaires telles que le lecteur de données.Idéalement, tous les accès aux applications doivent se faire par le biais de procédures stockées *. Par conséquent, seules les autorisations d'exécution sur les procédures stockées de cette base de données sont requises.
* Du point de vue de la sécurité, pour permettre à un utilisateur particulier de voir des données spécifiques, vous pouvez créer une procédure et lui accorder l’ autorisation d’ exécution , et rien d’autre. Permettre à l'utilisateur d'interroger directement signifie donner l' autorisation de sélectionner sur toutes les tables impliquées. Il est également plus facile de travailler avec des procédures et de déboguer.
Les procédures abstraites des procédures stockées accèdent à distance et limitent l’accès. Pour les types DBA, c'est comme "laissez-moi voir toutes vos variables d'instance: je ne veux pas utiliser de méthodes, de getters ou de setters".
la source
De la réponse de marc_s "Comment ajouter un groupe d'utilisateurs Active Directory en tant que connexion dans SQL Server" :
Dans SQL Server Management Studio, allez à
Object Explorer > (your server) > Security > Logins
et cliquez-droitNew Login
:Puis, dans la boîte de dialogue qui s’ouvre, choisissez les types d’objets que vous souhaitez voir (
Groups
désactivé par défaut - cochez-le!), Choisissez l’emplacement où vous souhaitez rechercher vos objets (par exemple, utilisationEntire Directory
), puis recherchez votre groupe AD. .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.
la source
Si l'utilisateur est membre d'un groupe DOMAIN \ SecurityGroup disposant de l'autorité Sysadmin en SQL, il sera utilisé lors de l'accès à des bases de données. Sinon, vous devez rechercher le (s) domaine (s) DOMAIN \ SecurityGroup (s) attribué (s) à une autorité dans chaque base de données. Si l'utilisateur est membre de 2 SecurityGroups, avec SecGroupA ayant une autorité de sélection et SecGroupB ayant une autorité d'insertion, l'utilisateur peut alors sélectionner et insérer.
la source