Microsoft 365 用户、许可证与 B2B 来宾协同:从创建到治理的全链路实战
〇、2025 推荐身份治理架构整篇博文的实操都围绕这张图展开HR 系统Workday / SAP / 自研 │ ▼ Lifecycle WorkflowEntra ID Governance │ ─── 入职 / 调岗 / 离职 触发 Joiner-Mover-Leaver 流程 ▼ Cloud Sync / Entra Connect Sync │ ─── 新建混合场景优先 Cloud SyncExchange Hybrid / 设备写回 / 复杂过滤仍需 Connect Sync ▼ Microsoft Entra ID User │ ├── Group-based License需要 Entra ID P1 或包含该能力的许可证 │ ├── Conditional AccessZero-Trust Baseline │ ├── Authentication Method Policy │ ├── Phishing-resistant MFA │ ├── PasskeyFIDO2 / 平台密钥结合 TAP 完成首次注册 │ └── Temporary Access PassTAP │ └── 资源访问 ├── Microsoft 365 Groups → Teams / SharePoint / Planner / Loop ├── Security Group → Conditional Access / Intune / Power BI ├── Application → Entra Enterprise Applications └── Distribution Group / Mail Contact → Exchange Online一、身份模型先选对再创建用户Microsoft 365 的用户身份本质上是Microsoft Entra ID中的一个对象。Module 2 反复强调先选模型再创建用户原因很简单身份模型决定后续的认证、SSO、Conditional Access、合规边界。三种身份模型模型身份来源认证位置适用场景Cloud-only云身份直接在 Entra ID 创建Entra ID小型公司、无 AD 基础设施Synchronized同步身份本地 AD → Entra Connect / Cloud Sync同步后本地或云皆可大多数混合企业Federated联合身份本地 AD FS / 第三方 IdP如 Okta、PingIdP复杂 SSO、合规要求高的企业2025 年的工程性变化Microsoft Entra Cloud Sync对大多数新建混合场景已成为优先推荐方案但Cloud Sync 并不完全替代 Entra Connect Sync——以下场景仍需 Connect SyncExchange Hybrid混合部署设备写回Device Writeback复杂 OU / 属性过滤部分高级同步能力如 Group Writeback。PasskeyFIDO2 / 平台密钥已完全 GAMicrosoft 鼓励把所有管理员账户升级到Phishing-resistant MFACross-Tenant Sync让多子公司场景不再需要 ADFS 信任链直接跨租户同步用户/组Temporary Access PassTAP让新员工入职当天即可无密码登录 → 设置 Passkey——管理员应通过Authentication Methods Policy控制允许的认证方式。Authentication Strength认证强度Conditional Access 2023 GA、2024–2025 大规模采用可针对不同资源强制不同强度Passwordless MFA / Phishing-resistant MFA / Multifactor 等Authentication Method Reports Insights管理员可通过 Entra → Protection → Authentication Methods 看每个方法的注册率 / 使用率是评估 Passkey 推广进度的重要工具。二、创建用户4 种主流方式对比方式适用上限/特点Microsoft 365 管理中心临时少量一次一个CSV 批量导入中等规模上线单次最多 50,000 个用户Microsoft Graph PowerShell / CLI自动化、IT 脚本化可结合 HR 系统事件驱动目录同步Entra Connect Sync / Cloud Sync本地 AD → 云持续同步1. CSV 批量导入的关键字段CSV 模板必须包含的列简化版User Name,First Name,Last Name,Display Name,Job Title,Department,Office Number,Office Phone,Mobile Phone,Fax,Address,City,State,ZIP/Postal Code,Country or Region,Usage Location,User Type,Domain Name,PasswordUsage Location一定不能省略——这是触发某些区域受限服务许可证如 Teams 电话、Copilot 区域可用性开关的关键字段User Type默认为 Member关于 Password 字段是否自动生成初始密码由导入向导决定不是单纯CSV 留空 自动生成。导入完成后可下载包含初始密码的结果文件请妥善保存。2. PowerShell 批量创建Graph SDK 推荐Import-Module Microsoft.Graph.Users $params { accountEnabled $true displayName Ada Liu mailNickname adaliu userPrincipalName adaliucontoso.com passwordProfile { forceChangePasswordNextSignIn $true password (New-Guid).Guid Aa1! } usageLocation CN jobTitle Senior PM department Engineering } New-MgUser -BodyParameter $params三、用户生命周期删了之后 30 天还能救——但要分清恢复对象和恢复数据1. 删除用户的软删除机制用户被删除后分配的 M365 许可证立即释放License Slot 不需要等 30 天账号进入soft-deleted状态 30 天期间任何登录被拒绝但管理员可以恢复30 天后变为hard-deletedEntra ID 中的用户对象永久删除无法直接恢复。2. 恢复到底恢复什么⚠️必须区分两个完全不同的概念维度恢复 Entra ID 用户对象恢复 Microsoft 365 数据可恢复时限30 天软删除窗口内由备份方案决定30 天 → 数年恢复手段Entra 管理中心 / Graph APIRestore-MgDirectoryDeletedItemMicrosoft 365 Backup / 第三方备份Veeam / Acronis / Druva ...恢复的是什么用户账号、组成员关系、License 分配Exchange 邮箱、OneDrive 文件、SharePoint 文档实际工程中超过 30 天的场景Entra ID 用户对象重新创建业务数据从Microsoft 365 Backup或第三方备份还原License、组成员关系重建。3. 恢复操作30 天内# 查看已删除用户 Get-MgDirectoryDeletedItem -DirectoryObjectId objectId # 恢复 Entra ID 用户对象 Restore-MgDirectoryDeletedItem -DirectoryObjectId objectId⚠️恢复后的会话与 Token 处理恢复后的用户必须重新登录才能使用 M365旧的 Refresh Token / 浏览器会话 / 移动设备缓存全部失效。如果该用户在被删除前存在已登录的设备会话需要调用Revoke-MgUserSignInSession强制使旧 Token 失效通知用户在新设备或重新登录后建立新会话复核 Conditional Access 是否对恢复用户仍正确应用。4. 离职流程 Checklist✅ 转移 OneDrive 所有权管理员接管窗口已 GA✅ 转移邮箱Shared Mailbox 或另一位用户✅ 取消许可证分配立即释放 License Slot✅ 移除管理员角色如果有✅ 阻断登录 TokenRevoke-MgUserSignInSession✅ 删除账号30 天内可恢复 Entra ID 对象超过 30 天需重新创建 从备份恢复数据。四、许可证分配2025 年最常见的几类问题1. 我买了 E5为什么有些功能还是用不了最常见原因该用户没被分配 E5而是只被分配了下层 E1/E3该 Service Plan 被单独禁用例如某些公司为节省成本关闭了电话会议用户 Usage Location 未设置某些国家/区域的服务计划不会启用该用户走的是Direct assignment需要重新基于组Group-based licensing分配。2. 基于组的许可证分配推荐前置条件Group-based licensing 需要Microsoft Entra ID P1或包含该能力的许可证如 M365 E3 / E5、EM E5 等。# 需要 Microsoft Graph PowerShell SDK # 权限LicenseAssignment.ReadWrite.All $sku Get-MgSubscribedSku | Where-Object SkuPartNumber -eq ENTERPRISE_E5 Set-MgGroupLicense -GroupId groupId -AddLicenses ({SkuId $sku.SkuId}) -RemoveLicenses ()好处用户入职/调岗自动生效与Microsoft Entra ID Governance的Access Package Lifecycle Workflow联动可实现全自动报表、计费、回滚简单。重要机制细节Group-based Licensing 并不会绕开用户 License 的本质——组作为授权聚合层最终每个用户仍会写入assignedLicenses字段User 对象上的实际授权。也就是说计费仍按实际分配 License 的用户数计Get-MgUser -PropertyId assignedLicenses仍能看到用户实际持有的 Service Plan组的角色是驱动授权的容器不是 License 的存放位置。五、B2B 来宾协同把外部人员装进你的 Entra ID1. B2B 的本质Microsoft Entra B2B 让外部用户以guest身份存在于你的租户里不复制用户凭据——外部用户用自己的 IdPGoogle、Facebook、企业 AD、组织账号…来宾账户是 Entra ID 中的一个 User 对象userTypeGuest可以加入安全组Security Group、Microsoft 365 Group并因此访问 Teams、SharePoint、Planner、Loop、Power BI 等资源前提是相应服务支持 Guest资源支持的边界部分旧应用、第三方 SaaS、特定自定义角色可能不直接支持 Guest需要评估。2. 来宾权限默认级别B2B 来宾在目录里的默认权限为Limited access远低于 Member。管理员可在 Entra 管理中心 → External Identities → External collaboration settings 中调整为Same as member users极少使用等于完全信任Restricted access默认之上进一步限制——例如来宾不能枚举其他用户。2025 年新引入的External Collaboration Settings还多了信任 MFA 状态跨租户传递等新能力可以避免外部合作伙伴在每次邀请时再 MFA 一次。3. 邀请来宾的方式与对象生命周期正确的邀请与授权逻辑邀请阶段 │ ▼ Guest 对象在租户中创建userTypeGuest │ ▼ 管理员/Owner 授予对特定组、应用、Teams、SharePoint 站点等资源的访问权限也就是说先有 Guest 对象再授予资源访问。邀请到某个组/应用实际上是邀请 → 创建 Guest → 加入到组/应用两阶段动作。邀请入口Entra 管理中心手动填邮箱发邀请Graph API自动化Self-service sign-up via user flow为应用/资源开启注册流外部用户自助注册适用于社区、合作伙伴门户SharePoint / Teams 站点在站点成员页面直接邀请实际仍是先创建 Guest再加入站点。# 通过 Microsoft Graph 邀请来宾 $invitation { invitedUserEmailAddress partnerexample.com inviteRedirectUrl https://myapp.contoso.com/welcome invitedUserDisplayName Partner User sendInvitationMessage $true } New-MgInvitation -BodyParameter $invitation4. 来宾的退出机制来宾账户不会自动过期。Access Review是主要的清理机制可以按组织策略设置为每月、每季度、每半年等周期自动复核90 天是常见实践但不是默认值Access Review 结束后具体行为取决于 Access Review 的完成设置Completion Settings可配置为自动批准、自动拒绝、自动移除访问权限等不同策略也可以手动清理长期不活跃来宾。5. Cross-Tenant Access Settings未显式配置 Cross-Tenant Access Settings 时双方租户将采用默认跨租户访问策略Allow Default Settings而不是自动阻止。企业应根据业务伙伴关系显式配置Inbound Trust外部用户登录时是否信任其 IdP 的 MFA 状态Outbound Access本租户用户访问外部租户资源的策略MFA Trust跨租户 MFA 是否互认。这样才能实现精细化的跨组织访问控制。6. 区分Cross-Tenant Synchronization vs HR Provisioning2024–2025 年 Entra ID 引入的两个容易混淆的能力能力解决什么问题数据方向典型场景Cross-Tenant SynchronizationCTS多 Entra 租户之间的用户 / 组同步Tenant A ⇄ Tenant B子公司 / 合并收购后身份统一HR ProvisioningWorkday / SuccessFactors / SAPHR 系统作为权威源 → Entra IDHR → EntraWorkday 入职 / 离职自动驱动 Entra 用户生命周期CTS主要解决租户间身份打通不是 HR 源HR Provisioning才是把 Workday 等作为权威源自动驱动 Entra ID 用户创建 / 更新 / 停用Salesforce Provisioning则属于 SaaS 应用层的 Outbound Provisioning把 Entra 用户同步到 Salesforce实施时不要把 CTS 当成 HR 集成来用两者是不同的能力。六、与外部协作的安全默认值2024–2025微软已经把以下能力演进为 GA / 默认推荐来宾邀请的 MFA 满足跨租户信任时不再重复验证External Identities Cross-Tenant Access Settings应根据业务伙伴关系显式配置B2B 同步B2B Sync让 SaaS 应用的来宾账号可以从外部系统如 Workday、Salesforce同步TeamsShared Channels跨组织共享通道已 GA是真正的外部协同主力。来宾激增 ≠ Consent Phishing来宾数量异常增加应结合 Audit Log、Entra Sign-in Logs、Enterprise Applications、Consent Activity 等进一步分析而不是直接判定为 Consent Phishing。可能原因包括大规模项目上线B2B Sync 自动邀请Teams 站点成员扩容合作伙伴门户 Self-service Sign-up 触发真正的 Consent Phishing 攻击。GAL 中 Guest 的可见性根据组织策略决定是否将 Guest 隐藏在地址列表GAL中并定期检查该配置默认情况下 Guest 通常不作为 GAL 的重要成员出现但并非自动隐藏安全起见建议显式设置 Guest 隐藏 GAL。属性归属澄清HiddenFromAddressListsEnabled是Exchange Online Recipient 属性通过 Exchange Online 管理而非 Entra ID User 对象属性。也就是说该属性的设置位置在Exchange 管理中心 / Exchange Online PowerShell如Set-MailUser -HiddenFromAddressListsEnabled $trueEntra ID → Users 界面看不到但 Exchange GAL 渲染时会读取B2B Guest 在 Entra 中是User对象在 Exchange 中是MailUser对象因此走的是Set-MailUser或Set-Recipient而不是Set-MgUser。七、Mail ContactsExchange Online 里的地址簿名片邮件联系人Mail Contact与 B2B 来宾的区别特性Mail ContactB2B Guest出现在 GAL✅✅有可登录的 Entra ID 用户对象❌✅可登录 M365❌✅可加入 Teams❌✅主要用途外发邮件地址簿协作关键澄清Mail Contact 不创建可登录的 Entra ID 用户对象仅用于邮件通讯录和邮件路由这与 B2B Guest创建可登录对象是本质区别而不是占不占用户额度的问题。联系人可在新 Exchange 管理中心 / 经典 EAC / Exchange Online PowerShell中管理所需权限Recipient Management / Organization Management / Mail Recipients 之一。# 新建联系人 New-MailContact -Name John Doe (Vendor) -ExternalEmailAddress john.doevendor.com -DisplayName John Doe何时用 Contact何时用 B2B Guest只需对方收 / 发邮件且不需要任何 M365 协作 →Mail Contact更轻量、不创建可登录对象需要对方加入 Teams / SharePoint / Loop 工作区 / Power BI →B2B Guest混合场景一家供应商的主要联系人作为 Mail Contact频繁邮件往来同时为该公司 IT 接口人开 B2B Guest协同项目。两者不互斥可以共存。八、运营 Checklist身份模型Cloud-only / Hybrid / Federated已明确混合场景已评估 Cloud Sync vs Entra Connect SyncCloud Sync / Entra Connect 已稳定同步超过 7 天这是企业建议的稳定性观察窗口并非产品硬性要求但有助于识别早期同步异常所有用户Usage Location已设置许可证按组Group-based licensing分配Entra ID P1 或以上许可证已具备Passkey TAP 已为所有管理员开启Authentication Methods Policy 已收紧B2B 来宾策略默认 Limited 周期性 Access Review来宾 GAL 可见性已显式配置HiddenFromAddressListsEnabled离职流程已脚本化30 天内可恢复 Entra ID 对象超过 30 天重新创建 从备份恢复数据Mail Contacts 与 B2B Guest 按业务场景分类使用联系人定期清理过期项Cross-Tenant Access Settings 已按业务伙伴关系显式配置。九、与 Operational Excellence 的连接用户与来宾的管理最终要落到Operational Excellence上Daily 巡检Sign-in Risk / Service HealthWeekly 巡检Get-MgUser -Filter userType eq Guest统计来宾数量变化未激活 License 用户清单 → License 浪费报告Monthly 巡检来宾激增、Consent Grant 异常、应用风险评分Quarterly 巡检Access Review、Conditional Access 策略审计、PIM 角色复核Yearly完整 User / Group / Guest 配置审计 Backup Restore 演练。

