使用场景:我想同步本地AD域的那些用户信息、账号上云端做SSO登录和权限管控,但是不希望使用快速上传一股脑传上去,所以使用自定义同步功能上传,这是一篇对AAD CONNECT这个应用的详解和配置步骤推荐
AD Connect如何自定义配置?
使用快速设置,默认是使用同步密码哈希值去AAD的,实际上AD同步有三种同步方式,密码哈希,本地AD验证和ADFS联合身份验证。
所需的组件
在 Azure AD Connect 的配置中,“指定自定义同步组”功能允许你指定哪些 Active Directory 组的成员有权限管理或参与 Azure AD Connect 同步操作。这个功能的主要目的是提高安全性和管理的精细度,确保只有授权的用户能够执行和管理同步操作。
各个组的具体功能和权限
管理员组 (Administrators Group)
- 用途:用于管理 Azure AD Connect 的配置和同步过程。
- 权限:
- 访问和修改 Azure AD Connect 配置。
- 配置同步规则和过滤器。
- 手动触发同步操作。
- 查看和管理同步日志和状态。
- 配置:你需要在此字段中输入一个 Active Directory 组的名称,例如 demo\SyncAdmins。
运算符组 (Operators Group)
- 用途:用于执行日常同步任务的组。
- 权限:
- 手动触发同步操作(如全量同步和增量同步)。
- 查看同步状态和日志。
- 但是,运算符组的成员通常不能修改同步配置。
- 配置:在此字段中输入一个 Active Directory 组的名称,例如 demo\SyncOperators。
浏览组 (Browse Group)
- 用途:用于具有只读权限的组。
- 权限:
- 查看 Azure AD Connect 的配置和同步状态。
- 访问同步日志。
- 但不能执行同步操作或修改配置。
- 配置:在此字段中输入一个 Active Directory 组的名称,例如 demo\SyncBrowsers。
密码重置组 (Password Reset Group)
- 用途:用于重置用户密码的组。
- 权限:
- 执行密码重置操作,将 Azure AD 中重置或更改的密码同步回本地 AD。
- 配置:在此字段中输入一个 Active Directory 组的名称,例如 demo\SyncPasswordReset.
连接目录
在 Azure AD Connect 的配置过程中,选择链接目录时,需要提供一个具有足够权限的 Active Directory (AD) 林账户。这个账户必须是能够读取和写入 AD 中用户和组信息的账户。以下是一些关于选择和配置这个账户的建议:
-
域管理员账户:
- 最常用的选择是使用域管理员账户。域管理员账户通常具有足够的权限来读取和写入所有需要的 AD 对象。
- 示例:如果你的域是
demo.com
,一个域管理员账户可能是demo\administrator
。
-
自定义服务账户:
- 为了安全和最佳实践,你可以创建一个专门的服务账户,授予它必要的权限,而不是使用域管理员账户。
- 该账户需要以下权限:
- 读取和写入用户和组信息:确保该账户可以读取和写入所有需要同步的 OU 中的用户和组。
- 密码回写权限(如果使用密码回写功能):该账户需要有权限重置密码。
域/OU筛选
同步不推荐的 OU(组织单位)可能会带来一些问题和安全隐患。以下是具体的风险和潜在问题:
具体风险
增加不必要的同步负担
- 同步性能:同步大量不必要的对象会增加 Azure AD Connect 的负担,导致同步过程变慢,影响整体性能。
- 数据量增加:不必要的对象会增加 Azure AD 中的数据量,可能导致管理复杂性增加。
安全隐患
- 系统账户暴露:内置的系统账户(如
Builtin
、Domain Controllers
等)如果被同步到 Azure AD,可能会增加潜在的安全攻击面。攻击者可以尝试利用这些账户进行恶意活动。 - 不必要的权限:系统 OU 中的账户和组可能拥有不必要的高权限。如果这些账户被同步到 Azure AD,可能会导致权限管理混乱,甚至泄露敏感权限。
- 跨域信任风险:同步
ForeignSecurityPrincipals
中的对象可能导致跨域信任相关的问题,增加潜在的安全风险。
管理复杂性
- 管理复杂性增加:同步大量不必要的 OU 和组会增加 Azure AD 的管理复杂性,使得权限管理和策略应用变得更加困难。
- 误操作风险:同步到 Azure AD 的不必要对象可能会被误操作,导致系统配置错误或意外权限分配。
具体的 OU 和潜在问题
-
Builtin OU:
- 包含内置的安全主体和组,通常这些对象在 Azure AD 中没有实际用途,但可能会被误用或误配置。
-
Domain Controllers OU:
- 包含域控制器的计算机账户,这些账户不需要在 Azure AD 中存在。同步这些账户可能导致不必要的复杂性和潜在的安全风险。
-
Computers OU:
- 包含计算机账户,通常不需要在 Azure AD 中管理这些对象。同步这些对象会增加不必要的数据量。
-
System OU:
- 包含系统相关的对象,这些对象不需要在 Azure AD 中使用,增加潜在的误操作风险。
-
Infrastructure、LostAndFound、ForeignSecurityPrincipals OU:
- 这些 OU 包含系统或跨域信任相关的对象,同步这些对象可能增加管理复杂性和潜在的安全隐患。
最佳实践
- 只同步需要的 OU:仅同步那些包含实际使用的用户和组的 OU,避免同步系统和不必要的对象。
- 最小权限原则:确保同步的对象和账户仅具有执行其职能所需的最小权限,减少潜在的安全风险。
- 定期审核:定期审核同步配置和对象,确保同步的对象仍然符合当前的业务和安全需求。
标识用户
这个页面是 Azure AD Connect 配置向导中的“唯一标识用户”步骤。在这个步骤中,你需要选择如何在本地目录和 Azure AD 中标识用户。标识用户的方式有助于确保同步过程中用户的唯一性和一致性。以下是页面中各选项的解释以及推荐的配置:
用户在本地目录中的表示方式
-
用户仅跨所有目录表示一次:
- 每个用户在整个目录中仅表示一次,确保唯一性。
-
用户标识跨多个目录存在:
- 当用户可能存在于多个目录中时使用此选项,通过特定的匹配方式确保唯一性。
匹配方式
-
邮件属性:
- 使用用户的邮件属性作为唯一标识。适用于用户的邮件地址在整个组织中是唯一的情况。
-
ObjectSID 和 msExchMasterAccountSID/msRTCSIP-OriginatorSID 属性:
- 使用对象的 SID 以及 Exchange 或 Lync 的 SID 属性进行匹配。适用于用户具有多个身份的情况(如资源邮箱、Lync 用户等)。
-
SAMAccountName 属性和 MailNickName 属性:
- 使用用户的 SAMAccountName 和 MailNickName 进行匹配。适用于使用这些属性进行标识的情况。
-
特定属性:
- 使用自定义的特定属性进行匹配。适用于有特殊需求的自定义环境。
选择使用 Azure AD 标识用户
-
允许 Azure 管理源定位:
- 允许 Azure 自动管理和处理用户的标识和源定位。这是推荐的默认选项。
-
选择特定属性:
- 手动选择特定属性进行用户标识和源定位。适用于有特殊需求的自定义环境。
推荐配置
对于大多数情况,推荐的配置是:
-
用户在本地目录中的表示方式:
- 选择“用户仅跨所有目录表示一次”。这可以确保每个用户在整个目录中是唯一的,避免重复。
-
匹配方式:
- 如果你的用户邮件地址在整个组织中是唯一的,推荐选择“邮件属性”。这是一个常见且直观的标识方式。
- 如果你有特殊的匹配需求,可以选择“特定属性”并配置相应的属性。
-
选择如何使用 Azure AD 标识用户:
- 选择“允许 Azure 管理源定位”。这是默认和推荐的选项,简化了管理并确保一致性。
最佳实践
- 选择“用户仅跨所有目录表示一次”。
- **选择“邮件属性”**作为匹配方式(如果适用)。
- 选择“允许 Azure 管理源定位”。
邮件属性:如果你选择了“邮件属性”,确保每个用户的邮件地址在本地 AD 和 Azure AD 中都是唯一的。
特定属性:如果选择“特定属性”,需要确保你选择的属性在所有用户中是唯一且一致的。
通过这种配置,你可以确保用户在本地 AD 和 Azure AD 之间的一致性和唯一性,简化同步管理并减少潜在的问题。
筛选用户和设备
前面已经选择了要同步的 OU。在这一步,你可以进一步细化同步的范围,选择特定的用户和设备进行同步。这个额外的筛选步骤提供了更精细的控制,以确保你只同步特定的用户和设备,即使他们位于已经选择的 OU 内。
同步所有用户和设备
- 选项:同步所有用户和设备。
- 作用:选择此选项将会同步你在之前选择的所有 OU 中的所有用户和设备。
- 使用场景:如果你希望同步所有位于已选择 OU 内的用户和设备,选择此选项。
同步所选内容
- 选项:同步所选内容。
- 作用:选择此选项可以进一步指定一个包含将被同步的用户和设备的组。只有属于该组的用户和设备会被同步到 Azure AD,即使他们在已选择的 OU 内。
- 使用场景:如果你希望在已选择的 OU 内进一步筛选同步对象,只同步特定组中的用户和设备,选择此选项。
具体配置步骤
-
选择同步范围:
- 同步所有用户和设备:适用于需要全面同步所有已选择 OU 内用户和设备的情况。选择此选项后,点击“下一步”继续。
- 同步所选内容:适用于只想同步特定用户和设备的情况。选择此选项后,继续配置组名或 DN。
-
配置组名或 DN:
- 在“组”字段中输入组的名称或 DN。
- 例如,如果你有一个组名为
AVDUsers
,你可以输入AVDUsers
或者该组的 DN(如CN=AVDUsers,OU=Groups,DC=demo,DC=com
)。 - 点击“解析”按钮确认组名或 DN 是否正确。
注意:在 Azure AD Connect 的这一配置步骤中,你不能直接在“组”字段中输入多个组名称来实现同步多个组。你需要采用一种方式来实现同步多个组中的成员。以下是实现这一目标的具体步骤和方法:
方法一:创建一个包含多个组成员的单个组
步骤 1:创建一个主组
- 在 Active Directory 用户和计算机中,创建一个新的安全组,例如
MasterSyncGroup
。 - 将需要同步的多个组(例如
Group1
和Group2
)的所有成员添加到MasterSyncGroup
中。
步骤 2:在 Azure AD Connect 中同步主组
- 在 Azure AD Connect 配置界面,选择“同步所选内容”。
- 在“组”字段中输入
MasterSyncGroup
的 DN(Distinguished Name),例如:CN=MasterSyncGroup,OU=Groups,DC=demo,DC=com
- 点击“解析”按钮确认组名。
示例 PowerShell 脚本:将多个组的成员添加到一个主组中
# 需要同步的组列表
$groups = @("Group1", "Group2")# 主组
$masterGroup = "MasterSyncGroup"# 检查主组是否存在,如果不存在则创建
if (-not (Get-ADGroup -Filter {Name -eq $masterGroup})) {New-ADGroup -Name $masterGroup -GroupScope Global -GroupCategory Security -Path "OU=Groups,DC=demo,DC=com"
}# 将多个组的成员添加到主组中
foreach ($group in $groups) {$members = Get-ADGroupMember -Identity $groupforeach ($member in $members) {Add-ADGroupMember -Identity $masterGroup -Members $member}
}
方法二:使用同步规则编辑器配置筛选条件
如果你不想创建一个包含多个组成员的主组,可以通过配置 Azure AD Connect 同步规则编辑器来实现同步多个组。
步骤 1:打开同步规则编辑器
- 在安装了 Azure AD Connect 的服务器上,打开“Azure AD Connect 同步管理器”。
- 选择“配置”并打开“同步规则编辑器”。
步骤 2:创建或编辑同步规则
- 创建一个新的入站同步规则,或编辑现有的同步规则。
步骤 3:配置规则
- 创建一个新的规则,名称例如“SyncMultipleGroups”。
- 配置范围条件来匹配多个组,例如:
memberOf=CN=Group1,OU=Groups,DC=demo,DC=com
memberOf=CN=Group2,OU=Groups,DC=demo,DC=com
- 使用 OR 逻辑将这些条件组合起来:
(memberOf=CN=Group1,OU=Groups,DC=demo,DC=com) (memberOf=CN=Group2,OU=Groups,DC=demo,DC=com)
步骤 4:保存规则并触发同步
- 保存你创建的同步规则。
- 手动触发同步,确保新规则生效:
Start-ADSyncSyncCycle -PolicyType Delta
密码写回
在配置 Azure AD Connect 时,你可以选择启用一些可选功能来增强同步功能。每个可选功能的具体用途和推荐配置如下:
可选功能解释和推荐配置
-
Exchange 混合部署
- 用途:如果你在本地有 Exchange 服务器,并希望与 Exchange Online 实现混合部署。
- 推荐:如果你没有本地 Exchange 服务器或不需要混合部署,不要选择。
-
Exchange 邮件公用文件夹
- 用途:用于同步本地 Exchange 公用文件夹到 Exchange Online。
- 推荐:如果你没有使用 Exchange 公用文件夹,不要选择。
-
Azure AD 应用和属性筛选
- 用途:用于选择性地同步 Azure AD 的特定应用和属性。
- 推荐:如果你需要精细控制哪些应用和属性同步,可以选择。否则,默认不勾选。
-
密码哈希同步
- 用途:将本地 Active Directory 的密码哈希同步到 Azure AD,允许用户使用相同的密码登录 Azure AD 服务。
- 推荐:建议启用。这是实现单一登录(SSO)和提高用户体验的关键功能。
-
密码写回
- 用途:允许在 Azure AD 中重置或更改的密码写回到本地 AD。
- 推荐:建议启用。这可以提高用户密码管理的灵活性,允许用户通过 Azure AD 重置密码。
-
组写回
- 用途:将 Azure AD 中的组同步回本地 AD。
- 推荐:仅在你需要将 Azure AD 组同步回本地 AD 时选择。如果不需要,不要勾选。
-
设备写回
- 用途:将 Azure AD 中注册的设备信息同步回本地 AD。
- 推荐:建议启用。如果你使用 Azure AD 设备注册和管理,这是一个有用的功能。
-
目录扩展属性同步
- 用途:同步扩展属性,这些属性可能包括自定义属性或第三方应用需要的属性。
- 推荐:仅在你有特定需求时选择。如果不需要,不要勾选。
最佳实践
根据常见的需求和最佳实践,以下是推荐的勾选配置:
- 密码哈希同步(建议启用)
- 密码写回(建议启用)
- 设备写回(建议启用,如果你使用 Azure AD 设备注册和管理)
其他选项保持默认未选状态,除非有明确的需求。完成配置后,点击“下一步”继续配置 Azure AD Connect。