Tetapkan nama host DNS untuk akun layanan terkelola?

14

The dokumentasi berisi contoh:

New-ADServiceAccount service1 -DNSHostName service1.contoso.com -Enabled $true

Parameter ini diperlukan. Apa sebenarnya tujuan dari DNSHostNamedan bagaimana saya harus memutuskan untuk mengaturnya?

Jason Kresowaty
sumber

Jawaban:

7

Setelah bekerja sebentar dengan akun ini, saya pikir saya menemukan alasannya:

Mereka adalah beberapa bagian, atau mungkin turunan dari akun tipe mesin. Karena itu mereka mewarisi properti ini dari mereka, dan karena itu diperlukan untuk jenis mesin, itu juga diperlukan untuk gMSA.

Anda dapat memeriksa bahwa kedua tipe tersebut sangat cocok dengan set atributnya. Juga di semua dokumentasi TechNet, mereka hanya memberikan nilai unik yang sederhana untuk atribut ini , seperti halnya akun mesin memilikinya.gmsa-name.contoso.com

Tidak yakin mengapa mereka tidak melakukan autogenerasi, dan menghindarkan kami dari pertanyaan dan pengetikan.

Stoinov
sumber
Ada implikasi penting bagi SPN, seperti dijelaskan oleh jawaban ini
alifen
4

DNSHostName harus menjadi nama layanan Anda. Dalam kasus A Cluster ini akan menjadi nama instance Virtual Anda.

DNSHostName terkait dengan Pendaftaran Otomatis akun SPN. Dalam Active Directory Computers & GMSA memiliki Izin "Izinkan validasi tulis ke ServicePrincipalName". Ini berarti bahwa komputer hanya dapat mendaftarkan SPN yang berisi nama itu sendiri. Contoh: Komputer Bernama Webserver1 (DNS: Webserver1.mydomain.net) dapat mendaftar secara otomatis http: /Webserver1.mydomain.net: 443 tetapi tidak dapat mendaftar http: /Webserver55.mydomain.net: 443

Jadi, DNSHostName dari GMSA Seharusnya mencerminkan SPN apa yang ingin Anda daftarkan untuk layanan.

Pada kluster SQL, Anda akan memiliki 2 host: Host1 dan host2. ClusterName: Clu1 dan Virtual SQL Instance: SQL1 Jika Anda ingin menggunakan GMSA untuk menjalankan layanan SQL1, Anda akan membuatnya seperti ini.

$comp1 = get-adcomputer Host1

$comp2 = get-adcomputer Host2

New-ADServiceAccount -Name gmsa01 -DNSHostName sql1.mydomain.net -PrincipalsAllowedToRetrieveManagedPassword $comp1, $comp2 (Anda juga dapat menggunakan grup alih-alih memberikan hak kepada host secara langsung).

Setiap kali layanan SQL dimulai, ia akan secara otomatis mendaftarkan 2 SPN: MSSQLSvc / sql1.mydomain.net MSSQLSvc / sql1.mydomain.net: 1433

Jika Anda memasukkan sesuatu yang lain di DNSHostName (misalnya gmsa01.mydomain.net), Layanan masih akan mulai, tetapi akan gagal untuk mendaftarkan SPN (dan kembali ke otentikasi NTLM).

Jika Anda tidak peduli dengan Otentikasi Kerberos (dan SPN) atau Jika Anda setuju dengan Mendaftarkan SPN secara manual untuk layanan Anda, Anda dapat memasukkan apa pun yang Anda inginkan di DNSHostName. GMSA akan tetap berfungsi.

Saya tidak akan merekomendasikan menempatkan DomainController Anda di DNSName seperti yang disebutkan sebelumnya (kecuali jika Anda berencana menggunakan GMSA untuk menjalankan layanan pada pengontrol domain).

KNJ
sumber
3

Saya bukan ahli dalam hal ini. Namun, ada kelangkaan informasi tentang topik ini, saya pikir layak memposting apa yang saya tahu

Pelatih dari kursus 70-411 saya mengambil menggunakan FQDN pengontrol domain sebagai nilai untuk DNSHostNameparameter ketika ia menunjukkan New-ADServiceAccountcmdlet. Seperti yang saya pahami, DNSHostNamehanya beri tahu cmdlet pengontrol domain tempat membuat akun. Saya tidak berpikir itu penting DC mana yang Anda gunakan, gMSA itu tampaknya segera direplikasi. Saya telah menunjuk DNSHostNameke salah satu DC saya dan tampaknya berfungsi sejauh ini.

Saya lebih suka ada beberapa dokumentasi konkret tentang ini. The berlaku referensi perintah TechNet hanya tautologis omong kosong untuk DNSHostNameparameter.

alx9r
sumber
3

Ketika Anda menambahkan parameter -RestrictToSingleComputer itu tidak diperlukan lagi. Tentu saja Anda harus membaca tentang opsi itu sebelum menggunakannya.

Suka:

New-ADServiceAccount service1 -Enabled $true -RestrictToSingleComputer
Bart van Kleef
sumber
1
Itu menjadikannya akun MSA biasa, bukan gMSA
Brain2000
1

Saya mencari jawaban untuk waktu yang sangat lama dan akhirnya menemukan jawaban yang menurut saya benar.

-DNSHostName harus menjadi FQDN dari DC yang menyimpan kunci Master KDS - msKds-ProvRootKey.

Kemungkinan besar Anda sudah membuat yang itu - lihat wadah Layanan Distribusi Kunci Grup di partisi Konfigurasi hutan AD Anda.

Dan mungkin Anda bisa menggunakan DC apa pun di hutan itu selama Anda menetapkan namanya di -PrincipalsAdowedToRetrieveManagedPassword

Semua hal di atas merupakan gMSA "baru", jadi jika Anda ingin menggunakan MSA lama, lupakan saja -DNSHostName karena itu tidak diperlukan dan cukup gunakan -RestrictToSingleComputer untuk mengunci akun ke beberapa server.

Semoga itu bisa membantu.

https://social.technet.microsoft.com/Forums/windowsserver/en-US/9a66d1d5-44e9-4ea1-ba9c-88862023c4e1/why-does-a-gmsa-need-a-dns-host-name-eg- newadserviceaccount-dnshostname? forum = winserver8gen

Daniel
sumber
1
Utas yang sama sekarang memiliki jawaban yang lebih baik oleh Proed pada Januari 2018. Ini ada hubungannya dengan memuaskan hierarki warisan dalam skema AD! Xref jawaban saya .. Terima kasih telah menemukan utas itu!
David Bullock
1

Pengalaman saya tampaknya menunjukkan bahwa ia sedang mencari DC. Saya menjalankan tes pada server anggota dan diminta untuk -DNSHostName. Saya menjalankan tes yang sama dari DC dan tidak menerima prompt.

Allen
sumber
1

Mengutip jawaban oleh Proed pada 17 Januari 2018 di bagian Mengapa gMSA memerlukan nama host DNS? (terima kasih kepada @Daniel karena mengutipnya sebelumnya).

Saya akan merekomendasikan untuk mengatur dNSHostNameseperti diatur untuk Objek AD-Komputer ( sAMAccountName+ dan Sufiks Domain Anda)

... karena:

  • msDS-GroupManagedServiceAccountmewarisi dari AD-Computer(dalam hal skema AD), sehingga membutuhkan ini harus disediakan
  • konvensi yang direkomendasikan masuk akal dari semua contoh yang ada
David Bullock
sumber
di sana saya berpikir saya bodoh karena tidak 'mendapatkannya', dan itu hanya doco buruk lagi
David Bullock