Come posso far funzionare il mio server collegato usando l'autenticazione di Windows?


20

Sto cercando di creare un server collegato a ServerA creato su un altro server, ServerB utilizzando "Essere creato utilizzando l'attuale contesto di sicurezza dell'account di accesso" in un ambiente di dominio. Ho letto che avrei bisogno di avere SPN creati per gli account di servizio che eseguono SQL Server su ciascuno dei server per abilitare Kerberos. L'ho fatto ed entrambi ora mostrano che lo schema di autenticazione è Kerberos, tuttavia, sto ancora affrontando l'errore:

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

In Active Directory, posso vedere che l'account di servizio per ServerB è considerato attendibile per la delega a MSSQLSvc, ma ho notato che l'account di servizio per ServerA non ha ancora abilitato "questo utente per la delega". Anche il server di destinazione deve avere questa opzione abilitata? È necessario qualcos'altro per poter utilizzare l'attuale login di Windows per utilizzare un server collegato?

Risposte:


22

Ogni macchina nella catena dal desktop al server che stai chiamando deve essere abilitata Kerberos affinché la fiducia passi oltre il primo hop. Quindi, sì, il server deve fidarsi dell'utente per la delega.

"Accesso non riuscito per l'utente 'NT AUTHORITY \ ANONYMOUS LOGON'" indica quasi sempre un problema di delega.

  • Il tuo account di Windows deve avere accesso sia a ServerA che a ServerB.
  • Non devi avere l'impostazione "L'account è sensibile e non può essere delegato".
  • Sia ServerA che ServerB devono avere il proprio SPN registrato.
  • I server devono essere TCP / IP o named pipe collegati.

L'articolo della documentazione in linea di SQL Server che offre ulteriori dettagli è "Configurazione dei server collegati per la delega": http://msdn.microsoft.com/en-us/library/ms189580(v=sql.105).aspx


1
Utile MSDN Blog di dettagli su SPN e Kerberos
Jan Zahradník

Controlla anche se stai usando un alias DNS per entrambi i server, l'SPN deve corrispondere.
Greg,

-1

Due cose qui:

  1. Quando si utilizza un server collegato senza mappare l'accesso del server locale al server remoto, non accedere a un computer remoto e utilizzare un accesso di Windows per eseguire gli script. Il problema del doppio hop entra in gioco poiché utilizza la rappresentazione.

  2. Inoltre, sarà necessario impostare il DTC locale tramite DCOMCNFG per la comunicazione. Vedi foto allegata.

(DCOMCNFG -> Servizi componenti -> Computer -> Risorse del computer -> Coordinatore delle transazioni distribuite -> LocalDTC -> Proprietà -> Sicurezza)

inserisci qui la descrizione dell'immagine

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.