使用 Account Discovery 在目标应用中发现身份

当组织采用Microsoft Entra ID进行应用程序预配时,目标应用程序通常已包含配置预配之前创建的用户帐户。 帐户发现可帮助你找到这些现有帐户,将它们与Microsoft Entra ID用户匹配,并对其进行分类,以便你可以将非托管标识引入治理。 加入预配后,应用程序管理员可以在应用程序中手动创建帐户。 此报告允许组织在初始载入期间以及将配置程序化后发现并识别本地或孤立帐户。

帐户发现从目标应用程序中检索所有用户帐户,并将其分类为三个类别:

  • 本地帐户 — 目标应用程序中的帐户在 Microsoft Entra ID 中没有对应的用户。 这些帐户可能属于以前的员工、服务帐户、通过其他流程预配的用户,或者由于数据质量问题而不匹配的帐户(例如不匹配或过时属性值)。
  • 未分配的用户 — 与 Microsoft Entra ID 用户匹配但未被分配到企业应用程序的帐户。 这些用户存在于目录中,但没有预配管理这些用户所需的应用程序分配。
  • 分配的用户 - 与分配给企业应用程序的Microsoft Entra ID用户匹配的帐户。 这些帐户由预配服务完全管理。

此分类可让你了解谁有权访问应用程序,并帮助你识别应管理、重新分配或删除的帐户。

先决条件

在使用帐户发现之前,必须设置以下内容:

已知的限制

  • 帐户发现需要 直接匹配属性 来关联用户。 不支持基于表达式的转换进行匹配。
  • 如果配置了多个匹配属性,则仅使用 第一个 匹配属性。

应用程序支持

对于基于 SCIM 的连接器,帐户发现要求应用程序支持 RFC 7644 第 3.4.2.4 节

具有已建立发现行为的连接器

