Wie kann ich meinen Verbindungsserver mithilfe der Windows-Authentifizierung zum Laufen bringen?

20

Ich versuche, einen Verbindungsserver mit ServerA zu erstellen, der auf einem anderen Server erstellt wurde. ServerB verwendet in einer Domänenumgebung "Mit dem aktuellen Sicherheitskontext des Logins erstellt werden". Ich habe gelesen, dass SPNs für die Dienstkonten erstellt werden müssen, auf denen SQL Server auf jedem Server ausgeführt wird, um Kerberos zu aktivieren. Ich habe das getan und beide zeigen nun, dass das Authentifizierungsschema Kerberos ist, aber ich stehe immer noch vor dem Fehler:

"Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'".

In Active Directory wird angezeigt, dass das Dienstkonto für ServerB für die Delegierung an MSSQLSvc als vertrauenswürdig eingestuft ist. Ich habe jedoch festgestellt, dass für das Dienstkonto für ServerA die Option "Diesem Benutzer für die Delegierung vertrauen" noch nicht aktiviert ist. Muss auf dem Zielserver diese Option auch aktiviert sein? Ist noch etwas erforderlich, um die aktuelle Windows-Anmeldung für die Verwendung eines Verbindungsservers zu verwenden?

Christopher Garcia
quelle

Antworten:

22

Jeder Computer in der Kette von Ihrem Desktop zu dem Server, den Sie anrufen, muss Kerberos-fähig sein, damit die Vertrauensstellung über den ersten Hop hinausgeht. Ja, der Server muss dem Benutzer für die Delegierung vertrauen.

Die Meldung "Anmeldung für Benutzer 'NT AUTHORITY \ ANONYMOUS LOGON' fehlgeschlagen" weist fast immer auf ein Delegierungsproblem hin.

  • Ihr Windows-Konto muss Zugriff auf ServerA und ServerB haben.
  • Sie dürfen nicht die Einstellung "Konto ist vertraulich und kann nicht delegiert werden" haben.
  • Sowohl ServerA als auch ServerB müssen einen eigenen SPN registriert haben.
  • Die Server müssen mit TCP / IP oder Named Pipes verbunden sein.

Weitere Informationen finden Sie in der SQL Server-Onlinedokumentation unter "Konfigurieren von Verbindungsservern für die Delegierung": http://msdn.microsoft.com/en-us/library/ms189580(v=sql.105).aspx

RLF
quelle
1
Nützlicher MSDN-Blog mit Details zu SPN und Kerberos
Jan Zahradník
Überprüfen Sie auch, ob Sie einen DNS-Alias ​​für einen der Server verwenden. Die SPNs müssen übereinstimmen.
Greg
-1

Zwei Dinge hier:

  1. Wenn Sie einen Verbindungsserver verwenden, ohne die lokale Serveranmeldung auf dem Remoteserver zuzuordnen, melden Sie sich nicht auf einem Remotecomputer an und verwenden Sie eine Windows-Anmeldung, um Skripts auszuführen. Das Double-Hop-Problem kommt ins Spiel, da es Identitätswechsel verwendet.

  2. Außerdem müssen Sie den lokalen DTC über DCOMCNFG für die Kommunikation einrichten. Siehe beigefügtes Bild.

(DCOMCNFG -> Komponentendienste -> Computer -> Arbeitsplatz -> Koordinator für verteilte Transaktionen -> LocalDTC -> Eigenschaften -> Sicherheit)

Bildbeschreibung hier eingeben

Tequila
quelle