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

การเป็นสมาชิกกลุ่มตามเวลา (ชั่วคราว) ใน Active Directory


เวอร์ชันของ Active Directory ใน Windows Server 2016 มีคุณลักษณะที่น่าสนใจซึ่งช่วยให้คุณสามารถเพิ่มผู้ใช้ลงในกลุ่มความปลอดภัย AD ได้ชั่วคราว คุณลักษณะนี้เรียกว่า การเป็นสมาชิกกลุ่มชั่วคราว (ตามเวลา) คุณลักษณะนี้สามารถใช้ได้เมื่อคุณต้องการให้สิทธิ์แก่ผู้ใช้เป็นการชั่วคราวตามการเป็นสมาชิกกลุ่มความปลอดภัยของ AD หลังจากเวลาผ่านไป ผู้ใช้จะถูกลบออกจากกลุ่มความปลอดภัยโดยอัตโนมัติ (โดยไม่มีการแทรกแซงของผู้ดูแลระบบ)

หากต้องการใช้การเป็นสมาชิกกลุ่มชั่วคราว คุณต้องเปิดใช้ คุณลักษณะการจัดการสิทธิ์การเข้าถึง ในฟอเรสต์ Active Directory เช่นเดียวกับถังรีไซเคิล AD (ซึ่งอนุญาตให้คุณกู้คืนวัตถุที่ถูกลบ) คุณไม่สามารถปิดใช้งาน PAM หลังจากเปิดใช้งานแล้ว

ตรวจสอบให้แน่ใจว่าฟอเรสต์ AD ของคุณทำงานอยู่ที่ระดับฟังก์ชันฟอเรสต์ของ Windows Server 2016 (หรือสูงกว่า):

(Get-ADForest).ForestMode

ตรวจสอบว่ามีการเปิดใช้คุณลักษณะ Privileged Access Management ในฟอเรสต์ปัจจุบันโดยใช้คำสั่งจากโมดูล AD PowerShell:

Get-ADOptionalFeature -filter "name -eq 'privileged access management feature'"

เราต้องการค่าของพารามิเตอร์ EnableScopes มันว่างเปล่าในตัวอย่างของเรา หมายความว่าไม่ได้เปิดใช้งานคุณลักษณะการจัดการสิทธิ์การเข้าถึงสำหรับฟอเรสต์นี้

หากต้องการเปิดใช้งาน ให้ใช้คำสั่ง เปิดใช้งาน ADOptionalFeature และระบุชื่อฟอเรสต์ของคุณเป็นหนึ่งในอาร์กิวเมนต์:

Enable-ADOptionalFeature 'Privileged Access Management Feature' -Scope ForestOrConfigurationSet -Target contoso.com

หากข้อผิดพลาด “

Enable-ADOptionalFeature: The SMO role ownership could not be verified because its directory partition has not replicated successfully with at least one replication partner

” ปรากฏขึ้นเมื่อรันคำสั่ง ตรวจสอบสถานะของตัวควบคุมโดเมนและการจำลองแบบ AD และความพร้อมใช้งานของเจ้าของบทบาท FSMO บังคับการจำลองแบบ AD ด้วยตนเอง

เรียกใช้คำสั่ง

Get-ADOptionalFeature -filter "name -eq 'privileged access management feature'" | select EnabledScopes

และตรวจสอบว่าฟิลด์ EnableScopes ไม่ว่างเปล่า

หากต้องการเพิ่มผู้ใช้ลงในกลุ่มโฆษณาชั่วคราว คุณต้องใช้ PowerShell cmdlets การเพิ่มกลุ่มความปลอดภัยชั่วคราวจากสแน็ปกราฟิก ADUC (

dsa.msc

) ไม่รองรับ

หลังจากเปิดใช้งาน PAM แล้ว คุณสามารถลองเพิ่มผู้ใช้ลงในกลุ่ม AD โดยใช้อาร์กิวเมนต์พิเศษ MemberTimeToLive ของ Add-ADGroupMember cmdlet สะดวกในการกำหนดช่วงเวลา (TTL) โดยใช้ cmdlet New-TimeSpan สมมติว่าคุณต้องการเพิ่มผู้ใช้ test1 ในกลุ่ม Domain Admins เป็นเวลา 15 นาที:

$ttl = New-TimeSpan -Minutes 5
Add-ADGroupMember -Identity "Domain Admins" -Members test1 -MemberTimeToLive $ttl

