三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

Microsoft 365 Groups 与动态成员:构建企业协作与治理中枢

Microsoft 365 Groups 与动态成员:构建企业协作与治理中枢

〇、重新定位:组 ≠ 权限中枢,而是协作与治理中枢

把"Group 是 M365 权限中枢"作为标题是危险的——容易让实施人员误以为Conditional Access、Intune、Azure RBAC 都可以靠 M365 Group 一肩挑。

更准确的层级划分:

Microsoft Entra ID(顶级) ├── User ├── Device ├── Service Principal ├── Group │ ├── Security Group(授权主体:Conditional Access / Intune / Azure RBAC / Power BI / Defender / Purview / Enterprise Applications) │ ├── Microsoft 365 Group(协作容器:邮件、文档库、可选 Teams / Loop) │ ├── Dynamic Membership Group(自动成员:User 或 Device,二选一) │ └── Role-assignable Group(特权角色容器:PIM Eligible / Activation) └── Administrative Unit(管理边界,与 Group **同级**而非子节点)

也就是说:

  • Security Group 才是授权主体,是 Conditional Access / Intune / Power BI / Azure RBAC / Defender / Purview / Enterprise Applications 的常见目标;
  • Microsoft 365 Group 是协作容器,提供 Exchange Mailbox、SharePoint Team Site、可选 Teams Team / Loop Workspace;
  • Copilot 的可读范围取决于 ACL(SharePoint、Teams Membership、Exchange、OneDrive),不是"组成员 = 一切"。

把"权限中枢"换成"协作与治理中枢",是企业架构师级别的基本要求。


一、四种核心组的角色定位

