AAD Connect自定义同步用户上云

使用场景:我想同步本地AD域的那些用户信息、账号上云端做SSO登录和权限管控,但是不希望使用快速上传一股脑传上去,所以使用自定义同步功能上传,这是一篇对AAD CONNECT这个应用的详解和配置步骤推荐
在这里插入图片描述

AD Connect如何自定义配置?

![[Pasted image 20240614103857.png]]

使用快速设置,默认是使用同步密码哈希值去AAD的,实际上AD同步有三种同步方式,密码哈希,本地AD验证和ADFS联合身份验证。

所需的组件

![[Pasted image 20240614104055.png]]

在 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.
连接目录

![[Pasted image 20240614112323.png]]

在 Azure AD Connect 的配置过程中,选择链接目录时,需要提供一个具有足够权限的 Active Directory (AD) 林账户。这个账户必须是能够读取和写入 AD 中用户和组信息的账户。以下是一些关于选择和配置这个账户的建议:

  1. 域管理员账户

    • 最常用的选择是使用域管理员账户。域管理员账户通常具有足够的权限来读取和写入所有需要的 AD 对象。
    • 示例:如果你的域是 demo.com,一个域管理员账户可能是 demo\administrator
  2. 自定义服务账户

    • 为了安全和最佳实践,你可以创建一个专门的服务账户,授予它必要的权限,而不是使用域管理员账户。
    • 该账户需要以下权限:
      • 读取和写入用户和组信息:确保该账户可以读取和写入所有需要同步的 OU 中的用户和组。
      • 密码回写权限(如果使用密码回写功能):该账户需要有权限重置密码。
域/OU筛选

![[Pasted image 20240614112216.png]]

同步不推荐的 OU(组织单位)可能会带来一些问题和安全隐患。以下是具体的风险和潜在问题:

具体风险
增加不必要的同步负担
  • 同步性能:同步大量不必要的对象会增加 Azure AD Connect 的负担,导致同步过程变慢,影响整体性能。
  • 数据量增加:不必要的对象会增加 Azure AD 中的数据量,可能导致管理复杂性增加。
安全隐患
  • 系统账户暴露:内置的系统账户(如 BuiltinDomain Controllers 等)如果被同步到 Azure AD,可能会增加潜在的安全攻击面。攻击者可以尝试利用这些账户进行恶意活动。
  • 不必要的权限:系统 OU 中的账户和组可能拥有不必要的高权限。如果这些账户被同步到 Azure AD,可能会导致权限管理混乱,甚至泄露敏感权限。
  • 跨域信任风险:同步 ForeignSecurityPrincipals 中的对象可能导致跨域信任相关的问题,增加潜在的安全风险。
管理复杂性
  • 管理复杂性增加:同步大量不必要的 OU 和组会增加 Azure AD 的管理复杂性,使得权限管理和策略应用变得更加困难。
  • 误操作风险:同步到 Azure AD 的不必要对象可能会被误操作,导致系统配置错误或意外权限分配。
具体的 OU 和潜在问题
  1. Builtin OU

    • 包含内置的安全主体和组,通常这些对象在 Azure AD 中没有实际用途,但可能会被误用或误配置。
  2. Domain Controllers OU

    • 包含域控制器的计算机账户,这些账户不需要在 Azure AD 中存在。同步这些账户可能导致不必要的复杂性和潜在的安全风险。
  3. Computers OU

    • 包含计算机账户,通常不需要在 Azure AD 中管理这些对象。同步这些对象会增加不必要的数据量。
  4. System OU

    • 包含系统相关的对象,这些对象不需要在 Azure AD 中使用,增加潜在的误操作风险。
  5. Infrastructure、LostAndFound、ForeignSecurityPrincipals OU

    • 这些 OU 包含系统或跨域信任相关的对象,同步这些对象可能增加管理复杂性和潜在的安全隐患。

最佳实践

  • 只同步需要的 OU:仅同步那些包含实际使用的用户和组的 OU,避免同步系统和不必要的对象。
  • 最小权限原则:确保同步的对象和账户仅具有执行其职能所需的最小权限,减少潜在的安全风险。
  • 定期审核:定期审核同步配置和对象,确保同步的对象仍然符合当前的业务和安全需求。
