Bagaimana saya bisa membuat server saya yang terhubung berfungsi menggunakan otentikasi Windows?

20

Saya mencoba untuk mendapatkan server yang ditautkan ke ServerA dibuat di server lain, ServerB menggunakan "Dibuat menggunakan konteks keamanan saat ini login" di lingkungan domain. Saya membaca bahwa saya perlu memiliki SPN yang dibuat untuk akun layanan yang menjalankan SQL Server di masing-masing server untuk mengaktifkan Kerberos. Saya telah melakukan itu dan keduanya sekarang menunjukkan skema otentikasi menjadi Kerberos, namun, saya masih menghadapi kesalahan:

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

Di Active Directory, saya dapat melihat bahwa akun layanan untuk ServerB dipercaya untuk didelegasikan ke MSSQLSvc, tapi saya perhatikan bahwa akun layanan untuk ServerA belum diaktifkan "percaya pengguna ini untuk delegasi" diaktifkan. Apakah server target juga perlu mengaktifkan opsi itu? Apakah hal lain yang diperlukan untuk dapat menggunakan login Windows saat ini untuk menggunakan server yang ditautkan?

Christopher Garcia
sumber

Jawaban:

22

Setiap mesin dalam rantai dari desktop Anda ke server yang Anda panggil harus diaktifkan Kerberos untuk kepercayaan untuk maju melewati hop pertama. Jadi, ya server perlu memercayai pengguna untuk didelegasikan.

"Login gagal untuk pengguna 'NT AUTHORITY \ ANONYMOUS LOGON'" hampir selalu menunjukkan masalah delegasi.

  • Akun Windows Anda harus memiliki akses ke ServerA dan ServerB.
  • Anda tidak boleh memiliki pengaturan "Akun sensitif dan tidak dapat didelegasikan."
  • ServerA dan ServerB harus memiliki SPN sendiri yang terdaftar.
  • Server harus TCP / IP atau pipa bernama terhubung.

Artikel SQL Server Books Online yang menawarkan beberapa detail lebih lanjut adalah "Mengonfigurasi Server Tertaut untuk Delegasi": http://msdn.microsoft.com/en-us/library/ms189580(v=sql.105).aspx

RLF
sumber
1
Berguna MSDN Blog untuk rincian tentang SPN dan Kerberos
Jan Zahradník
Periksa juga apakah Anda menggunakan alias DNS untuk server mana pun, kebutuhan SPN untuk mencocokkan.
Greg
-1

Dua hal di sini:

  1. Saat menggunakan server yang ditautkan tanpa memetakan login server lokal ke server jarak jauh, jangan login ke mesin jarak jauh dan menggunakan login Windows untuk menjalankan skrip. Masalah double hop mulai berlaku karena menggunakan peniruan.

  2. Anda juga perlu mengatur DTC lokal melalui DCOMCNFG untuk komunikasi. Lihat gambar terlampir.

(DCOMCNFG -> Layanan Komponen -> Komputer -> Komputer Saya -> Koordinator Transaksi Terdistribusi -> LocalDTC -> Properti -> Keamanan)

masukkan deskripsi gambar di sini

Tequila
sumber