相关新闻

企业数据安全建设:从分类分级到闭环防护的实战指南

企业数据安全建设:从分类分级到闭环防护的实战指南

1. 数据安全建设的核心挑战与破局思路企业数据安全建设从来都不是简单的技术堆砌,而是一场涉及组织架构、业务流程和技术体系的系统性工程。我经历过数十个甲方数据安全建设项目,发现90%的失败案例都源于同一个问题:把数据安全当作纯技术问题…

2026/8/3 19:14:02 阅读更多 →
通用二维码生成 API

通用二维码生成 API

此文章对开放数据接口 API 之「通用二维码生成 API」进行了功能介绍、使用场景介绍以及调用方法的说明,供用户在使用数据接口时参考之用。1. 产品功能 此次开放了通用二维码生成在线接口,用于通用的二维码生成接口,支持中英文字符 / 智能识别…

2026/8/3 19:14:02 阅读更多 →
实战指南:基于PySide6构建高效桌面宠物应用框架

实战指南:基于PySide6构建高效桌面宠物应用框架

实战指南:基于PySide6构建高效桌面宠物应用框架 【免费下载链接】DyberPet Desktop Cyber Pet Framework based on PySide6 项目地址: https://gitcode.com/GitHub_Trending/dy/DyberPet DyberPet是一个基于PySide6(Qt for Python)开发…

