Puncte:0

Kerberos - configurați delegarea constrânsă folosind conturile virtuale ale SQL Server

drapel cn
AnJ

Încerc să configurez delegația restricționată Kerberos pentru a rezolva problema mea dublu hop problemă.


Folosesc configurația standard SQL Server cu contul virtual (NT SERVICE\MSSQLSERVER) ca cont de serviciu pentru toate cazurile mele.

Când încerc să efectuez o interogare dublu hop prin Linked Server, primesc această eroare tipică:

Conectarea nu a reușit pentru utilizatorul „NT AUTHORITY\ANONYMOUS LOON”

Configurația arată astfel:

Computer utilizator > HOP > SQL Server A > HOP (Server conectat) > SQL Server B

Și întrebarea mea este de bază Selectați doar pentru testare. Ca aceasta:

Selectați * Din [Server B].[DB].[Scheme].[Tabel]

Folosind Manager de configurare Kerberos pentru SQL Server Am verificat SPN-urile și setările de delegare pentru serverele mele.

SPN-urile sunt configurate automat: introduceți descrierea imaginii aici

Și delegarea este setată Nici unul: introduceți descrierea imaginii aici

De asemenea, am verificat ce tip de autentificare folosește SQL Server. Pentru a verifica acest lucru, am rulat această interogare pe Server A (de la Acest articol):

SELECTAȚI schemă_autentificare FROM sys.dm_exec_connections WHERE session_id = @@spid ;

Și am primit NTLM ca răspuns.


Conform acestor rezultate, se pare că îmi lipsesc setările de delegare. Dar întrebarea mea este cum ar trebui să procedez?

Am citit nenumărate articole și am postat și încă nu îmi dau seama. Se pare că ar trebui să fie posibil să utilizați doar contul virtual implicit pentru asta. Dar fiecare tutorial pe care l-am găsit vorbește fie despre Conturi de domeniu, fie despre Conturi de servicii gestionate. În astfel de cazuri avem aceste conturi prezente în Active Directory, dar cum rămâne cu conturile virtuale implicite? Aceste conturi sunt locale - cum le acord permisiuni de delegare?

Ar trebui să acord permisiunea de delegare pe mașină? Dar cum?

Am încercat să fac asta. Am trecut la Active Directory, mi-am deschis obiectul computer Server A și am făcut asta:

introduceți descrierea imaginii aici

Deci ar trebui să permită serverului A să delege către serverul B. Dar tot nu funcționează. Și Kerberos Configuration Manager încă arată Nici unul ca tip de delegare.

Folosesc Windows Server 2019 și SQL Server 2019.


@EDITAȚI | ×

Am încercat să folosesc o setare diferită. În loc de „Numai Kerberos” am selectat „Folosiți orice protocol de autentificare” si dupa vreo 10 minute a inceput sa functioneze!.

Totul are sens acum, deoarece conexiunea SSMS a fost încă terminată NTLM setările „Numai Kerberos” nu ar funcționa.

Dar întrebarea este de ce se mai folosește NTLM? Este rău și ar trebui să încerc să-l schimb? Dacă da - cum?

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.