Đặt tên máy chủ DNS cho tài khoản dịch vụ được quản lý?


14

Các tài liệu chứa ví dụ:

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

Tham số này là bắt buộc. Chính xác mục đích của a là gì DNSHostNamevà tôi nên quyết định cài đặt nó như thế nào?

Câu trả lời:


7

Sau khi làm việc một thời gian với các tài khoản này, tôi nghĩ rằng tôi đã tìm ra lý do:

Chúng là một số tập hợp con hoặc có thể là dẫn xuất của các tài khoản loại máy. Do đó, họ thừa hưởng đặc tính này từ họ và vì nó cần cho loại máy, nên nó cũng được yêu cầu cho gMSA.

Bạn có thể kiểm tra xem cả hai loại có khớp với nhau trong bộ thuộc tính của chúng không. Ngoài ra, trong tất cả các tài liệu TechNet, họ chỉ đưa ra một giá trị duy nhất đơn giản cho thuộc tính này , giống như tài khoản máy đang có nó.gmsa-name.contoso.com

Không chắc chắn tại sao họ không tự động tạo ra nó, và giải phóng chúng tôi sự băn khoăn và đánh máy.


Có những ý nghĩa quan trọng đối với SPN, như được giải thích bởi câu trả lời này
alifen

4

DNShostName phải là tên dịch vụ của bạn. Trong trường hợp A Cluster, đây sẽ là tên đối tượng ảo của bạn.

DNShostName có liên quan đến SPN Tự động đăng ký tài khoản. Trong Active Directory Máy tính & GMSA có Quyền "Cho phép ghi hợp lệ vào ServicePrincipalName". Điều này có nghĩa là một máy tính chỉ có thể đăng ký SPN có chứa tên của chính nó. Ví dụ: Một máy tính có tên là Webserver1 (DNS: Webserver1.mydomain.net) có thể tự động đăng ký http: /Webserver1.mydomain.net: 443 nhưng không thể đăng ký http: /Webserver55.mydomain.net: 443

Vì vậy, DNShostName của GMSA sẽ phản ánh những SPN nào bạn muốn đăng ký dịch vụ.

Trên cụm SQL, bạn sẽ có 2 máy chủ: Host1 và host2. Một clusterName: Clu1 và một thực thể SQL ảo: SQL1 Nếu bạn muốn sử dụng GMSA để chạy dịch vụ SQL1, bạn sẽ tạo nó như thế này.

$comp1 = get-adcomputer Host1

$comp2 = get-adcomputer Host2

New-ADServiceAccount -Name gmsa01 -DNSHostName sql1.mydomain.net -PrincipalsAllowedToRetrieveManagedPassword $comp1, $comp2 (bạn cũng có thể sử dụng một nhóm thay vì gán quyền trực tiếp cho máy chủ lưu trữ).

Bất cứ khi nào dịch vụ SQL khởi động, nó sẽ tự động đăng ký 2 SPN: MSSQLSvc / sql1.mydomain.net MSSQLSvc / sql1.mydomain.net: 1433

Nếu bạn đặt một cái gì đó khác trong DNShostName (ví dụ gmsa01.mydomain.net), dịch vụ vẫn sẽ bắt đầu, nhưng sẽ không đăng ký SPN (và quay lại xác thực NTLM).

Nếu bạn không quan tâm đến Xác thực Kerberos (và SPN) hoặc Nếu bạn ổn với SPN đăng ký thủ công cho dịch vụ của mình, Bạn có thể đặt bất cứ điều gì bạn muốn vào DNShostName. GMSA vẫn sẽ hoạt động.

Tôi không khuyên bạn nên đặt DomainContoder của bạn vào DNSName như đã đề cập trước đó (trừ khi bạn có kế hoạch sử dụng GMSA để chạy dịch vụ trên bộ điều khiển miền).


3

Tôi không có chuyên gia về điều này. Tuy nhiên, có rất nhiều thông tin về chủ đề này tôi nghĩ rằng nó đáng để đăng những gì tôi biết

