组管理与 AGDLP 策略

Active Directory · 第 6 篇 · 适用于 Windows Server 2019 / 2022 / 2025

📑 目录

  1. 组类型与作用域
  2. AGDLP 原则详解
  3. 创建与管理组
  4. 组成员管理
  5. 嵌套组策略
  6. 常见问题

1. 组类型与作用域

分类类型说明
组类型安全组用于权限分配(NTFS、共享、打印机等)
通讯组仅用于邮件分发(需要 Exchange)
作用域本地域(Domain Local)仅管理本域资源,成员可来自任何域
全局(Global)仅包含本域成员,可访问任何信任域资源
通用(Universal)成员和资源来自任何域,存储在 GC 中

2. AGDLP 原则详解

AGDLP是微软推荐的最佳实践权限分配模型:

💡 AGDLP 含义
  • Account(账户)→ 用户账户
  • Global(全局组)→ 按部门/角色创建,放入用户
  • Domain Local(本地域组)→ 按资源创建,放入全局组
  • List / Permission(权限)→ 将本地域组分配到资源权限

流程:用户 → 全局组 → 本地域组 → 资源权限

3. 创建与管理组

PowerShell - 创建组
# 创建全局安全组(按部门)
New-ADGroup -Name "GG_IT信息部" -GroupScope "Global" -GroupCategory "Security" `
    -Path "OU=Groups,DC=iehang,DC=cn" -Description "IT信息部全局组"
New-ADGroup -Name "GG_财务部" -GroupScope "Global" -GroupCategory "Security" -Description "财务部全局组"
New-ADGroup -Name "GG_业务部" -GroupScope "Global" -GroupCategory "Security" -Description "业务部全局组"
New-ADGroup -Name "GG_生产部" -GroupScope "Global" -GroupCategory "Security" -Description "生产部全局组"
New-ADGroup -Name "GG_人事部" -GroupScope "Global" -GroupCategory "Security" -Description "人事部全局组"

# 创建本地域安全组(按资源)
New-ADGroup -Name "DL_ShareRW" -GroupScope "DomainLocal" -GroupCategory "Security" `
    -Description "共享文件夹读写权限"

# 创建通用组(用于跨域场景)
New-ADGroup -Name "UG_AllStaff" -GroupScope "Universal" -GroupCategory "Security"

# 查看所有组
Get-ADGroup -Filter "*" | Format-Table Name, GroupScope, GroupCategory"

4. 组成员管理

PowerShell - 管理组成员
# 添加成员到全局组
Add-ADGroupMember "GG_IT信息部" -Members "zhangsan", "lisi", "wangwu"

# 将全局组添加到本地域组(AGDLP 关键步骤)
Add-ADGroupMember "DL_ShareRW" -Members "GG_IT信息部", "GG_财务部"

# 批量添加:IT信息部 OU 下所有用户加入 GG_IT信息部
Get-ADUser -Filter * -SearchBase "OU=Users,OU=IT信息部,DC=iehang,DC=cn" | Add-ADGroupMember "GG_IT信息部"

# 查看组成员
Get-ADGroupMember "GG_IT信息部" | Select-Object Name, objectClass"

# 移除成员
Remove-ADGroupMember "GG_IT信息部" -Members "zhaoliu" -Confirm:$false

5. 嵌套组策略

AGDLP 支持组嵌套以提高管理灵活性:

PowerShell - 嵌套组示例
# 创建子组
New-ADGroup "GG_IT信息部_Dev" -GroupScope Global -GroupCategory Security
New-ADGroup "GG_IT信息部_Ops" -GroupScope Global -GroupCategory Security

# 将子组嵌套到父组
Add-ADGroupMember "GG_IT信息部" -Members "GG_IT信息部_Dev", "GG_IT信息部_Ops"

# 检查组成员关系(递归)
Get-ADGroupMember "GG_IT信息部" -Recursive

6. 常见问题

Q1:组嵌套过深会影响性能吗

组嵌套本身不会显著影响性能,但 Token 中的 SID 数量有限(约 1024 个)。如果用户属于过多嵌套组,可能超出 Token 大小限制,导致无法访问资源。建议嵌套不超过 5 层。

Q2:全局组可以包含其他域的用户吗

不可以。全局组只能包含本域的成员(用户和全局组)。如果需要跨域,应使用通用组。