Microsoft SQL Server-Anmeldung mit Active Directory-Anmeldeinformationen

13

Unsere Microsoft SQL Server werden auf Windows-Servern ausgeführt, die Teil einer Active Directory-Domäne sind.

Für eine einfache Benutzerverwaltung wird unsere SQL-Autorisierung mithilfe der Active Directory-Benutzergruppen eingerichtet, wie in diesem Beitrag erläutert .

Dies funktioniert nun einwandfrei, solange alle in der Domäne arbeiten. Die Benutzer melden sich mit ihren AD-Anmeldeinformationen bei ihrem Computer an und können mithilfe der "Windows-Authentifizierung" eine Verbindung zum SQL-Server herstellen.

Das Problem ist, dass unsere Benutzer auch auf anderen Clientcomputern arbeiten, die nicht Teil der Active Directory-Domäne sind (und dass das Hinzufügen zur Domäne keine Option ist).

Ich hatte gehofft, dass sie weiterhin ihre AD-Anmeldeinformationen verwenden können, um sich beim Server anzumelden, indem sie die AD-Authentifizierung verwenden, wie im SQL Server-Anmeldebildschirm angegeben.

SQL Server-Anmeldebildschirm

Dies scheint jedoch nicht zu funktionieren.

Wenn Sie sich mit der Acive Directory-Kennwortauthentifizierung anmelden, treten Zertifikatprobleme auf. Fehler: "Die Zertifikatskette wurde von einer nicht vertrauenswürdigen Stelle ausgestellt."

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)

Seltsamerweise, wenn ich zu den "Optionen" -Einstellungen im Anmeldefenster gehe und das Kästchen "Serverzertifikat vertrauen" ankreuze. Ich kann plötzlich KEINE Verbindung zum Server herstellen und erhalte einfach den Fehler.

Cannot connect to x.x.x.x.

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

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

Ist das Setup, das ich erreichen möchte, möglich? Und wenn ja, wie kann ich das erreichen? :)

Fazit: SQL Server werden in einer AD-Domäne ausgeführt. Benutzer verfügen über AD-Anmeldeinformationen, müssen sich jedoch auch von Clientcomputern anmelden können, die NICHT Teil der AD-Domäne sind, und über ihre AD-Anmeldeinformationen verfügen.

Gilles Lesire
quelle
Öffnen Sie C:\WINDOWS\system32\cliconfg.exeund überprüfen Sie, ob die Protokollverschlüsselung erzwungen ist. Wenn es deaktiviert ist
Drifter104
Nein, es ist nicht aktiviert.
Gilles Lesire
2
Interessantes Problem. Dies scheint gültig zu sein: runas /netonly /user:domain\username "c:\path\ssms.exe" mssqltips.com/sqlservertip/3250/…
Michal Sokolowski

Antworten:

10

Die Fehlermeldung lautet, dass die Zertifikate von einer nicht vertrauenswürdigen Stelle ausgestellt wurden. Das wäre höchstwahrscheinlich Ihre AD-Domain.

Ein paar Workarounds, die Sie vielleicht ausprobieren möchten:

  1. In diesem Beitrag auf dba.stackexchange.com wird vorgeschlagen , auf die Optionsschaltfläche in Ihrem Verbindungsfenster oben zu klicken und TrustServerCertificate=Trueunter Zusätzliche Verbindungsparameter hinzuzufügen . Dies sagt SSMS im Grunde, dass Sie es einfach tun müssen.
  2. Wenn das nicht funktioniert, schlägt dieser Beitrag auf dba.stackexchange.com vor, Runas zu verwenden, um Windows auszutricksen. runas /netonly /user:domain\username "C:\path_to\ssms.exe"Ich habe das zum Beispiel noch nie mit SSMS gemacht, aber es ist einen Versuch wert, da sich die OP in einer ähnlichen Situation wie Sie zu befinden scheint (und ich vertraue darauf, dass der Typ antwortet).

Wie auch immer, hoffentlich erledigt eine dieser Problemumgehungen den Trick für Sie.

Katherine Villyard
quelle
1
Die erste Lösung hat nicht funktioniert, sie wurde bereits in meiner Frage angesprochen. Die zweite Lösung scheint zu funktionieren, obwohl, wenn sie angemeldet ist, immer noch mein Windows-Name neben der Verbindung steht, einige Tests durchgeführt werden müssen, ob es sich tatsächlich um das Domänenkonto handelt und ob es ordnungsgemäß funktioniert, wie erhofft. Daumen drücken.
Gilles Lesire
Gibt es eine Möglichkeit, die Eingabeaufforderung zu umgehen, wenn die Runas funktionieren? Nicht alle unsere Benutzer sind technisch versiert.
Gilles Lesire
3
Vielleicht könnten Sie eine benutzerdefinierte Verknüpfung erstellen? Ich habe das gerade selbst getestet, indem ich runas /netonly /user:domain\username die Anfangszeichenfolge einer kopierten Verknüpfung hinzugefügt habe. Es funktionierte einwandfrei, obwohl auch eine Eingabeaufforderung angezeigt wurde, in der sie ihre Anmeldeinformationen eingeben konnten.
Katherine Villyard
Oder verwenden Sie Sysinternals ShellRunAs
noam
1

Am einfachsten ist es, mit der rechten Maustaste auf "Microsoft SQL Server Management Studio" zu klicken - "more" wählen Sie "Als anderer Benutzer ausführen". Es hat bei mir funktioniert. Ich dachte, wenn ich im Anmeldebildschirm "Active Directory - Passwort" wähle, würde das den gleichen Job machen, aber ... leider nicht.

Peter V
quelle