2026/8/3 19:13:01 阅读更多 →

最新新闻

PICAXE编程进阶:从输入输出到项目实战的嵌入式系统开发指南

PICAXE编程进阶:从输入输出到项目实战的嵌入式系统开发指南

1. 项目概述:从入门到实践,解锁PICAXE编程的核心技能上次我们聊了PICAXE编程的入门,搭建了环境,点亮了第一个LED,算是和这个小家伙打了个招呼。很多朋友反馈说,感觉像是刚拿到驾照,只会直行和倒…

2026/8/4 3:48:26 阅读更多 →
ECL模型计量与应用全解析:从风险建模到业务决策落地

ECL模型计量与应用全解析:从风险建模到业务决策落地

1. 从“黑盒”到“白盒”:ECL模型究竟是什么?如果你在金融、风控或者数据分析领域工作,最近几年肯定没少听到“ECL模型”这个词。它就像一个突然闯入大家视野的“明星”,在各种报告、监管要求和项目方案里频繁出现。但说实话&…

2026/8/4 3:48:26 阅读更多 →
C++内存管理:malloc、new与operator new详解

C++内存管理:malloc、new与operator new详解

1. 内存分配机制的基本概念在C/C编程中,内存管理是开发者必须掌握的核心技能之一。malloc、new和operator new这三个概念经常让初学者感到困惑,它们虽然都用于内存分配,但在使用场景、实现机制和语言层级上存在本质区别。内存分配的本质是从操…