标识用户

![[Pasted image 20240614112707.png]]

这个页面是 Azure AD Connect 配置向导中的“唯一标识用户”步骤。在这个步骤中,你需要选择如何在本地目录和 Azure AD 中标识用户。标识用户的方式有助于确保同步过程中用户的唯一性和一致性。以下是页面中各选项的解释以及推荐的配置:

用户在本地目录中的表示方式
  1. 用户仅跨所有目录表示一次

    • 每个用户在整个目录中仅表示一次,确保唯一性。
  2. 用户标识跨多个目录存在

    • 当用户可能存在于多个目录中时使用此选项,通过特定的匹配方式确保唯一性。
匹配方式
  1. 邮件属性

    • 使用用户的邮件属性作为唯一标识。适用于用户的邮件地址在整个组织中是唯一的情况。
  2. ObjectSID 和 msExchMasterAccountSID/msRTCSIP-OriginatorSID 属性

    • 使用对象的 SID 以及 Exchange 或 Lync 的 SID 属性进行匹配。适用于用户具有多个身份的情况(如资源邮箱、Lync 用户等)。
  3. SAMAccountName 属性和 MailNickName 属性

    • 使用用户的 SAMAccountName 和 MailNickName 进行匹配。适用于使用这些属性进行标识的情况。
  4. 特定属性

    • 使用自定义的特定属性进行匹配。适用于有特殊需求的自定义环境。
选择使用 Azure AD 标识用户
  1. 允许 Azure 管理源定位

    • 允许 Azure 自动管理和处理用户的标识和源定位。这是推荐的默认选项。
  2. 选择特定属性

    • 手动选择特定属性进行用户标识和源定位。适用于有特殊需求的自定义环境。
推荐配置

对于大多数情况,推荐的配置是:

  • 用户在本地目录中的表示方式

    • 选择“用户仅跨所有目录表示一次”。这可以确保每个用户在整个目录中是唯一的,避免重复。
  • 匹配方式

    • 如果你的用户邮件地址在整个组织中是唯一的,推荐选择“邮件属性”。这是一个常见且直观的标识方式。
    • 如果你有特殊的匹配需求,可以选择“特定属性”并配置相应的属性。
  • 选择如何使用 Azure AD 标识用户

    • 选择“允许 Azure 管理源定位”。这是默认和推荐的选项,简化了管理并确保一致性。
最佳实践
  1. 选择“用户仅跨所有目录表示一次”
  2. **选择“邮件属性”**作为匹配方式(如果适用)。
  3. 选择“允许 Azure 管理源定位”

邮件属性:如果你选择了“邮件属性”,确保每个用户的邮件地址在本地 AD 和 Azure AD 中都是唯一的。
特定属性:如果选择“特定属性”,需要确保你选择的属性在所有用户中是唯一且一致的。

通过这种配置,你可以确保用户在本地 AD 和 Azure AD 之间的一致性和唯一性,简化同步管理并减少潜在的问题。

筛选用户和设备

前面已经选择了要同步的 OU。在这一步,你可以进一步细化同步的范围,选择特定的用户和设备进行同步。这个额外的筛选步骤提供了更精细的控制,以确保你只同步特定的用户和设备,即使他们位于已经选择的 OU 内。

![[Pasted image 20240614114646.png]]

![[Pasted image 20240614131555.png]]

同步所有用户和设备
  • 选项:同步所有用户和设备。
  • 作用:选择此选项将会同步你在之前选择的所有 OU 中的所有用户和设备。
  • 使用场景:如果你希望同步所有位于已选择 OU 内的用户和设备,选择此选项。
同步所选内容
  • 选项:同步所选内容。
  • 作用:选择此选项可以进一步指定一个包含将被同步的用户和设备的组。只有属于该组的用户和设备会被同步到 Azure AD,即使他们在已选择的 OU 内。
  • 使用场景:如果你希望在已选择的 OU 内进一步筛选同步对象,只同步特定组中的用户和设备,选择此选项。
