web-dev-qa-db-fra.com

Connexion à Microsoft SQL Server à l'aide des informations d'identification Active Directory

Nos serveurs Microsoft SQL fonctionnent sur des serveurs Windows qui font partie d'un domaine Active Directory.

Pour une gestion facile des utilisateurs, notre autorisation SQL est configurée en utilisant les groupes d'utilisateurs Active Directory comme expliqué dans ce post .

Maintenant, cela fonctionne bien tant que tout le monde travaille à l'intérieur du domaine. Les utilisateurs se connectent à leur ordinateur à l'aide de leurs informations d'identification AD et peuvent se connecter au serveur SQL à l'aide de "l'authentification Windows".

Le problème est que nos utilisateurs travailleront également sur d'autres ordinateurs clients qui ne font pas partie du domaine Active Directory (et les ajouter au domaine n'est pas une option).

J'espérais qu'ils pourraient simplement continuer à utiliser leurs informations d'identification AD pour se connecter au serveur en utilisant l'authentification AD comme mentionné dans l'écran de connexion SQL Server.

SQL Server Login Screen

Cependant, cela ne semble pas fonctionner.

La connexion avec l'authentification par mot de passe du répertoire actif crée des problèmes de certificat. Erreur: "La chaîne de certificats a été émise par une autorité qui n'est pas approuvée."

Cannot connect to x.x.x.x.

===================================

A connection was successfully established with the server, but then an error occurred during the login process. (provider: SSL Provider, error: 0 - The certificate chain was issued by an authority that is not trusted.) (.Net SqlClient Data Provider)

------------------------------
For help, click: http://go.Microsoft.com/fwlink?ProdName=Microsoft%20SQL%20Server&EvtSrc=MSSQLServer&EvtID=-2146893019&LinkId=20476 (page does not exist)

Curieusement, si je vais dans les paramètres "options" de la fenêtre de connexion et que je coche la case "certificat de serveur de confiance". Je ne peux soudainement pas me connecter au serveur et j'obtiens simplement l'erreur.

Cannot connect to x.x.x.x.

===================================

Login failed for user ''. (.Net SqlClient Data Provider)

La configuration que je souhaite réaliser est-elle possible? Et si oui, comment y parvenir? :)

Récapitulation: Les serveurs SQL s'exécutent dans le domaine AD, les utilisateurs ont des informations d'identification AD mais doivent également pouvoir se connecter à partir d'ordinateurs clients NE faisant PAS partie du domaine AD avec leurs informations d'identification AD.

14
Gilles Lesire

Le message d'erreur est que les certificats ont été émis par une autorité non approuvée. Ce serait votre domaine AD, très probablement.

Quelques solutions de contournement que vous voudrez peut-être essayer:

  1. Cet article dba.stackexchange.com suggère de cliquer sur le bouton d'options dans la fenêtre de connexion ci-dessus et d'ajouter TrustServerCertificate=True sous Paramètres de connexion supplémentaires. C'est essentiellement dire à SSMS que oui, vous savez, faites-le.
  2. Si cela ne fonctionne pas, ce post dba.stackexchange.com suggère d'utiliser des runas pour tromper Windows. Par exemple, runas /netonly /user:domain\username "C:\path_to\ssms.exe" Je n'ai jamais fait ça avec SSMS mais ça vaut la peine d'essayer, car l'OP semble être dans une situation similaire à vous (et je fais confiance au gars qui répond).

Quoi qu'il en soit, j'espère que l'une de ces solutions de contournement fera l'affaire pour vous.

11
Katherine Villyard

Le moyen le plus simple consiste simplement à cliquer avec le bouton droit sur "Microsoft SQL Server Management Studio" - "plus", sélectionnez "Exécuter en tant qu'utilisateur différent". Ça a marché pour moi. Je pensais que si je sélectionnais "Active Directory - Mot de passe" dans l'écran de connexion, cela ferait le même travail mais ... malheureusement ce n'est pas le cas.

1
Peter V