2026/8/4 3:48:26 阅读更多 →
Ubuntu DNS解析失败:从原理到实战的全面排查与修复指南

Ubuntu DNS解析失败:从原理到实战的全面排查与修复指南

1. 问题初探:当你的Ubuntu突然“失联”你有没有遇到过这种情况?在Ubuntu终端里,无论是想用apt update更新一下软件源,还是想ping一下百度看看网络通不通,屏幕上突然弹出一行刺眼的错误:Temporary failure r…

2026/8/4 3:48:26 阅读更多 →
基于分布式屋顶光伏电站安防监控的系统设计-单片机物联网项目

基于分布式屋顶光伏电站安防监控的系统设计-单片机物联网项目

项目名称:基于分布式屋顶光伏电站安防监控的系统设计 一、项目说明 **摘要:**随着分布式屋顶光伏电站的广泛应用,其安防监控的重要性日益凸显。本文旨在设计一种高效、可靠的分布式屋顶光伏电站安防监控系统。系统综合运用多种先进技术&#…

2026/8/4 3:48:26 阅读更多 →
Unity ECS架构进阶:EcsRx响应式编程与Entitas实战指南

Unity ECS架构进阶:EcsRx响应式编程与Entitas实战指南

1. 项目概述:为什么我们需要EcsRx?如果你在Unity项目里摸爬滚打过一段时间,尤其是做过一些需要处理大量动态实体(比如成千上万的单位、粒子、子弹)的游戏,大概率会对传统的面向对象(OOP&#xf…

2026/8/4 3:47:25 阅读更多 →

日新闻

AI Agent白手起家26: 使用标准事件驱动大模型实践

AI Agent白手起家26: 使用标准事件驱动大模型实践

纲要 练习目标:掌握大模型标准事件的调用回顾 LangChain 中的核心标准事件 invokestreambatchastream_eventswith_structured_output 环境准备实战代码:多种事件调用对比 同步调用与流式输出批量处理异步事件流监听结构化输出 运行说明与预期结果总结与扩…

2026/8/4 0:00:40 阅读更多 →
dealsea是什么?跨境卖家必知的美国deal站入门指南

dealsea是什么?跨境卖家必知的美国deal站入门指南

说实话,第一次听说美国这个老牌折扣网站的跨境卖家,十个有八个会问同一个问题:这个平台到底是干嘛的?我见过一个做家居出口的朋友,他在亚马逊上月销二十万美金,却从来没用过它。我给他看了首页——一屏一屏…

2026/8/4 0:01:40 阅读更多 →
清华大学重磅EST:植物自导电闪蒸焦耳热600°C/2600°C两步法!稀土超积累植物秒级转化为CeO₂-石墨烯电催化剂!

清华大学重磅EST:植物自导电闪蒸焦耳热600°C/2600°C两步法!稀土超积累植物秒级转化为CeO₂-石墨烯电催化剂!

通讯作者:邓兵、刘建国通讯单位:清华大学DOI:https://doi.org/10.1021/acs.est.6c00603研究背景稀土元素(REEs)是清洁能源技术与电子器件不可或缺的核心原料,然而传统提取方式依赖能耗高、排放大的采矿与强…

2026/8/4 0:01:40 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/3 4:58:13 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/3 1:53:31 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/3 4:36:35 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/3 13:07:03 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/3 5:19:38 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/3 8:27:36 阅读更多 →