具体配置步骤
  1. 选择同步范围

    • 同步所有用户和设备:适用于需要全面同步所有已选择 OU 内用户和设备的情况。选择此选项后,点击“下一步”继续。
    • 同步所选内容:适用于只想同步特定用户和设备的情况。选择此选项后,继续配置组名或 DN。
  2. 配置组名或 DN

    • 在“组”字段中输入组的名称或 DN。
    • 例如,如果你有一个组名为 AVDUsers,你可以输入 AVDUsers 或者该组的 DN(如 CN=AVDUsers,OU=Groups,DC=demo,DC=com)。
    • 点击“解析”按钮确认组名或 DN 是否正确。

注意:在 Azure AD Connect 的这一配置步骤中,你不能直接在“组”字段中输入多个组名称来实现同步多个组。你需要采用一种方式来实现同步多个组中的成员。以下是实现这一目标的具体步骤和方法:

方法一:创建一个包含多个组成员的单个组
步骤 1:创建一个主组
  1. 在 Active Directory 用户和计算机中,创建一个新的安全组,例如 MasterSyncGroup
  2. 将需要同步的多个组(例如 Group1Group2)的所有成员添加到 MasterSyncGroup 中。
步骤 2:在 Azure AD Connect 中同步主组
  1. 在 Azure AD Connect 配置界面,选择“同步所选内容”。
  2. 在“组”字段中输入 MasterSyncGroup 的 DN(Distinguished Name),例如:
    CN=MasterSyncGroup,OU=Groups,DC=demo,DC=com
    
  3. 点击“解析”按钮确认组名。
示例 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:打开同步规则编辑器
  1. 在安装了 Azure AD Connect 的服务器上,打开“Azure AD Connect 同步管理器”。
  2. 选择“配置”并打开“同步规则编辑器”。
步骤 2:创建或编辑同步规则
  1. 创建一个新的入站同步规则,或编辑现有的同步规则。
步骤 3:配置规则
  1. 创建一个新的规则,名称例如“SyncMultipleGroups”。
  2. 配置范围条件来匹配多个组,例如:
    • memberOf=CN=Group1,OU=Groups,DC=demo,DC=com
    • memberOf=CN=Group2,OU=Groups,DC=demo,DC=com
  3. 使用 OR 逻辑将这些条件组合起来:
    (memberOf=CN=Group1,OU=Groups,DC=demo,DC=com) 
    (memberOf=CN=Group2,OU=Groups,DC=demo,DC=com)
    
步骤 4:保存规则并触发同步
  1. 保存你创建的同步规则。
  2. 手动触发同步,确保新规则生效:
    Start-ADSyncSyncCycle -PolicyType Delta
    
密码写回

在配置 Azure AD Connect 时,你可以选择启用一些可选功能来增强同步功能。每个可选功能的具体用途和推荐配置如下:

![[Pasted image 20240614131939.png]]

可选功能解释和推荐配置
  1. Exchange 混合部署

    • 用途:如果你在本地有 Exchange 服务器,并希望与 Exchange Online 实现混合部署。
    • 推荐:如果你没有本地 Exchange 服务器或不需要混合部署,不要选择。
  2. Exchange 邮件公用文件夹

    • 用途:用于同步本地 Exchange 公用文件夹到 Exchange Online。
    • 推荐:如果你没有使用 Exchange 公用文件夹,不要选择。
  3. Azure AD 应用和属性筛选

    • 用途:用于选择性地同步 Azure AD 的特定应用和属性。
    • 推荐:如果你需要精细控制哪些应用和属性同步,可以选择。否则,默认不勾选。
  4. 密码哈希同步

    • 用途:将本地 Active Directory 的密码哈希同步到 Azure AD,允许用户使用相同的密码登录 Azure AD 服务。
    • 推荐建议启用。这是实现单一登录(SSO)和提高用户体验的关键功能。
  5. 密码写回

    • 用途:允许在 Azure AD 中重置或更改的密码写回到本地 AD。
    • 推荐建议启用。这可以提高用户密码管理的灵活性,允许用户通过 Azure AD 重置密码。
  6. 组写回

    • 用途:将 Azure AD 中的组同步回本地 AD。
    • 推荐:仅在你需要将 Azure AD 组同步回本地 AD 时选择。如果不需要,不要勾选。
  7. 设备写回

    • 用途:将 Azure AD 中注册的设备信息同步回本地 AD。
    • 推荐建议启用。如果你使用 Azure AD 设备注册和管理,这是一个有用的功能。
  8. 目录扩展属性同步

    • 用途:同步扩展属性,这些属性可能包括自定义属性或第三方应用需要的属性。
    • 推荐:仅在你有特定需求时选择。如果不需要,不要勾选。
