ค้นหาเว็บไซต์

การใช้บัญชีบริการที่มีการจัดการกลุ่ม (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

บทความที่เกี่ยวข้อง