Phiên bản Active Directory trong Windows Server 2016 giới thiệu một tính năng thú vị cho phép bạn tạm thời thêm người dùng vào nhóm bảo mật AD. Tính năng này được gọi là Tư cách thành viên nhóm tạm thời (Dựa trên thời gian) . Tính năng này có thể được sử dụng khi bạn cần tạm thời cấp cho người dùng một số quyền hạn dựa trên tư cách thành viên nhóm bảo mật AD. Sau khi hết thời gian quy định, người dùng sẽ tự động bị xóa khỏi nhóm bảo mật (mà không có sự can thiệp của quản trị viên).
Để sử dụng Tư cách thành viên nhóm tạm thời, bạn cần bật Tính năng quản lý quyền truy cập đặc quyền trong khu rừng Active Directory của bạn. Giống như với Thùng rác AD (cho phép bạn khôi phục các đối tượng đã xóa), bạn không thể tắt PAM sau khi nó đã được bật.
Đảm bảo rằng khu rừng quảng cáo của bạn đang chạy ở cấp chức năng rừng của Windows Server 2016 (hoặc cao hơn):
(Get-ADForest).ForestMode
Kiểm tra xem tính năng Quản lý quyền truy cập đặc quyền có được bật trong khu vực hiện tại hay không bằng cách sử dụng lệnh từ mô-đun AD PowerShell:
Get-ADOptionalFeature -filter "name -eq 'privileged access management feature'"
Chúng tôi cần giá trị của EnableScope tham số. Nó trống trong ví dụ của chúng tôi. Có nghĩa là Tính năng Quản lý Quyền truy cập Đặc quyền không được bật cho khu rừng này.
Để kích hoạt nó, hãy sử dụng Enable-ADOptionalFeature và chỉ định tên rừng của bạn làm một trong các đối số:
Enable-ADOptionalFeature 'Privileged Access Management Feature' -Scope ForestOrConfigurationSet -Target contoso.com
Nếu lỗi “
Enable-ADOptionalFeature: The SMO role ownership could not be verified because its directory partition has not replicated successfully with at least one replication partner
”Xuất hiện khi chạy lệnh, kiểm tra trạng thái của bộ điều khiển miền và sao chép quảng cáo, cũng như tính khả dụng của chủ sở hữu vai trò FSMO. Buộc sao chép AD theo cách thủ công.
Chạy lệnh Get-ADOptionalFeature -filter "name -eq 'privileged access management feature'" | select EnabledScopes
và kiểm tra để đảm bảo rằng trường EnableScope không trống.
dsa.msc
) không được hỗ trợ. Sau khi PAM đã được bật, bạn có thể thử thêm người dùng vào nhóm QUẢNG CÁO bằng cách sử dụng đối số đặc biệt MemberTimeToLive của lệnh ghép ngắn Add-ADGroupMember. Thật thuận tiện để đặt khoảng thời gian (TTL) bằng cách sử dụng New-TimeSpan cmdlet. Giả sử bạn muốn thêm người dùng test1 tới Quản trị viên miền nhóm trong 15 phút:
$ttl = New-TimeSpan -Minutes 5
Add-ADGroupMember -Identity "Domain Admins" -Members test1 -MemberTimeToLive $ttl
Bạn có thể kiểm tra lượng thời gian người dùng sẽ là thành viên nhóm bằng cách sử dụng lệnh ghép ngắn Get-ADGroup:
Get-ADGroup 'Domain Admins' -Property member –ShowMemberTimeToLive
Trong kết quả lệnh, bạn có thể thấy một mục nhập như <TTL=187,CN=test1,CN=Users,DC=woshub,DC=loc>
cho các thành viên trong nhóm. Giá trị TTL được hiển thị trong vài giây. Điều này có nghĩa là người dùng này đã được thêm vào nhóm Quản trị viên miền tạm thời. Sau 187 giây, anh ấy sẽ tự động bị xóa khỏi nhóm
Vé Kerberos của người dùng cũng hết hạn. Điều này được thực hiện do KDC phát hành một vé có thời gian tồn tại bằng giá trị TTL nhỏ nhất cho người dùng có tư cách thành viên tạm thời trong nhóm AD.
Bạn có thể kiểm tra thời gian gia hạn vé Kerberos tiếp theo bằng lệnh:
klist
Thời gian gia hạn vé TGT tiếp theo được hiển thị trong Thời gian gia hạn tham số.
Trước đó, chúng tôi đã hướng dẫn cách sử dụng klist để làm mới tư cách thành viên nhóm AD mà không cần đăng xuất.Hãy chú ý khi sử dụng các kịch bản kết hợp với đồng bộ nhóm từ Active Directory tại chỗ đến Azure AD thông qua Azure AD Connect. Cấu hình này phải tính đến cài đặt khoảng thời gian đồng bộ hóa đám mây.
Cũng trong AD (với cấp chức năng rừng Windows2003Fores hoặc mới hơn), bạn có thể tạo các nhóm AD tạm thời. Đối với các nhóm như vậy, dynamicObject lớp được sử dụng. Quá trình thu gom rác Active Directory tự động xóa các nhóm như vậy.
Ví dụ:để tạo một nhóm tạm thời sẽ tự động bị xóa sau một tháng (2592000 = 31 * 24 * 60 * 60
), sử dụng tập lệnh PowerShell sau:
$OU = [adsi]"LDAP://OU=Groups,OU=Munich,OU=DE,DC=woshub,DC=loc"
$Group = $OU.Create("group","cn=MUN-FS01_Public_tmp")
$Group.PutEx(2,"objectClass",@("dynamicObject","group"))
$Group.Put("entryTTL","2678400")
$Group.SetInfo()
Mở thuộc tính nhóm trong bảng điều khiển ADUC. Chú ý đến entryTTL thuộc tính. Nó cho biết nhóm QUẢNG CÁO này sẽ bị xóa trong bao nhiêu giây.
Trước đó, để triển khai tư cách thành viên nhóm AD tạm thời, bạn phải sử dụng các đối tượng động, các tập lệnh khác nhau và các tác vụ đã lên lịch hoặc các hệ thống khá phức tạp (Microsoft Forefront Identity Manager, v.v.). Giờ đây, trong Windows Server 2016/2019, tính năng hữu ích này đã có sẵn.