การเป็นสมาชิกกลุ่มตามเวลา (ชั่วคราว) ใน 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 คุณลักษณะที่มีประโยชน์นี้มีให้ใช้งานได้ทันที





