การใช้บัญชีบริการที่มีการจัดการกลุ่ม (gMSA)
บัญชีบริการที่จัดการกลุ่ม (gMSA) คือบัญชีโดเมนที่ได้รับการจัดการที่ให้การจัดการรหัสผ่านอัตโนมัติ การจัดการชื่อหลักบริการ (SPN) และความสามารถในการมอบหมายการจัดการให้กับผู้ดูแลระบบรายอื่นผ่านเซิร์ฟเวอร์หลายเครื่อง
บัญชีบริการใน Active Directory ใช้เพื่อระบุและรับรองความถูกต้องของบริการ บัญชีบริการคือบัญชีผู้ใช้ที่สร้างขึ้นเพื่อให้ความสามารถในการให้บริการในการเข้าถึงทรัพยากรภายในและเครือข่ายบนระบบปฏิบัติการเซิร์ฟเวอร์ Windows
ในเครือข่ายขนาดใหญ่ ในการจัดการบัญชีบริการจำนวนมาก จะใช้บัญชีบัญชีบริการที่จัดการแบบกลุ่ม (gMSA) และบัญชีบริการที่มีการจัดการแบบสแตนด์อโลน (sMSA)
เมื่อใช้บัญชีบริการที่มีการจัดการแบบกลุ่ม (gMSA) บริการหรือผู้ดูแลระบบไม่จำเป็นต้องจัดการรหัสผ่าน gMSA มีรหัสผ่านที่จัดการโดย Active Directory
gMSA มอบโซลูชันการระบุตัวตนเดียวสำหรับบริการที่ทำงานบนระบบปฏิบัติการ Windows
บัญชีบริการที่มีการจัดการกลุ่ม (gMSA) ใช้สำหรับบริการ งานที่จัดกำหนดการไว้ หรือกลุ่มแอปพลิเคชัน IIS
ในบทความนี้ ผมจะอธิบายข้อกำหนดบัญชีบริการที่ได้รับการจัดการแบบกลุ่มและวิธีสร้างบัญชีบริการที่ได้รับการจัดการแบบกลุ่ม (gMSA) โดยใช้ PowerShell
ข้อกำหนดบัญชีบริการที่มีการจัดการกลุ่ม (gMSA)
บัญชีบริการที่มีการจัดการกลุ่มไม่สามารถใช้ได้กับระบบปฏิบัติการ Windows ก่อน Windows Server 2012
ข้อกำหนดของ gMSA
- วินโดวส์เซิร์ฟเวอร์ 2012, วินโดวส์เซิร์ฟเวอร์ 2016, วินโดวส์เซิร์ฟเวอร์ 2019, วินโดวส์เซิร์ฟเวอร์ 2022
- ต้องมี Active Directory
- โมดูล PowerShell Active Directory
- ตัวควบคุมโดเมนในโดเมนต้องใช้ Window Server 2012 หรือระบบปฏิบัติการที่ใหม่กว่า
สร้างบัญชีบริการที่มีการจัดการกลุ่ม (gMSA) โดยใช้ PowerShell
หากต้องการสร้างบัญชีบริการที่จัดการกลุ่ม ตัวควบคุมโดเมนต้องใช้คีย์รูทเพื่อสร้างรหัสผ่าน gMSA
ตัวควบคุมโดเมนรอเป็นเวลา 10 ชั่วโมงนับจากเวลาของการสร้างเพื่อให้ DC ทั้งหมดสามารถรวมการจำลองแบบ AD ของตนได้
สร้างคีย์รูท KDS โดยใช้ Add-kdsRootKey ทันที
หากต้องการสร้างคีย์รูท KDS (Key Distribution Service) ทันทีใน Domain Controller ให้รันคำสั่งด้านล่างใน PowerShell
Add-KdsRootKey -EffectiveImmediatelyใน Add-KdsRootKey cmdlet ข้างต้นให้สร้างคีย์รูท KDS ทันทีในตัวควบคุมโดเมน
การใช้ EffectiveImmediately จะเพิ่มคีย์รูท kds เพื่อกำหนดเป้าหมาย DC ทันที อย่างไรก็ตาม ตัวควบคุมโดเมนอื่นจะไม่สามารถใช้งานได้จนกว่าการจำลองแบบจะสำเร็จ
สร้างคีย์รูท KDS โดยใช้ Add-kdsRootKey ในสภาพแวดล้อมการทดสอบ
หากต้องการสร้างคีย์รูท KDS (บริการการแจกจ่ายคีย์) ทันทีในสภาพแวดล้อมการทดสอบเฉพาะบน DC ให้ระบุเวลาเริ่มต้นในอดีตเพื่อหลีกเลี่ยงการรอการจำลองแบบ AD
รันคำสั่งด้านล่างเพื่อสร้างคีย์รูท KDS โดยมีผลทันทีดังต่อไปนี้
Add-KdsRootKey -EffectiveTime ((get-date).addhours(-10))
ในคำสั่งข้างต้น Add-kdsRootKey จะใช้พารามิเตอร์ EffectiveTime เพื่อระบุเวลาที่ผ่านมา ( 10 ชั่วโมงก่อนเวลาโดยใช้ get-date)
เพื่อยืนยันว่าสร้างคีย์รูท kds สำเร็จหรือไม่ ให้รันคำสั่งด้านล่างใน PowerShell
Get-kdsRootKeyเอาต์พุตของคำสั่งด้านบนเพื่อสร้างคีย์รูท kds และสร้างคีย์รูท kds ดังต่อไปนี้
สร้างบัญชีบริการที่มีการจัดการใน Active Directory
ขณะนี้เราได้สร้างคีย์รูต kds ไว้ด้านบนแล้ว ขณะนี้เราสามารถสร้าง บัญชีบริการที่มีการจัดการแบบกลุ่ม โดยใช้ New-ADServiceAccount cmdlet ดังต่อไปนี้
New-ADServiceAccount -Name "Engg-Service2" -DNSHostName "ENGG-Service2.SHELLPRO.LOCAL" -Enabled $Trueในสคริปต์ PowerShell ข้างต้น
New-ADServiceAccount cmdlet ใช้พารามิเตอร์ ชื่อ เพื่อระบุชื่อบัญชีบริการ
-DNSHostName ระบุชื่อโฮสต์ DNS ของบัญชีบริการ
คำสั่งด้านบนสร้างบัญชีบริการที่มีการจัดการที่เปิดใช้งานเป็น Engg-Service2
หากคุณพยายามเรียกใช้ Test-ADServiceAccount cmdlet เพื่อทดสอบบัญชีบริการที่ได้รับการจัดการที่สร้างขึ้นด้านบน (Engg-Service2) มันจะพิมพ์ข้อความเตือนดังต่อไปนี้
Test-ADServiceAccount -Identity "Engg-Service2"
ผลลัพธ์ของคำสั่งดังกล่าวจะแสดงข้อความเตือนด้านล่าง
เพื่อหลีกเลี่ยงข้อความแจ้งเตือนข้างต้น เราจำเป็นต้องระบุคอมพิวเตอร์ว่าคอมพิวเตอร์เครื่องใดสามารถร้องขอและเข้าถึงรหัสผ่านได้โดยใช้ Set-ADServiceAccount cmdlet ดังต่อไปนี้
Set-ADServiceAccount -Identity ENGG-Service2 -PrincipalsAllowedToRetrieveManagedPassword ENGG-PRO$ในสคริปต์ PowerShell ข้างต้น Set-ADServiceAccount cmdlet ตั้งค่าคอมพิวเตอร์ ENGG-PRO เพื่อดึงรหัสผ่านที่ได้รับการจัดการสำหรับบัญชีบริการที่ได้รับการจัดการที่ระบุโดยใช้พารามิเตอร์ Identity
หลังจากที่เราตั้งชื่อคอมพิวเตอร์สำหรับบัญชีบริการที่มีการจัดการแล้ว ให้เรียกใช้ Test-ADServiceAccount cmdlet เพื่อทดสอบบัญชีบริการที่มีการจัดการดังต่อไปนี้
Test-ADServiceAccount -Identity "Engg-Service2"ด้านบน Test-ADServiceAccount ทดสอบบัญชีบริการที่ได้รับการจัดการและส่งคืนค่าจริง
เคล็ดลับเด็ด: วิธีใช้ cmdlet search-adaccount ใน PowerShell!
บทสรุป
ฉันหวังว่าบทความข้างต้นเกี่ยวกับข้อกำหนดบัญชีบริการที่ได้รับการจัดการกลุ่ม (gMSA) การสร้างคีย์รูต kds และการสร้างบัญชีบริการที่ได้รับการจัดการกลุ่ม (gMSA) จะมีประโยชน์
New-ADServiceAccount, Set-ADServiceAccount, Get-ADServiceAccount และ Test-ADServiceAccount cmdlets ถูกใช้เพื่อจัดการบัญชีบริการในไดเรกทอรีที่ใช้งานอยู่
คุณสามารถค้นหาหัวข้อเพิ่มเติมเกี่ยวกับคำสั่ง PowerShell Active Directory และพื้นฐานของ PowerShell ได้ในหน้าแรกของ ShellGeek

