Computer >> Hướng Dẫn Máy Tính >  >> Hệ Thống >> Máy Chủ Windows

Thành Viên Nhóm Dựa Trên Thời Gian (Tạm Thời) Trong Active Directory

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 thêm tạm thời một người dùng vào nhóm bảo mật AD. Tính năng này được gọi là 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 cấp tạm thời một số quyền hạn cho người dùng dựa trên việc 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 (không cần can thiệp của quản trị viên).

Kích Hoạt Tính Năng Quản Lý Truy Cập Đặc Quyền (PAM)

Để sử dụng Thành Viên Nhóm Tạm Thời, bạn cần kích hoạt Tính Năng Quản Lý Truy Cập Đặc Quyền (Privileged Access Management Feature) trong rừng Active Directory của mình. Giống như AD Recycle Bin (cho phép khôi phục các đối tượng đã xóa), bạn không thể tắt PAM sau khi đã kích hoạt.

Đảm bảo rừng AD của bạn đang chạy ở mức chức năng rừng Windows Server 2016 (hoặc cao hơn):

(Get-ADForest).ForestMode

Kiểm tra xem tính năng Quản Lý Truy Cập Đặc Quyền đã được kích hoạt trong rừng hiện tại chưa bằng cách sử dụng lệnh từ module AD PowerShell:

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

Chúng ta cần giá trị của tham số EnableScopes. Trong ví dụ này, nó trống, nghĩa là Tính Năng Quản Lý Truy Cập Đặc Quyền chưa được kích hoạt cho rừng này.

Để kích hoạt nó, hãy sử dụng lệnh 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, hãy kiểm tra trạng thái của các bộ điều khiển miền và sao chép AD, cũng như sự sẵn sàng của các chủ sở hữu vai trò FSMO. Buộc sao chép AD thủ công.

Chạy lệnh Get-ADOptionalFeature -filter "name -eq 'privileged access management feature'" | select EnabledScopes và kiểm tra xem trường EnableScopes không trống.

Thêm Tạm Thời Người Dùng Vào Nhóm AD

Để tạm thời thêm người dùng vào nhóm AD, bạn cần sử dụng các cmdlet PowerShell. Việc thêm tạm thời vào nhóm bảo mật từ snap-in đồ họa ADUC (dsa.msc) không được hỗ trợ.

Sau khi PAM đã được kích hoạt, bạn có thể thử thêm người dùng vào nhóm AD bằng đối số đặc biệt MemberTimeToLive của cmdlet Add-ADGroupMember. Việc thiết lập khoảng thời gian (TTL) bằng cmdlet New-TimeSpan rất tiện lợi. Giả sử bạn muốn thêm người dùng test1 vào nhóm Domain Admins trong 5 phút:

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

Lưu ý: Không khuyến khích sử dụng thành viên nhóm tạm thời để cung cấp quyền truy cập tạm thời vào các nhóm miền đặc quyền (Enterprise Admins, Domain Admins, v.v.). Thông thường, Thành Viên Nhóm Tạm Thời được dùng để cấp quyền truy cập vào các nhóm tài nguyên. Để cấp quyền quản trị, bạn phải sử dụng ủy quyền Active Directory hoặc PowerShell Just Enough Administration (JEA).

Kiểm Tra Thời Gian Còn Lại Của Thành Viên Nhóm

Bạn có thể kiểm tra người dùng sẽ còn là thành viên nhóm trong bao lâu bằng cmdlet Get-ADGroup:
Get-ADGroup 'Domain Admins' -Property member –ShowMemberTimeToLive

Trong kết quả lệnh, bạn sẽ thấy một mục như <TTL=187,CN=test1,CN=Users,DC=woshub,DC=loc> cho các thành viên nhóm. Giá trị TTL hiển thị bằng giây. Điều này nghĩa là người dùng này đã được thêm vào nhóm Domain Admins tạm thời. Sau 187 giây, anh ta sẽ tự động bị xóa khỏi nhóm.

Vé Kerberos của người dùng cũng sẽ hết hạn. Điều này được triển khai vì KDC cấp vé có thời gian tồn tại bằng giá trị TTL nhỏ nhất của người dùng có thành viên nhóm tạm thời trong các 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 tiếp theo của vé TGT hiển thị trong tham số Renew Time.

Tạo Nhóm AD Tạm Thời (Dynamic Object)

Ngoài ra, trong AD (với mức 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. Lớp dynamicObject được sử dụng cho các nhóm như vậy. Việc xóa tự động các nhóm như vậy được thực hiện bởi quy trình Dọn Dẹp Rác (Garbage Collection) của Active Directory.

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), hãy sử dụng script 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ú ý thuộc tính entryTTL. Nó cho biết sau bao nhiêu giây nhóm AD này sẽ bị xóa.

Trước đây, để triển khai 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 script khác nhau và 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.). Bây giờ, trong Windows Server 2016/2019, tính năng tiện lợi này có sẵn out-of-the-box.