最佳实践

根据常见的需求和最佳实践,以下是推荐的勾选配置:

  • 密码哈希同步(建议启用)
  • 密码写回(建议启用)
  • 设备写回(建议启用,如果你使用 Azure AD 设备注册和管理)

其他选项保持默认未选状态,除非有明确的需求。完成配置后,点击“下一步”继续配置 Azure AD Connect。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/47351.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

easyswoole/Hyperf开发的php系统 cpu超负荷定位排查

EasySwoole EasySwoole是一个高性能的PHP协程框架,它利用了协程的特性来提高PHP应用的性能。当使用EasySwoole开发的PHP系统遇到CPU超负荷的问题时,可以从以下几个方面进行全方位排查和优化: 1. 监控系统资源 使用top、htop、vmstat、iost…

隐性行为克隆——机器人的复杂行为模仿学习的新表述

介绍 论文地址:https://arxiv.org/pdf/2109.00137.pdf 源码地址:https://github.com/opendilab/DI-engine.git 近年来,人们对机器人学习进行了大量研究,并取得了许多成果。其中,模仿学习法尤其受到关注。这是一种从人…

iOS ------ 消息传递和消息转发

一,消息传递 在OC中,传递消息就是在对象上调用方法。 相对于C语言的方法就“静态绑定”的函数,在编译器就决定了运行时所要调用的函数。在OC中,如果向某对象传递消息,就会使用动态绑定机制来决定需要调用那个方法。调…

全球风味:红酒中的地域风情与特色

在红酒的世界里,每一滴琼浆玉液都承载着地域的风情与特色。它们不仅仅是葡萄酒,更是大自然的恩赐,是时间的馈赠,是人类智慧的结晶。今天,就让我们一起走进红酒的世界,感受那些来自不同地域的风情与魅力。 …

前端面试题日常练-day91 【Less】

题目 希望这些选择题能够帮助您进行前端面试的准备,答案在文末 在Less中,以下哪种语法适用于创建混合器(Mixin)? a) mixin b) #mixin c) .mixin d) extend Less中的子元素选择器是用什么符号表示的? a) &…

【Vue】RouterLink的replace属性

1、作用:控制路由跳转时操作浏览器历史记录的模式; 2、浏览器的历史记录有两种写入方式:分别为push和replace,push是追加历史记录,replace是替换当前记录。路由跳转时候默认为push; 3、如何开启replace模式…

ROS2入门到精通—— 2-6 ROS2实战:可调节纯跟踪算法(局部规划)

1 Regulated Pure Pursuit 纯追踪算法变体:调节纯追踪算法 将自适应纯追踪(Adaptive Pure Pursuit)算法的特性与围绕线性速度的规则相结合,重点关注消费类、工业和服务型机器人的需求。我们还实现了几种常识性的安全机制&#xf…

业务终端动态分配IP-DHCP技术、DHCP中继技术

一、为什么需要DHCP? 1、许多设备(主机、无线WiFi终端等)需要动态地址的分配; 2、人工手工配置任务繁琐、容易出错,比如:IP地址冲突; 3、网络规模扩大、复杂度提高,网络配置越来越复杂,计算机的位置变化和数量超过可分配IP地址的数量,造成IP地址变法频繁以及IP地址…

Monaco 使用 DocumentHighlightProvider