ไม่แนะนำให้ใช้การเป็นสมาชิกกลุ่มชั่วคราวเพื่อให้การเข้าถึงชั่วคราวไปยังกลุ่มโดเมนที่มีสิทธิพิเศษ (ผู้ดูแลระบบขององค์กร ผู้ดูแลระบบโดเมน ฯลฯ) สมาชิกกลุ่มชั่วคราวโดยทั่วไปใช้เพื่ออนุญาตให้เข้าถึงกลุ่มทรัพยากร ในการให้สิทธิ์ระดับผู้ดูแลระบบ คุณต้องใช้การมอบหมาย Active Directory หรือ PowerShell Just Enough Administration (JEA)

คุณสามารถตรวจสอบระยะเวลาที่ผู้ใช้จะเป็นสมาชิกกลุ่มได้โดยใช้ Get-ADGroup cmdlet:

Get-ADGroup 'Domain Admins' -Property member -ShowMemberTimeToLive

ในผลลัพธ์ของคำสั่ง คุณจะเห็นรายการเช่น

<TTL=187,CN=test1,CN=Users,DC=a-d,DC=loc>

สำหรับสมาชิกในกลุ่ม ค่า TTL จะแสดงเป็นวินาที ซึ่งหมายความว่าผู้ใช้รายนี้ได้รับการเพิ่มในกลุ่มผู้ดูแลโดเมนเป็นการชั่วคราว หลังจาก 187 วินาที เขาจะถูกลบออกจากกลุ่มโดยอัตโนมัติ

ตั๋ว Kerberos ของผู้ใช้ก็หมดอายุเช่นกัน สิ่งนี้ถูกนำมาใช้เนื่องจากข้อเท็จจริงที่ว่า KDC ออกตั๋วที่มีอายุการใช้งานเท่ากับค่า TTL ที่น้อยที่สุดสำหรับผู้ใช้ที่เป็นสมาชิกชั่วคราวในกลุ่ม AD

คุณสามารถตรวจสอบเวลาต่ออายุตั๋ว Kerberos ครั้งต่อไปได้ด้วยคำสั่ง:

klist

เวลาของการต่ออายุตั๋ว TGT ครั้งต่อไปจะแสดงในพารามิเตอร์ เวลาต่ออายุ

ก่อนหน้านี้ เราได้แสดงวิธีใช้ klist เพื่อรีเฟรชสมาชิกกลุ่ม AD โดยไม่ต้องออกจากระบบ

โปรดใช้ความระมัดระวังเมื่อใช้สถานการณ์แบบไฮบริดที่มีการซิงค์กลุ่มจาก Active Directory ในองค์กรไปยัง Azure AD ผ่าน Azure AD Connect การกำหนดค่านี้ควรคำนึงถึงการตั้งค่าช่วงเวลาการซิงค์บนคลาวด์

นอกจากนี้ ในโฆษณา (ที่มีระดับการทำงานของฟอเรสต์ของ Windows2003Fores หรือใหม่กว่า) คุณสามารถสร้างกลุ่มโฆษณาชั่วคราวได้ สำหรับกลุ่มดังกล่าว จะใช้คลาส dynamicObject การลบกลุ่มดังกล่าวโดยอัตโนมัติดำเนินการโดยกระบวนการ Active Directory Garbage Collection

ตัวอย่างเช่น หากต้องการสร้างกลุ่มชั่วคราวที่จะถูกลบโดยอัตโนมัติหลังจากผ่านไปหนึ่งเดือน (

2592000 = 31 * 24 * 60 * 60

) ใช้สคริปต์ PowerShell ต่อไปนี้:

$OU = [adsi]"LDAP://OU=Groups,OU=Munich,OU=DE,DC=a-d,DC=loc"
$Group = $OU.Create("group","cn=MUN-FS01_Public_tmp")
$Group.PutEx(2,"objectClass",@("dynamicObject","group"))
$Group.Put("entryTTL","2678400")
$Group.SetInfo()

เปิดแอตทริบิวต์ของกลุ่มในคอนโซล ADUC ให้ความสนใจกับแอตทริบิวต์ entryTTL บ่งชี้ว่ากลุ่ม AD นี้จะถูกลบในกี่วินาที

ก่อนหน้านี้ ในการใช้การเป็นสมาชิกกลุ่ม AD ชั่วคราว คุณต้องใช้วัตถุไดนามิก สคริปต์และงานตามกำหนดการต่างๆ หรือระบบที่ค่อนข้างซับซ้อน (Microsoft Forefront Identity Manager เป็นต้น) ขณะนี้ใน Windows Server 2016/2019 คุณลักษณะที่มีประโยชน์นี้มีให้ใช้งานได้ทันที

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