对象主要作用典型消费者
Security Group授权Conditional Access、Intune、Power BI、SharePoint 权限、Azure RBAC、Microsoft Defender(Endpoint Device Group)、Microsoft Purview(Adaptive Scope)、Enterprise Applications(App Assignment)
Microsoft 365 Group协作Outlook、Teams、Planner、SharePoint、Loop(可选)
Dynamic Membership Group自动成员大规模组织(按部门、地区、设备属性)
Role-assignable Group特权角色PIM Eligible 角色、Activation 控制(不支持 Dynamic Membership,不能嵌套
Administrative Unit管理边界Helpdesk / 区域 IT 仅管理本 AU 内用户/设备
Access Package访问治理外部用户、外部组织、SaaS 应用

关键:Conditional Access、Intune 不是 M365 Group 的设计目标,它们的常见目标是 Security Group 或直接 User。混用会让权限边界模糊。

关于 Azure RBAC:Azure RBAC 的 Role Assignment 主体可以是 User / Group / Service Principal / Managed Identity,其中Security Group 是 Azure RBAC 最推荐的企业授权方式之一(便于按团队/部门授权)。M365 Group不能作为 Azure RBAC 的主体。

📌Role-assignable Group 的工程约束isAssignableToRole=true的组是特权访问场景的特殊 Group 类型,与普通组不兼容:

  • 不支持 Dynamic Membership(不能是 Dynamic Group);
  • 不能嵌套任何其他组;
  • 只能被分配 Entra Roles(PIM Eligible / Activation),不能作为 Conditional Access / Intune / Power BI 的目标组;
  • 创建时需要 Privileged Role Administrator 角色(普通目录写权限不足);
  • 只能由 Privileged Role Administrator 添加 Owner/Member
  • 创建数量、Owner、Member 有更严格的配额与审计;
  • 一些企业把"应急访问组"、"特权角色持有者"等显式建模为 Role-assignable Group,便于 Access Review 与合规审计。

二、组嵌套:能用,但不能依赖多层嵌套

1. 真实支持矩阵

父组 ↓ \ 子组 →Security GroupM365 GroupDistribution GroupMail-enabled Security
Security Group❌(不推荐)❌(Exchange 范围)❌(Exchange 范围)
M365 Group
Distribution GroupExchange 范围
Mail-enabled SecurityExchange 范围

📌关键事实

  • Security Group 可以嵌套 Security Group(Entra ID API 允许);
  • Security Group 嵌套 M365 Group 是技术上允许但工程上不推荐——Outlook/Teams 不会展开显示,Conditional Access 可能不会传播;
  • M365 Group 不能嵌套任何组(Outlook UX 拒绝 + Teams 不展开 + Graph 在多数版本中拒绝)。

2. Conditional Access 与嵌套的真实行为

⚠️不要依赖"嵌套安全组在 Conditional Access 中自动展开"

Microsoft Entra 对 Conditional Access 中直接分配的组是展开的,但对多层嵌套的处理在不同服务间并不一致:

  • Conditional Access只设计为直接成员组,多层嵌套不可预测——这是 Microsoft 官方推荐口径(Conditional Access assignments should use direct group membership);
  • Intune:比 Conditional Access 更严格,对嵌套展开的支持更弱;
  • SharePoint 权限:传统 SharePoint 组不展开 Entra 嵌套安全组(需要在 SharePoint 端单独加成员);
  • Power BI:使用 EffectiveIdentity 时只看直接成员;
  • Exchange Online:邮件展开规则遵循 Microsoft 365 Group 设计,不展开嵌套。

3. 经验法则(更安全的工程实践)

❌ 不要这样设计: CA-Engineering-All └── All Employees (Security Group) └── Engineering (Security Group) └── Developers (Security Group) ✅ 推荐这样设计: CA-Engineering-Users ← 直接包含目标用户 CA-Developers-Users ← 直接包含目标用户

也就是说:Conditional Access 与 Intune 策略的目标组保持"扁平、单层、显式"——这是 MS-102 实施派最常考也最容易踩坑的点。


三、动态组成员:让规则自动管理大型组织

1. 适用场景

  • 销售部门全员自动获得某 Power BI 工作区访问 → 按department=Sales自动加入;
  • 北京办公室的所有设备自动获得某 Intune 配置 → 按office=Beijing自动加入"Beijing Devices"动态设备组;
  • 外部合作伙伴员工自动加入"Vendors"组 → 按userType=GuestcompanyName=Partner A

2. 动态组的硬性约束

  • 类型锁定:一个动态组只能基于用户属性 OR 设备属性不能混合
  • 设备组规则只能引用设备属性(deviceOSType、deviceOSVersion、displayName、extensionAttributes);
  • 普通管理员不能手动添加 / 删除成员——所有成员变更走规则;
  • Owner 的权限边界:Owner 可以管理规则、修改组属性、审批加入请求(若启用),但不能直接手动添加或移除成员(这是与普通 Security Group 的关键区别);
  • 规则处理时延:用户/设备属性变化后,系统会扫所有动态组规则决定是否调整成员——大规模租户慎用过于复杂的规则,否则处理时延会变高;
  • 属性未同步会让成员"卡在旧状态"——监控动态组的lastMembershipProcessed时间戳是日常巡检项;
  • 规模:动态组支持远超 5000 人。早期 5000 是历史限制概念,当前 Entra ID 能支持大型动态组,但实际处理性能受租户对象数量、规则复杂度、属性同步速度等因素影响——不保证"任意租户下稳定数十万级",复杂规则 + 频繁属性变化会引入处理时延。

3. 规则示例

# 所有位于 Engineering 部门且是全职员工的内部员工 (user.department -eq "Engineering") and (user.accountEnabled -eq true) and (user.userType -eq "Member")
# 所有 Windows 11 企业版设备 (device.deviceOSType -eq "Windows") and (device.deviceOSVersion -startsWith "10.0.22")

更复杂的规则可使用-any/-all集合运算符,也可以引用extensionAttribute1..15(很多公司把 HR 系统的字段映射到这里)。

4. 创建动态 M365 Group 的 PowerShell(修正版)

$params = @{ displayName = "Beijing-Engineering-Members" mailNickname = "bj-eng" mailEnabled = $true # ← M365 Group 必须是 $true securityEnabled = $false # ← M365 Group 是 $false(这是 Security Group 的关键区别) groupTypes = @("Unified","DynamicMembership") # ← 关键:Unified + DynamicMembership membershipRule = '(user.city -eq "Beijing") and (user.department -eq "Engineering")' membershipRuleProcessingState = "On" } New-MgGroup -BodyParameter $params

📌为什么必须securityEnabled=$false+groupTypes contains Unified

  • M365 Group 的本质是协作容器(邮箱 + 站点),不是 Security Principal
  • 如果同时设置mailEnabled=$true+securityEnabled=$true组会被创建为 Mail-enabled Security Group不是 M365 Group,API 请求也可能直接失败(取决于版本);
  • 创建动态 Security Group(无邮箱)的代码完全不一样:securityEnabled=$truemailEnabled=$falsegroupTypes=@("DynamicMembership")Unified

之前的旧版示例代码混淆了两种组,会导致创建为非 M365 Group 类型或请求失败,这里已修正。


四、组命名策略(Naming Policy):把"组泛滥"挡在前面

员工在 Outlook / Teams / Planner 中随手就能创建 M365 组,几个月后你就会发现"销售部"、"sales"、"Sales Team"、"销售"四个组并存。命名策略是治理利器。

1. 命名策略能做什么

  • Prefix-Suffix 模板:强制[Dept]-[GroupName]-[Region]风格;
  • 自定义 blocked words:阻止使用敏感词(如"CEO"、"薪资"、"Compliant");
  • 应用范围:组名组 alias(mailNickname)

2. 命名策略 PowerShell(注意:必须先 Get-MgDirectorySettingTemplate)

# Step 1: 获取 Group.Unified 模板 $template = Get-MgDirectorySettingTemplate | Where-Object Id -eq "62375ab9-6b52-47ed-826b-58e47e0e5bdb" # Step 2: 检查是否已存在该设置 $existing = Get-MgDirectorySetting | Where-Object TemplateId -eq $template.Id if (-not $existing) { # Step 3a: 首次创建 settings $createParams = @{ TemplateId = $template.Id Values = @( @{ Name = "EnableMSStandardRetentionRules"; Value = "false" } @{ Name = "PrefixSuffixNamingRequirement"; Value = "[Department]_[GroupName]_[Region]" } @{ Name = "BlockedWords"; Value = @("CEO","CFO","机密","Confidential","Salary") } @{ Name = "AllowToAddGuests"; Value = "true" } @{ Name = "UsageGuidelinesUrl"; Value = "https://intranet.contoso.com/group-policy" } ) } New-MgDirectorySetting -BodyParameter $createParams } else { # Step 3b: 已存在则 Update(幂等更新) $updateParams = @{ Values = @( @{ Name = "PrefixSuffixNamingRequirement"; Value = "[Department]_[GroupName]_[Region]" } @{ Name = "BlockedWords"; Value = @("CEO","CFO","机密","Confidential","Salary") } @{ Name = "AllowToAddGuests"; Value = "true" } @{ Name = "UsageGuidelinesUrl"; Value = "https://intranet.contoso.com/group-policy" } ) } Update-MgDirectorySetting -DirectorySettingId $existing.Id -BodyParameter $updateParams }

⚠️命名策略生效的工程细节

  • blocked words 命中时大小写不敏感,且会同时作用于 group name 和 mailNickname;但不控制 Teams Channel 名——Channel 名走 Teams 管理策略,不受 Group Naming Policy 约束;
  • 组名前缀/后缀模板引用语法(如[Department])会替换为创建时的属性值,未配置相应属性的用户可能跳过模板;
  • 全局目录设置id 是租户级唯一的——多次调用Update-MgDirectorySetting幂等更新,不会创建多个 settings 对象;
  • 不要用Set-MgDirectorySetting(早期命令已不建议),改用New-MgDirectorySetting+Update-MgDirectorySetting+Get-MgDirectorySettingTemplate拿到 Group.Unified 模板 id。

3. 最佳实践(来自 Module 3 + 企业经验)

  • ✅ 用短前缀(3–4 字符);
  • Prefix-Suffix 模板中支持的替换 token 是 Microsoft 预定义的,主要是:
    • [Department](从user.department读取)
    • [Company](从user.companyName读取)
    • [Office](从user.office读取)
    • [CountryOrRegion][StateOrProvince][City][Title][UsageLocation]
    • 不支持任意字符串 token(如[Region][BU][GroupName])——这些需要在治理流程中额外实现;
  • ✅ 用属性值而非自由文本做后缀(地区/部门用枚举);
  • ✅ 不要超过264 字符总长度;
  • ✅ 把公司敏感词列表(合规、品牌、内部代号)加入 blocked words;
  • ✅ 强制至少2 个所有者(避免单点失联);
  • ✅ 关键部门(财务、法务、HR、研发)的"敏感组"关闭自助创建。

五、Exchange Online 与 SharePoint Online 中的"组"

1. Exchange Online 中的组

  • M365 组的邮箱:收件箱、日历、文件(链接到 SharePoint);
  • 通讯组 / 启用邮件的安全组:仅分发;
  • 在 EAC 里能调整:组的邮件地址、是否隐藏成员、谁可以发邮件到该组、是否需要审批。

2. SharePoint Online 中的组

  • 每个 M365 Group →一个 SharePoint Team Sitehttps://contoso.sharepoint.com/sites/<group-alias>);
  • 每个Standard Channel→ 站点文档库中的一个独立文件夹(但Private/Shared Channel 不是,见下文)。

3. Teams 三类 Channel 与 SharePoint 的真实映射

Channel 类型SharePoint 映射创建机制备注
Standard ChannelTeam Site 文档库下的Channel Folder自动随 Channel 创建默认形态,文件夹继承父站点权限
Private Channel独立 SharePoint Site(非 Team Site 子文件夹)自动创建独立 Site与父 Team Site 权限隔离,IT 需单独治理
Shared Channel独立 SharePoint Site Collection(跨组织可见)创建时挂载到独立 Site Collection跨组织协作主力,需在 SharePoint 单独管理

📌关键认知更新:在 SharePoint 文档库下"建文件夹"不会在 Teams 自动创建频道——这条反向不成立原则仍然正确。但 Private/Shared Channel 已经不是"文件夹"而是独立 Site / Site Collection,权限、安全、Compliance 都需要单独治理,不能用 Team Site 的策略套用。


六、M365 Group 的资源绑定关系(重新定义)

旧版描述"一个组 = 一个 Site = 一个 Team = 一个 Loop Workspace"是错误的,因为Teams Team、Loop Workspace 都是可选绑定

Microsoft 365 Group(基础身份容器) ├── SharePoint Team Site(必绑定,自动创建) ├── Exchange Online Mailbox(必绑定,自动创建) ├── Planner Plan(**可创建绑定** —— 需用户首次在 Planner 中创建 Plan 后才占用) │ ├── Teams Team(**可选** —— 管理员手动创建) │ ├── Standard Channel(→ Team Site Documents 文件夹) │ ├── Private Channel(→ 独立 SharePoint Site) │ └── Shared Channel(→ 独立 SharePoint Site,跨组织) │ └── Loop Workspace(**可选** —— 管理员显式启用,且基于 SharePoint Embedded) ├── Loop Components(通常存储于 OneDrive) └── Loop Pages / Loop Workspaces(基于 SharePoint Embedded)

关键事实:

  • Teams Team 不是默认:M365 Group 创建时不会自动创建 Teams Team,需要 Owner 手动"在 Teams 中启用";
  • Loop Workspace 不是默认:必须显式启用 Loop 组件 + 单独 Loop Admin Center 配置;
  • Loop 文件存储:Loop Components 通常存于 OneDrive;Loop Pages/Workspace 基于SharePoint Embedded(新的容器类型),与传统 M365 Group Team Site 是平行的两个体系。

七、Microsoft Loop 与 M365 Group 的关系澄清

1. Loop 的三类对象与存储位置

Loop 对象存储位置
Loop Components(.loop 文件、表格、白板)通常存于OneDrive for Business(创建者)
Loop Pages(.page 容器)可能存于 OneDrive 或 SharePoint Embedded 容器
Loop Workspaces(跨组跨应用的协作空间)基于SharePoint Embedded架构,独立于 M365 Group Team Site

📌SharePoint Embedded(2024 GA)是 Microsoft 引入的"应用化 SharePoint 容器",与传统的 M365 Group Team Site 是并列的两个体系。Loop Workspace 使用 SharePoint Embedded 创建独立容器,不是 M365 Group 的子节点。

2. 与 M365 Group 的关系

  • 互补:Loop 组件可在 M365 Group 的 Teams 频道、Outlook 邮件中嵌入使用;
  • 非替代:Loop Workspace 不是 M365 Group 的"另一种形式",是基于 SharePoint Embedded 的独立协作空间;
  • 治理差异:Loop Workspace 使用独立容器权限模型,不自动继承 M365 Group 成员关系——也就是说,某个用户被加入 M365 Group 并不自动获得该 Group 内 Loop Workspace 的访问权限。需要在 Loop Admin Center + SharePoint Embedded Admin 中单独配置。

八、组治理工具箱(2025–2026)

工具作用关键能力
Microsoft 365 Groups Expiration Policy闲置组自动过期/软删除默认建议 365 天(系统并不默认启用),可按部门调整为 180/730 天
Microsoft Entra ID Governance → Access Packages把"加入敏感组"做成一键申请流程审批、过期、自动续期
Lifecycle WorkflowHR 事件驱动 Joiner-Mover-Leaver自动入组/移组
Microsoft Purview → Activity Explorer审计每个组的创建、共享、文件操作Activity Explorer + 审计日志
SharePoint Advanced Management(SAM)治理 Site + Channel 访问Restricted Access Control、Site Access Review、Data Access Governance(包含 Oversharing Review)
Microsoft 365 CopilotAI 助手,引用 Group / Loop 内容权限边界 = ACL,不是"组成员 = 一切"

Expiration Policy 的工程经验

365 天不是"标准",而是"默认起点",需要按部门细化:

组类型推荐周期
项目型 M365 组(3–6 个月项目周期)180 天
长期治理型组("全公司福利委员会")730 天
"固定参考资源"型组关闭过期+ 改用 Access Package + 年度复核

九、Copilot Governance:组治理的新维度

Copilot for M365 让"组"重要性提升,但Copilot 的可读范围 ≠ 组成员。Copilot 实际读取的是:

User Permission(用户级权限起点) │ ├── SharePoint ACL(站点/库/项权限 → 含"全公司可见"风险点) ├── Teams Membership(Team + Standard/Private/Shared Channel) ├── Exchange Mailbox Permission(Full Access / Send As / Send on Behalf) └── OneDrive Permission(个人库的共享设置)

也就是说:

  • 即使用户不在某 M365 Group 的成员列表,只要该用户对 SharePoint 站点有 ACL 权限,Copilot 仍能访问;
  • "全公司可见"的 SharePoint 站点 / OneDrive 共享 / Teams 共享,会让 Copilot跨过组边界获取内容;
  • 对于Exchange内容,Copilot 主要基于用户邮箱权限(如 Mailbox Full Access、Send As、Send on Behalf)以及 Exchange 内容索引可检索性——并非所有 Full Access 都会被 Copilot 平等索引;
  • 这就是为什么SharePoint Oversharing Review是 Copilot 治理的第一步。

Copilot 治理清单(2025+)

  • SharePoint Oversharing Review:用 SAM 识别"全公司可见"的站点与库;
  • Sensitivity Labels 覆盖度:核心文档(财务、HR、法务、研发)必须打"机密"标签;
  • Restricted SharePoint Search:限制 Copilot 可检索的 SharePoint 范围(按站点/库粒度)。这是过渡期保护措施——长期仍需通过权限治理(Oversharing Review + Sensitivity Label + Conditional Access)解决,不要把 RSS 当作永久控制。
  • Purview DLP:防止 Copilot 总结时泄露敏感字段;
  • Copilot Usage Analytics:识别异常大量查询 / 跨边界访问的用户行为;
  • AI Access Review:季度复核 Copilot 可访问的数据源 + AI 生成的引用源;
  • 组的窄化:关键文档放在窄而精的 M365 组(不要放在"全公司"组)。

十、组治理 Checklist

  • Naming Policy 已配置:Prefix-Suffix 模板 + Blocked Words 已生效;
  • 组自助创建策略:默认允许 + 命名策略;敏感部门(财务/法务/HR/研发)关闭自助创建;
  • Expiration Policy 已启用:默认 365 天,按部门调整(180/730 天);
  • 至少 2 名所有者:避免单点失联;
  • Conditional Access 策略目标组保持"扁平、单层":不依赖嵌套展开;
  • Access Package 已为外部协作组发布:审批 + 过期 + 自动续期;
  • 动态组用于规则清晰的大集合:监控lastMembershipProcessed时间戳;
  • 季度巡检:清理无主组、过期组、Oversharing 站点;
  • Copilot 治理就绪:Oversharing Review + Sensitivity Label + Restricted SharePoint Search;
  • Operational Excellence 接入:Weekly / Monthly / Quarterly / Yearly 健康度巡检节奏。

十一、与 Operational Excellence 的连接

1. 组的健康度巡检(修正版 PowerShell)

把组巡检纳入Tenant Health Automation

# 1. 统计 M365 组数量(按 createdDateTime 维度聚合) Get-MgGroup -Filter "groupTypes/any(c:c eq 'Unified')" -All ` -Property "id,displayName,createdDateTime,lastMembershipProcessed" ` | Group-Object { $_.CreatedDateTime.ToString("yyyy-MM") } # 2. 识别无主组(Owners 是 navigation property,必须显式展开) Get-MgGroup -Filter "groupTypes/any(c:c eq 'Unified')" -All ` -Property "id,displayName" | ForEach-Object { $owners = Get-MgGroupOwner -GroupId $_.Id if (-not $owners) { [PSCustomObject]@{ GroupId = $_.Id DisplayName = $_.DisplayName OwnerCount = 0 } } }

⚠️Graph 节流提醒:M365 组数量大的租户谨慎使用Get-MgGroupOwner,可能触发 Microsoft Graph 节流;推荐:

  • 使用-Property缩小返回字段;
  • 加 retry/backoff(如指数退避);
  • 监控脚本执行时间;
  • 分批(按 500/1000 间隔)执行;
  • 纯 Owner 是否存在的判断,不要依赖Search-UnifiedAuditLog(审计日志只能告诉你"有人最近做了什么",不能告诉你"现在 Owner 是空"——审计日志不能替代实时的 owner/member 查询)。

2. 巡检节奏

  • Weekly:M365 组数量变化(按 createdDateTime 维度聚合);
  • Monthly:识别无主组(Owners 展开为空)+ 过期组清理;
  • Quarterly:Access Review + Sensitivity Label 覆盖度复核;
  • Yearly:完整 Group Configuration Audit + Backup Restore 演练。

十二、一个真实迁移案例(修正表述)

某制造业客户从 Google Workspace 迁到 M365,原有 8,000 个邮件组。落地顺序:

  1. 盘点:用 Graph API 拉所有 group,分析大小、所有者、活动度;
  2. 重构分类
    • 活跃 + 大成员 → 转Microsoft 365 Group
    • 静态权限 →Security Group
    • 邮件分发 →Distribution Group
  3. 动态化:销售、市场、生产部门全部转成动态组,按部门/地区/雇佣类型自动成员;
  4. 命名规范[BU]_[Function]_[Region],blocked words 列表包含 50+ 敏感词;
  5. 治理:开启 180 天 expiration policy,集成 Lifecycle Workflow → 员工离职自动移出敏感组;
  6. 培训:把"组的使用规范"作为 M365 入职培训第一课。

迁移后效果(来自客户 IT 复盘,非精确数据):

  • 用户活跃组数从 8,000 降到约 1,200(数量大幅压缩);
  • 权限漂移与无主组事件明显减少;
  • 外部共享事件得到显著控制;
  • 员工自助创建合规率提升。

📌重要提示:以上"权限错误减少 70%"、"外部共享下降 45%" 等具体数字在原文中没有出处,建议在正式文档中替换为定性描述,或明确标注数据来源以保证可追溯。

📌本案例为说明性示例,非 Microsoft 官方统计:实施细节、周期、阶段描述反映 MS-102 实施派推荐路径,具体效果因组织规模、历史结构、Copilot 推进阶段而异


十三、小结:组是协作容器 + 治理边界

把组策略做好,需要的是层级化理解

  • Security Group:授权主体(Conditional Access / Intune / Power BI / Azure RBAC);
  • Microsoft 365 Group:协作容器(Exchange + SharePoint Team Site + Planner + 可选 Teams / Loop);
  • Dynamic Membership Group:自动成员管理(User OR Device,二选一);
  • Role-assignable Group + Administrative Unit:特权角色容器 + 管理边界;
  • Access Package:访问治理(外部用户、SaaS、临时项目);
  • Copilot 治理:基于 ACL(不是组成员),必须配合 Oversharing Review + Sensitivity Label。

治理动作的对应关系:

  • Naming Policy→ 防止"组泛滥";
  • Expiration Policy→ 防止"僵尸组";
  • Blocked Words→ 防止"敏感泄露";
  • Conditional Access 扁平化→ 防止"权限漂移";
  • Oversharing Review + Copilot 治理→ 防止"AI 暴露隐藏风险"。
← 返回列表