AAD Connect自定义同步用户上云

news2024/11/15 13:52:19

使用场景:我想同步本地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 $group
    foreach ($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.coloradmin.cn/o/1932188.html

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

相关文章

百分点科技签约潍坊市数据产业发展战略合作

近日,潍坊市数据产业发展战略合作签约仪式举行,潍坊市人民政府副市长张震生,潍坊市财政局党组书记、局长王金祥,潍坊市大数据局党组书记陈强出席大会并致辞。百分点科技受邀进行战略合作签约,共同见证潍坊市数据要素市…

Python和C++骨髓细胞进化解析数学模型

🎯要点 🎯 数学模型邻接矩阵及其相关的转移概率 | 🎯蒙特卡罗模拟进化动力学 | 🎯细胞进化交叉图族概率 | 🎯进化图模型及其数学因子 | 🎯混合图模式对进化概率的影响 | 🎯造血干细胞群体的空间…

【异步爬虫:利用异步协程抓取一部电影】

利用异步协程抓取一部电影 我们把目光转向wbdy. 目前该案例还是可以用的. 我们想要抓取网上的视频资源就必须要了解我们的视频网站是如何工作的. 这里我用91看剧来做举例. 其他网站的原理是一样的. 1.视频网站是如何工作的 假设, 你现在想要做一个视频网站. 也有很多的UP猪…

【数学建模】高温作业专用服装设计(2018A)隐式差分推导

为方便计算,对区域进行离散化处理,采用隐式差分格式进行离散计算。隐式差分格式如图: 每层材料内部 对第 j j j层材料: 其中, λ j \lambda_j λj​表示第 j j j层的热扩散率, c j c_j cj​表示第 j j j层的比热容…

IntelliJ IDEA 2024.1 最新变化 附问卷调查 AI

IntelliJ IDEA 2024.1 最新变化 问卷调查项目在线AI IntelliJ IDEA 2024.1 最新变化关键亮点全行代码补全 Ultimate对 Java 22 功能的支持新终端 Beta编辑器中的粘性行 AI AssistantAI Assistant 改进 UltimateAI Assistant 中针对 Java 和 Kotlin 的改进代码高亮显示 Ultimate…

第100+16步 ChatGPT学习:R实现Xgboost分类

基于R 4.2.2版本演示 一、写在前面 有不少大佬问做机器学习分类能不能用R语言,不想学Python咯。 答曰:可!用GPT或者Kimi转一下就得了呗。 加上最近也没啥内容写了,就帮各位搬运一下吧。 二、R代码实现Xgboost分类 &#xff08…

智能守护校园餐桌:校园阳光食堂视频AI监控智能管理方案

一、背景分析 随着科技的飞速发展,智能化、信息化已成为现代校园管理的重要趋势。校园食堂作为学校重要的服务设施,其食品安全、环境卫生和秩序管理显得尤为重要。作为校园生活中不可或缺的一部分,食堂的管理也急需引入先进技术,…

【Git】(基础篇二)—— Git操作

Git操作 在了解git理论知识之后,本文将结合实践操作为你讲解git的底层逻辑 Git的安装和配置 git官网下载:https://git-scm.com/ 下载后安装时除了选择安装地址外,其余都保持默认下一步即可。 安装好后鼠标右键会出现两个新的选项【Open …

STM32 BootLoader 刷新项目 (五) 获取软件版本号-命令0x51

STM32 BootLoader 刷新项目 (五) 获取软件版本号-命令0x51 下面我们来讲解第一个指令,获取软件版本号命令-0x51. 在BootLoader中获取软件版本号的操作有多个重要的作用,具体如下: 版本管理: 识别当前版本:通过获取软…

Apache Flink 入门

零、概述 Apache Flink 是一个高性能的开源分布式流处理框架,专注于实时数据流的处理。 它设计用于处理无界和有界数据流,在内存级速度下提供高效的有状态计算。 Flink 凭借其独特的Checkpoint机制和Exactly-Once语义,确保数据处理的准确性…

如何追查一个packet在linux 系统哪里丢失

要想追一个包在系统哪里丢失了, 就要了解 一个应用层的包在送出时 要经历那些 检查点 和被丢掉的点。 1. 在传输层,如果是 tcp 包 会有contrack 的 buf 的限制 可能会导致 packets 的丢失。 > 检查办法:查看dmesg日志有报错:k…

大厂面试-基本功

大厂面试第4季 服务可用性多少个9是什么意思遍历集合add或remove操作bughashcode冲突案例BigdecimalList去重复IDEA Debugger测试框架ThreaLocal父子线程数据同步 InheritableThreadLocal完美解决线程数据同步方案 TransmittableThreadLocal 服务可用性多少个9是什么意思 遍历集…

线程池笔记

笔记梳理 前言.PHONYC标准库头文件C/C通用或C特有头文件mkdirc_str()snprintfvsnprintfumaskopen函数可变参数列表va_startva_endfunctionalstatic_castpthread_cond_init_threads.emplace_backstd::bindstd::placeholdersThreadPool(const ThreadPool<T> &tp) dele…

抢着发布地表最强开源模型,Meta凭什么勇攀AI高峰?

【科技明说 &#xff5c; 科技热点关注】 据外媒可靠消息&#xff0c;扎克伯格的Meta 公司将在7月23日发布开源大模型Llama 3-405B&#xff0c;这是基于现有80亿和700亿参数两个版本之外推出的4050亿参数版本&#xff0c;号称当前地球表面最强大的开源大模型。 Llama 3-405B是…

快速排序及归并排序的实现与排序的稳定性

目录 快速排序 一. 快速排序递归的实现方法 1. 左右指针法 步骤思路 为什么要让end先走&#xff1f; 2. 挖坑法 步骤思路 3. 前后指针法 步骤思路 二. 快速排序的时间和空间复杂度 1. 时间复杂度 2. 空间复杂度 三. 快速排序的优化方法 1. 三数取中优化 2. 小区…

【C++】拷贝构造函数及析构函数

&#x1f4e2;博客主页&#xff1a;https://blog.csdn.net/2301_779549673 &#x1f4e2;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01; &#x1f4e2;本文由 JohnKi 原创&#xff0c;首发于 CSDN&#x1f649; &#x1f4e2;未来很长&#…

超详细信息收集篇

1 域名信息收集 1.1 域名是什么 域名&#xff08;英语&#xff1a;Domain Name&#xff09;&#xff0c;又称网域&#xff0c;是由一串用点分隔的名字组成的 Internet 上某一台 计算机 或计算机组的名称&#xff0c;用于在数据传输时对计算机的定位标识&#xff08;有时也指地…

学习分布式事务遇到的小bug

一、介绍Seata 在处理分布式事务时我用到是Seata&#xff0c;Seata的事务管理中有三个重要的角色&#xff1a; TC (Transaction Coordinator) - 事务协调者&#xff1a;维护全局和分支事务的状态&#xff0c;协调全局事务提交或回滚。 TM (Transaction Manager) - 事务管理器…

DockerHub无法拉取镜像怎么办

快速构建企业级AIGC项目 LangChat是Java生态下企业级AIGC项目解决方案&#xff0c;在RBAC权限体系的基础上&#xff0c;集成AIGC大模型功能&#xff0c;帮助企业快速定制知识库、企业机器人。 网站文档&#xff1a;Index – LangChat 后台地址&#xff1a;LangChain Chat 前台…

3.5、matlab打开显示保存点云文件(.ply/.pcd)以及经典点云模型数据

1、点云数据简介 点云数据是三维空间中由大量二维点坐标组成的数据集合。每个点代表空间中的一个坐标点&#xff0c;可以包含有关该点的颜色、法向量、强度值等额外信息。点云数据可以通过激光扫描、结构光扫描、摄像机捕捉等方式获取&#xff0c;广泛应用于计算机视觉、机器人…