Monaco 中有一个文字高亮的功能,就是选中一个单词,会高亮文字文档中所有出现该单词的位置,效果如下: Monaco 默认就有这个功能,可以根据具体需求进行定制。通过 registerDocumentHighlightProvider 进行注册 实现 pro…

java包装类 及其缓存

Java 包装类(Wrapper Class)是将基本数据类型转换为对象的方式,每个基本数据类型在 java.lang 包中都有一个相应的包装类: Boolean 对应基本类型 boolean Character 对应基本类型 char Integer 对应基本类型 int Float 对应基本…

Java时间练习(8) (2024.7.17)

Duration、Period、ChronoUnit类 package DurationPeriodChronoUnitExercise20240717; import java.time.*; import java.time.temporal.ChronoUnit;// ChronoUnit是用来得到时间间隔的类,涵盖了所有时间的单位,Duration和Period用法和其一致&#xff0…

【Java数据结构】初始线性表之一:链表

为什么要有链表 上一节我们描述了顺序表:【Java数据结构】初识线性表之一:顺序表-CSDN博客 并且进行了简单模拟实现。通过源码知道,ArrayList底层使用数组来存储元素。 由于其底层是一段连续空间,当在ArrayList任意位置插入或者…

代码随想录二刷复习(二分法)

二分法模板: 1:左闭右闭区间写法 第一种写法,我们定义 target 是在一个在左闭右闭的区间里,也就是[left, right] (这个很重要非常重要)。 区间的定义这就决定了二分法的代码应该如何写,因为定…

vue 给特定满足条件的表单数据添加背景颜色,组件的 row-class-name

1、:row-class-name"tableRowClassName" 可为表格每行根据后面的函数绑定class名 <!-- 列表框 --><div class"tableList"><el-table :data"teamModelListTable" style"width: 100%"selection-change"handleSele…

Java中的限定符和基本数据类型

限定符和数据类型 1、限定符 限定符一般指用于改变类、方法、变量等成员行为的关键字&#xff0c;这里分为访问限定符和非访问限定符。 访问限定符 访问范围privatedefaultprotectedpublic同一类1111同一包111&#xff08;其他包&#xff09;子类11全局1 非访问限定符 final&…

el-table表格操作列错行处理

解决方法&#xff1a; <style>::v-deep .el-table th.el-table__cell > .cell {white-space: nowrap !important;} </style>

不想填邀请码?Xinstall来帮你,一键安装无忧愁

在这个快节奏的时代&#xff0c;每一个点击都承载着用户的期待与耐心。然而&#xff0c;在下载App的过程中&#xff0c;繁琐的邀请码填写往往成为了用户体验的一大障碍。你是否也曾经因为不愿填写邀请码而放弃了一款心仪的App&#xff1f;今天&#xff0c;就让我们一起走进Xins…

镜像与容器

Docker Image (镜像) Docker 镜像概念 Docker iamge 本质上是一个 read-only 只读文件&#xff0c;这个文件包含了文件系统、源码、库文件、依赖、工具等一些运行 application 所必需的文件。 可以把 Docker image 理解成一个模板&#xff0c;可以通过这个模板实例化出来很多…

【Datawhale AI 夏令营】入门lightgbm及特征工程进行实践

文章目录 1. LightGBM简介2. 导入必要的库3. 加载数据集4. 数据可视化4.1 不同类型对应目标值的柱状图4.2 特定ID的目标值折线图 5. 特征工程5.1 合并训练集和测试集并进行排序5.2 历史平移5.3 窗口统计5.4 数据切分5.5 确定输入特征 6. 模型训练与评估7. 结果展示 1. LightGBM…

一文看懂JTAG基本知识

文章目录 1、JTAG是什么?1.1边界扫描2、JTAG如何起作用?2.1 PC控制JTAG2.2 并行端口2.3 JTAG TAP控制器2.4 计算JTAG链中元件个数2.5 获得JTAG链上芯片的ID3、边界扫描3.1、SAMPLE3.2、边界扫描寄存器3.3、JTAG还可以做什么?参考资料:1、JTAG是什么? JTAG是20世纪80年代开…