Huấn luyện viên của khóa 70-411 tôi đã sử dụng FQDN của bộ điều khiển miền làm giá trị cho DNSHostNametham số khi anh ta trình diễn New-ADServiceAccountlệnh ghép ngắn. Theo tôi hiểu, DNSHostNamechỉ cần cho cmdlet biết bộ điều khiển miền nào sẽ tạo tài khoản. Tôi không nghĩ rằng vấn đề mà bạn sử dụng là DC, những gMSA đó dường như sẽ sao chép ngay lập tức. Tôi đã chỉ DNSHostNameđến một trong những DC của tôi và nó dường như đang hoạt động cho đến nay.

Tôi thực sự muốn có một số tài liệu cụ thể về điều này. Các áp dụng tài liệu tham khảo lệnh TechNet chỉ là vô nghĩa tautological cho DNSHostNametham số.


3

Khi bạn thêm tham số -RestrictToSingleComputer thì không cần thiết nữa. Tất nhiên bạn nên đọc về tùy chọn đó trước khi sử dụng nó.

Giống:

New-ADServiceAccount service1 -Enabled $true -RestrictToSingleComputer

1
Điều đó làm cho nó trở thành một tài khoản MSA thông thường thay vì gMSA
Brain2000

1

Tôi đã tìm kiếm một câu trả lời trong một thời gian rất dài và cuối cùng đã tìm thấy một câu trả lời đúng với tôi.

-DNSHostName phải là FQDN của DC chứa khóa KDS Master - msKds-ProvRootKey.

Rất có thể bạn đã tạo cái đó - hãy xem bộ chứa Dịch vụ phân phối khóa nhóm trong phân vùng Cấu hình của rừng AD của bạn.

Và có lẽ bạn có thể sử dụng bất kỳ DC nào trong khu rừng đó miễn là bạn đặt tên của chúng trong -Principals ALLowedToRetrieveManagedPassword

Tất cả những điều trên đại diện cho gMSA "mới", vì vậy nếu bạn muốn sử dụng MSA cũ thay vào đó, hãy quên đi -DNSHostName vì nó không bắt buộc sau đó và chỉ cần sử dụng -RestrictToSingleComputer khóa tài khoản cho một số máy chủ.

Mong rằng sẽ giúp.

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 = wonerver8gen


1
Chủ đề tương tự đó bây giờ có câu trả lời tốt hơn bởi Proed vào tháng 1 năm 2018. Điều đó phải làm với việc đáp ứng hệ thống phân cấp thừa kế trong lược đồ AD! Xref câu trả lời của tôi .. Cảm ơn vì đã tìm thấy chủ đề đó!
David Bullock

1

Kinh nghiệm của tôi dường như chỉ ra rằng nó đang tìm kiếm một DC. Tôi đã chạy thử nghiệm trên máy chủ thành viên và được nhắc về -DNSHostName Tôi đã chạy thử nghiệm tương tự từ một DC và không nhận được lời nhắc.


1

Trích dẫn câu trả lời của Proed vào ngày 17 tháng 1 năm 2018 tại sao GMSA cần tên máy chủ DNS? (cảm ơn @Daniel đã trích dẫn nó sớm hơn).

Tôi khuyên bạn nên đặt dNSHostNamegiống như được đặt cho Đối tượng Máy tính AD ( sAMAccountName+ và Tên miền của bạn)

… bởi vì:

  • msDS-GroupManagedServiceAccountkế thừa từ AD-Computer(về mặt lược đồ AD), do đó yêu cầu điều này phải được cung cấp
  • quy ước được đề nghị có ý nghĩa của tất cả các ví dụ còn tồn tại

Ở đó tôi đã nghĩ rằng mình thật ngu ngốc khi không 'hiểu được', và nó chỉ là một tài liệu tồi tệ một lần nữa
David Bullock

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.