对以下应用程序使用帐户发现的客户始终会收到完整的发现结果:

  • Atlassian Cloud
  • SCIM
  • Salesforce
  • SAP 云标识服务
  • ECMA (通过 SQL、LDAP、Web 服务和 PowerShell 连接器支持本地应用程序)
  • GitHub企业云(有关限制,请参阅 here

不支持发现的连接器

以下应用程序当前不支持帐户发现:

  • HR 预配(Workday、SAP SuccessFactors、API 驱动的预配)
  • ServiceNow
  • 亚马逊网络服务(AWS)
  • Snowflake

所有其他连接器

可以为所有其他受支持的连接器启用“帐户发现”(Account Discovery)。 发现结果可能会有所不同,具体取决于目标应用程序是否支持通过 SCIM API 列出用户和分页。 如果发现报告有 0 个结果,请验证是否已在属性映射中配置单个直接匹配属性(无表达式)。 接下来,根据 SCIM 标准的第 3.4.2.4 节,向应用程序供应商验证应用程序是否支持分页。

发现目标应用程序中的身份

若要发现目标应用程序中的现有用户帐户,请执行以下操作:

  1. 以至少应用管理员身份登录到Microsoft Entra 管理中心
  2. 浏览到 身份>应用程序>企业应用程序
  3. 选择要为其发现标识的应用程序。
  4. 在左侧导航中,选择“ 预配”。
  5. 验证预配配置是否具有有效的凭据和成功的测试连接。
  6. 选择“ 发现身份”。

预配服务从目标应用程序检索所有用户帐户,并按类别显示它们。 检测至少需要 30 分钟才能生成报表。 请注意,目标应用中包含的帐户越多,报表所花费的时间就越长。 例如,具有 25 万个帐户的应用程序可能需要 12 小时或更多时间才能生成发现报告。

查看发现的帐户

发现过程完成后,查看每个类别的结果:

本地帐户

本地帐户存在于目标应用程序中,但在Microsoft Entra ID中没有匹配的用户。 这些帐户可能表示:

  • 删除了目录帐户但未取消预配其应用程序帐户的前员工。
  • 直接在应用程序中创建的服务帐户或共享帐户。
  • 通过使用不涉及Microsoft Entra ID的单独过程进行预配的用户。
  • 存在阻止匹配的数据质量问题的情况。

查看这些帐户,以确定应将其从目标应用程序中删除、与现有Microsoft Entra ID用户匹配,还是保留 as-is。

未分配的用户

未分配的用户根据匹配属性与Microsoft Entra ID用户进行匹配,但未分配给企业应用。 若要将这些帐户引入预配管理,请执行以下操作:

  1. 导航到企业应用程序的 “用户和组 ”页。
  2. 将适当的用户或组分配给应用程序。
  3. 分配后,预配服务将在后续预配周期中管理这些帐户。

分配的用户

分配的用户与已分配到应用程序的Microsoft Entra ID用户匹配。 这些帐户由预配服务完全管理。 除非你想要查看或更新其属性映射,否则不需要执行任何操作。

使用 Microsoft Graph 检索结果

除了查看Microsoft Entra 管理中心中发现的帐户之外,还可以使用Microsoft Graph以编程方式检索帐户发现结果。 有关详细信息,请参阅 Microsoft Graph beta API 参考中的 identityCorrelation 资源类型

筛选和搜索结果

使用搜索和筛选功能查找特定帐户:

  • 按名称或属性值搜索帐户。
  • 按类别(本地、未分配或已分配)筛选结果。
  • 管理列,以便从目标应用程序查看导入的属性和关联状态。

将相关用户分配到企业应用程序和/或访问包

在应用程序中发现用户后,可以轻松地将这些用户分配到企业应用程序或访问包。 下载 Assign-CorrelatedUsers.ps1 文件,并在 PowerShell 7.x 中运行该文件以分配用户。

可选参数

参数 说明
-DryRun 显示 在不 进行任何更改的情况下会发生什么情况。
-SkipAppRoleAssignment 仅管理访问包,跳过分配应用角色
重复检测 在创建新分配之前检查现有分配
客户端状态筛选器 验证 API 结果是否与预期状态匹配(防范 API 怪癖)
-OutputFile 完整审核跟踪为 CSV,其中包含时间戳、操作和错误详细信息
严格模式 使用Set-StrictMode -Version Latest$ErrorActionPreference = "Stop"在出现意外问题时快速失败

示例情况

  • 将所有相关用户分配到企业应用:

    pwsh -File '.\Assign-CorrelatedUsers.ps1' -ServicePrincipalId "7A22..." 
    
  • 将所有相关用户分配到特定访问包(示例 规则 文件):

    pwsh -File '.\Assign-CorrelatedUsers.ps1' -ServicePrincipalId '7A22...' -RulesFile '.\access-package-rules-internal.csv' -DryRun -OutputFile '.\results-dryrun.csv'
    
  • 根据定义的规则将用户分配到包(示例规则文件):

    pwsh -ExecutionPolicy Bypass -File '.\Assign-CorrelatedUsers.ps1' -ServicePrincipalId "7A22..." `-RulesFile ".\access-package-rules.csv"
    
  • 将用户分配到可访问包的组中,对于不符合任何已定义规则的用户,提供一个回退包作为保障。

    pwsh -ExecutionPolicy Bypass -File '.\Assign-CorrelatedUsers.ps1' -ServicePrincipalId "7A22..." `-RulesFile ".\access-package-rules.csv" `-AccessPackageId "fallback-pkg-id" -PolicyId "fallback-policy-id" `-FallbackBehavior UseFallback
    
  • 将用户分配到访问包并跳过应用角色分配:

    pwsh -ExecutionPolicy Bypass -File '.\Assign-CorrelatedUsers.ps1' -ServicePrincipalId "7A22..." `-RulesFile ".\access-package-rules.csv" -SkipAppRoleAssignment
    

规则文件说明

规则文件是一个标准的CSV文件,包含以下列:

Purpose
RuleGroup 共享同一组编号的行是 AND-ed 在一起的。 各组被独立评估。
PropertyName 目标 SCIM 属性包(例如userTypeurn:ietf:params:scim:schemas:extension:enterprise:2.0:User:department)中的键。 单击单个用户或预配属性映射中的视图属性时,可以在发现 UX 中找到属性名称。
Operator eqnecontainsstartswithendswithregex
Value 要与 (不区分大小写)进行比较的值。
AccessPackageId 组匹配时要分配的访问包。 导航到Microsoft Entra 管理中心中的访问包时,可以在 URL 中找到此内容。
PolicyId 该访问包的分配策略。 导航到Microsoft Entra 管理中心中的访问包时,可以在 URL 中找到此内容。

与身份治理集成

帐户发现与 Microsoft Entra ID 治理 一起工作,以帮助管理完整的标识生命周期。 在您在目标应用程序中发现标识后,您可以:

  • 将现有用户分配到访问包以控制访问权限,对访问包运行评审以认证访问权限,并配置生命周期工作流以自动执行生命周期管理。
  • 配置 权利管理 ,以控制谁可以请求访问应用程序。
  • 设置 生命周期工作流 ,以基于用户生命周期事件自动预配和取消预配。

有关管理应用程序访问的详细信息,请参阅 管理环境中的应用程序的管理访问权限

适用于应用程序开发人员

为了让账户发现与目标应用程序配合使用,应用程序必须支持 RFC 7644 第 3.4.2.4 节中描述的 SCIM 分页。 配置服务在发现流程中使用分页从目标应用程序检索所有用户帐户。