Jak mogę sprawić, by mój połączony serwer działał przy użyciu uwierzytelniania systemu Windows?

20

Usiłuję uzyskać połączony serwer z serwerem A utworzonym na innym serwerze, ServerB przy użyciu „Wykonaj przy użyciu bieżącego kontekstu bezpieczeństwa logowania” w środowisku domeny. Przeczytałem, że muszę mieć nazwy SPN utworzone dla kont usług, które uruchamiają SQL Server na każdym z serwerów, aby włączyć Kerberos. Zrobiłem to i oba pokazują teraz schemat uwierzytelniania jako Kerberos, jednak nadal mam do czynienia z błędem:

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

W usłudze Active Directory widzę, że konto usługi dla ServerB jest zaufane w kwestii delegowania do MSSQLSvc, ale zauważyłem, że konto usługi dla ServerA nie ma jeszcze włączonej opcji „ufaj temu użytkownikowi w kwestii delegowania”. Czy serwer docelowy również musi mieć włączoną tę opcję? Czy jest coś jeszcze niezbędnego, aby móc korzystać z bieżącego loginu systemu Windows, aby korzystać z serwera połączonego?

Christopher Garcia
źródło

Odpowiedzi:

22

Każda maszyna w łańcuchu od pulpitu do serwera, do którego dzwonisz, musi mieć włączoną obsługę protokołu Kerberos, aby zaufanie mogło przekroczyć pierwszy skok. Tak, serwer musi ufać użytkownikowi w kwestii delegowania.

„Logowanie nie powiodło się dla użytkownika„ NT AUTHORITY \ ANONYMOUS LOGON ”prawie zawsze wskazuje na problem z delegowaniem.

  • Twoje konto Windows musi mieć dostęp zarówno do ServerA, jak i ServerB.
  • Nie możesz mieć ustawienia „Konto jest poufne i nie można go przekazać”.
  • Zarówno ServerA, jak i ServerB muszą mieć zarejestrowane własne nazwy SPN.
  • Serwery muszą być połączone TCP / IP lub nazwanymi potokami.

Artykuł dotyczący SQL Server Books Online, który zawiera więcej szczegółów, to „Konfigurowanie serwerów połączonych do delegowania”: http://msdn.microsoft.com/en-us/library/ms189580(v=sql.105).aspx

RLF
źródło
1
Przydatny blog MSDN do szczegółowych informacji o SPN i Kerberos
Jan Zahradník
Sprawdź także, czy używasz aliasu DNS dla dowolnego serwera, nazwa SPN musi być zgodna.
Greg
-1

Dwie rzeczy tutaj:

  1. Podczas korzystania z serwera połączonego bez mapowania lokalnego serwera logowania do serwera zdalnego, nie loguj się na komputerze zdalnym i używaj loginu Windows do uruchamiania skryptów. W grę wchodzi kwestia podwójnego przeskoku, ponieważ używa personifikacji.

  2. Konieczne będzie również ustawienie lokalnego kodu DTC za pośrednictwem DCOMCNFG w celu komunikacji. Zobacz załączone zdjęcie.

(DCOMCNFG -> Usługi składowe -> Komputery -> Mój komputer -> Koordynator transakcji rozproszonych -> LocalDTC -> Właściwości -> Bezpieczeństwo)

wprowadź opis zdjęcia tutaj

Tequila
źródło