> ## Documentation Index
> Fetch the complete documentation index at: https://docs.livingsecurity.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Microsoft Entra ID 集成设置

> 将 Microsoft Entra ID 连接到 Living Security，以获取身份、登录、风险、设备和攻击模拟活动数据。

export const EgressIpAllowlistBothSets = ({system}) => <Warning>
    <strong>{system} 需要两组地址，而不是一组。</strong>Living Security 在自有基础设施上生成此集成的访问令牌并持续刷新，因此设置流量和同步流量来自不同的网络。请在 {system} 中将两组地址都加入允许列表，并始终保留这两组地址——这并非仅在设置阶段才需要满足的要求。
    <br />
    <br />
    <strong>集成同步流量</strong>——在所有区域中均相同：
    <br />
    <code>52.34.139.153/32</code>, <code>54.69.127.183/32</code>, <code>44.247.133.183/32</code>,{' '}
    <code>52.26.211.56/32</code>
    <br />
    <br />
    <strong>平台流量</strong>——仅使用与贵组织所在区域对应的那一行：
    <br />
    美国：<code>98.91.60.249/32</code>, <code>13.216.91.102/32</code>
    <br />
    欧盟：<code>34.246.236.210/32</code>, <code>52.31.102.238/32</code>
    <br />
    <br />
    如果仅将同步地址组加入允许列表，设置将无法完成。如果仅将平台地址组加入允许列表，设置可以成功，但所有同步都会失败。有关这两种故障的表现和变更策略，请参阅{' '}
    <a href="/zh-Hans/integrations/managing/egress-ip-addresses">
      配置集成出站 IP 地址
    </a>。
  </Warning>;

export const PublicIntegrationNextSteps = () => <>
    <hr />
    <h2>相关资源</h2>
    <ul>
      <li>
        <a href="/zh-Hans/signals/data-sources">了解集成数据如何转化为人员风险管理信号</a>
      </li>
      <li>
        <a href="https://www.livingsecurity.com/integrations">探索 Living Security 集成</a>
      </li>
      <li>
        <a href="https://app.livingsecurity.ai/">打开 Living Security Platform</a>
      </li>
      <li>
        <a href="https://www.livingsecurity.com/request-demo/">申请 Living Security 演示</a>
      </li>
    </ul>
  </>;

export const HandoffPaths = () => <Tabs>
    <Tab title="委托设置（涉及密钥时推荐使用）">
      邀请系统管理员以限定范围的权限进入平台。由其直接输入凭据，您无需接触密钥。
    </Tab>
    <Tab title="凭据移交">
      将提供商页面发送给管理员。由其配置凭据并返还给您，然后您在“连接”对话框中输入这些凭据。
    </Tab>
  </Tabs>;

export const ConnectInPlatform = ({tile, children}) => <Step title="在 Living Security Platform 中输入凭据">
    <p>
      由拥有 Living Security 访问权限的人员完成——即项目负责人；如果已受邀，也可由系统管理员完成（委派设置）。
    </p>
    <ol>
      <li>
        转到<strong>设置 → 集成 → 目录</strong>，找到{' '}
        <strong>{tile}</strong> 磁贴，然后单击<strong>连接</strong>。
      </li>
      <li>
        填写下方的字段，然后单击<strong>连接</strong>。
      </li>
    </ol>
    {children}
  </Step>;

export const SystemAdminBanner = ({system, recommendDelegated}) => <Note>
    <p>
      <strong>本指南适用于您的 {system} 管理员。</strong>本指南介绍如何在 {system} 中创建 API
      凭据，这需要 {system} 的管理员权限，而非 Living Security Platform 的管理员权限。
    </p>
    <p>
      如果您是 Living Security 的<strong>项目负责人</strong>，但并不管理 {system}，
      请将本页面转发给负责管理 {system} 的人员。由其完成 A 部分，然后将凭据交还给您
      （如果您已邀请其加入平台，则可由其直接输入凭据）。
      {recommendDelegated && <>
          {' '}由于设置过程会产生敏感的密钥材料，我们建议采用{' '}
          <strong>委派设置</strong>方式，这样密钥不会再发送给您。
        </>}
    </p>
  </Note>;

<SystemAdminBanner system="Microsoft Entra ID" />

<HandoffPaths />

## 此集成提供的内容

Microsoft Entra ID 可提供经过规范化的身份、登录、风险、设备和攻击模拟活动数据。已审核的示例包括：

* `account.compromised` — 被标记为已泄露的账户
* `auth.login.unusual` — 在异常环境下登录
* `phishing.simulation.clicked` — 点击了模拟邮件但未进行报告

这些只是具有代表性的示例，并不保证每个租户中都能获取所有事件。请参阅[集成数据如何转化为信号](/zh-Hans/signals/data-sources)。

## Living Security 所需的信息

| 凭据 | 描述 |
| - | - |
| **租户 ID** | Microsoft Entra 管理中心中的目录（租户）UUID |
| **客户端 ID** | 注册应用时分配的应用程序（客户端）UUID |
| **客户端密钥** | 在应用注册下生成的密钥凭据 — 连接对话框中此字段的标签为 **API 密钥** |
| **Graph API host** | Microsoft Graph 主机名（商业云：`graph.microsoft.com`） |
| **Authority host** | Microsoft Entra 授权机构主机名（商业云：`login.microsoftonline.com`） |

**范围（应用程序权限）：**

| 权限 | 用途 |
| - | - |
| `User.Read.All` | 用户目录 |
| `SecurityAlert.Read.All` | 安全警报 |
| `AuditLog.Read.All` | 登录日志和 MFA 注册详细信息 |
| `Policy.Read.ConditionalAccess` | 每次登录的条件访问详细信息 — 应用了哪些策略以及这些策略强制执行了哪些授权控制。MFA 检测依赖于此权限 |
| `AttackSimulation.Read.All` | Attack Simulation Training 结果 |
| `Device.Read.All` | Entra ID 设备对象，包括 Intune 未管理的设备 |
| `DeviceManagementManagedDevices.Read.All` | Intune 托管设备 |
| `IdentityRiskEvent.Read.All` | Identity Protection 风险检测，包括凭据泄露 |
| `GroupMember.ReadWrite.All` | **可选。** 组成员资格操作 — 允许行动手册将人员添加到 Microsoft Entra ID 组或从组中移除 |

### 由您决定此连接可以执行哪些操作

此连接用于读取数据。它也可以在您的目录中*执行操作*，但前提是您选择允许。

上述权限中，除最后一项外，其余均为只读权限。如果仅授予这些权限，该连接将永远无法修改您租户中的任何内容 — 平台会检测到这一点，并且完全不提供组操作。

添加 `GroupMember.ReadWrite.All` 后，组成员资格操作即可在行动手册中使用。任何操作都不会自动开始：您仍需选择平台可以操作的组（见下文），并构建使用这些操作的行动手册。

您可以随时更改决定。只需在 Microsoft Entra ID 中添加或移除权限并重新授予管理员同意即可 — 无需在平台中重新输入凭据，您的数据同步也会全程持续运行。更改将在约一小时内生效。

<Note>
  **组成员资格操作还受限于您指定的组。** 连接完成后，管理员需要在该连接上选择一份明确的组允许列表。在该列表存在之前，即使已授予该权限，组操作也不可用 — 因此 `GroupMember.ReadWrite.All` 绝不意味着“租户中的任何组”。

  请谨慎选择这些组：避免选择任何授予管理角色、特权访问或许可证授权的组。
</Note>

\*\*所需角色：\*\*Microsoft Entra ID 中的 **Application Administrator** 或 **Global Administrator**

<Note>
  **其中有两项权限是较新增加的。** 如果您在这些权限出现在此列表之前就已连接 Microsoft Entra ID，请将它们添加到现有的应用注册中，并**重新授予管理员同意** — 每当权限发生变化时，Microsoft 都要求重新授予同意。在此期间，其他所有数据流将继续正常工作。

  `Policy.Read.ConditionalAccess` — 如果没有此权限，Microsoft 会从每条登录记录中删除条件访问详细信息。记录仍会显示条件访问策略已得到满足，但策略列表为空。不会出现失败，也不会有任何警告：登录数据会持续到达，连接保持正常状态。平台只是无法判断哪些登录是通过多重身份验证满足的，因此此连接的 MFA 活动将保持为空。

  `IdentityRiskEvent.Read.All` — 读取风险检测还需要 **Microsoft Entra ID P1 或 P2** 许可证。凭据泄露检测本身在包括 P1 在内的所有层级均可用；高级检测在 P2 以下的层级中报告为 `generic`。
</Note>

### 先决条件

* 您必须在 Microsoft Entra ID 中拥有 **Application Administrator** 或 **Global Administrator** 权限，才能注册应用程序并授予管理员同意。

***

## 第 A 部分 — 在 Microsoft Entra ID 中

*这些步骤由您的 Microsoft Entra ID 管理员完成。*

<Steps>
  <Step title="注册新应用程序">
    1. 登录 [Microsoft Entra 管理中心](https://entra.microsoft.com)。
    2. 在左侧导航中，依次浏览到 **Entra ID** → **App registrations**。
    3. 单击 **New registration**。
    4. 为应用输入一个有意义的名称，例如 `Living Security Platform`。
    5. 在 **Supported account types** 下，选择 **Accounts in this organizational directory only**。
    6. 将 **Redirect URI** 留空 — 此集成使用客户端凭据流。
    7. 单击 **Register**。

    注册完成后，请在 **概述** 页面记录以下值：

    * **Application (client) ID**
    * **Directory (tenant) ID**
  </Step>

  <Step title="添加 Microsoft Graph 应用程序权限">
    1. 在应用的 **概述** 页面中，单击左侧菜单中的 **API permissions**。
    2. 单击 **Add a permission**。
    3. 选择 **Microsoft Graph**。
    4. 选择 **Application permissions**。
    5. 搜索并选择下列每项权限，然后单击 **Add permissions**：
       * `User.Read.All`
       * `SecurityAlert.Read.All`
       * `AuditLog.Read.All`
       * `Policy.Read.ConditionalAccess`
       * `AttackSimulation.Read.All`
       * `Device.Read.All`
       * `DeviceManagementManagedDevices.Read.All`
       * `IdentityRiskEvent.Read.All`
    6. **仅当**您希望行动手册能够更改组成员资格时，才添加 `GroupMember.ReadWrite.All`。如果跳过该权限，此连接将保持只读。

    <Note>
      这些是所有数据流所需的最低权限。如果您只打算启用部分数据流，可以省略不会使用的数据流所对应的权限。
    </Note>
  </Step>

  <Step title="授予管理员同意">
    应用程序权限需要明确的管理员同意。

    1. 在 **API permissions** 页面上，单击 **Grant admin consent for \<your tenant name>**。
    2. 在确认对话框中，单击 **有**。
    3. 确认每项权限在 **状态** 列下均显示为 **Granted**。

    <Note>
      如果 **Grant admin consent** 按钮呈灰色，则您需要 **Privileged Role Administrator** 或 **Global Administrator** 权限。每次添加新权限时，都必须重新授予管理员同意。
    </Note>
  </Step>

  <Step title="创建客户端密钥">
    1. 在应用的 **概述** 页面中，单击左侧菜单中的 **Certificates & secrets**。
    2. 单击 **Client secrets** 选项卡，然后单击 **New client secret**。
    3. 输入描述（例如 `Living Security Platform`）。
    4. 选择符合您轮换策略的到期时间。
    5. 单击 **添加**。

    <Warning>
      **请立即复制密钥值。** Microsoft Entra ID 只会显示一次完整的客户端密钥。如果在复制之前离开此页面，则必须删除该密钥并重新创建。
    </Warning>

    请妥善保管该密钥。设置日历提醒，在其到期前进行轮换 — 密钥过期会导致同步失败，并出现 `401 Unauthorized`。
  </Step>

  <Step title="确定 Graph API host 和 Authority host">
    对于大多数使用商业云的组织，请使用默认值：

    | 字段 | 商业云值 |
    | - | - |
    | **Graph API host** | `graph.microsoft.com` |
    | **Authority host** | `login.microsoftonline.com` |

    对于政府云或主权云，请使用适用于您环境的相应终结点。

    <Note>
      Graph API host 和 Authority host 必须匹配 — 来自某一云的授权机构的令牌对另一云的 Graph 终结点无效。
    </Note>
  </Step>
</Steps>

***

## 第 B 部分 — 在 Living Security Platform 中

*此步骤由项目负责人完成；如果系统管理员已被邀请加入平台，则由系统管理员完成。*

<Steps>
  <ConnectInPlatform tile="Microsoft Entra ID (Client Credentials)">
    | 字段 | 值 |
    | - | - |
    | **API 密钥** | 第 A 部分第 4 步中的客户端密钥 |
    | **Azure tenant ID** | 第 A 部分第 1 步中的 Directory (tenant) ID |
    | **客户端 ID** | 第 A 部分第 1 步中的 Application (client) ID |
    | **Graph API host** | `graph.microsoft.com`（或您所用云的终结点） |
    | **Authority host** | `login.microsoftonline.com`（或您所用云的终结点） |

    <img src="https://mintcdn.com/livingsecurity/oVkrOMkYmNevekTI/integrations/images/microsoft-entra-id-cc/connect-dialog.png?fit=max&auto=format&n=oVkrOMkYmNevekTI&q=85&s=2a192b0a28e753ad0e0bc0b640508136" alt="Microsoft Entra ID 的 Living Security 连接对话框" style={{maxWidth: "450px"}} width="576" height="692" data-path="integrations/images/microsoft-entra-id-cc/connect-dialog.png" />
  </ConnectInPlatform>
</Steps>

您现在已连接到 Microsoft Entra ID (Client Credentials)。

***

## 故障排除

<AccordionGroup>
  <Accordion title="401 Unauthorized">
    凭据无效或已过期。请检查：

    1. 客户端密钥未过期或未被轮换
    2. 租户 ID 和客户端 ID 正确无误
    3. Authority host 与您的云环境相匹配
  </Accordion>

  <Accordion title="403 Forbidden">
    应用注册缺少权限，或未授予管理员同意。请确认：

    1. 所有必需的权限均已列在 **API permissions** 中
    2. 每项权限均显示 **Granted** 状态（绿色对勾）
    3. 管理员同意是在添加权限之后授予的

    <Note>
      如果您在初次同意之后添加了新权限，则必须重新授予管理员同意。
    </Note>
  </Accordion>

  <Accordion title="特定数据流的结果为空">
    应用可能缺少该数据流对应的特定权限：

    * 没有用户 → 缺少 `User.Read.All`
    * 没有安全警报 → 缺少 `SecurityAlert.Read.All`
    * 没有登录日志 → 缺少 `AuditLog.Read.All`
    * 没有攻击模拟结果 → 缺少 `AttackSimulation.Read.All`
    * 没有 Entra ID 设备 → 缺少 `Device.Read.All`
    * 没有 Intune 托管设备 → 缺少 `DeviceManagementManagedDevices.Read.All`
    * 没有风险检测 → 缺少 `IdentityRiskEvent.Read.All`、添加该权限后未重新授予管理员同意，或租户低于 Microsoft Entra ID P1 许可证的最低要求
  </Accordion>

  <Accordion title="令牌请求失败并出现 invalid_client">
    Graph API host 和 Authority host 可能不匹配。二者必须对应同一云环境（商业云、政府云等）。
  </Accordion>

  <Accordion title="组操作未出现在行动手册中">
    仅当以下三个条件全部满足时，才会提供组成员资格操作：

    1. 应用注册中已包含 `GroupMember.ReadWrite.All`，并已授予管理员同意。如果您是最近才添加的，请最多等待一小时。
    2. 管理员已在该连接上指定了组允许列表。
    3. 该连接处于活动且正常的状态。

    如果您已授予该权限但操作仍不可用，请重新授予管理员同意 — 每当权限发生变化时，Microsoft 都要求重新授予。
  </Accordion>

  <Accordion title="条件访问阻止了连接或其操作">
    如果您的租户设有按 IP 地址限定范围的条件访问策略，则该策略可能会阻止携带此连接凭据的请求。大多数租户不受影响 — Microsoft Graph 默认不按 IP 地址进行限制。如果您确实对服务主体强制实施了按 IP 限定范围的策略，则此集成需要将**两组**地址加入允许列表，因为设置和数据同步分别来自不同的网络。

    Living Security 自行生成此连接的访问令牌并持续续期，因此令牌请求来自平台自身的地址，而不是您的数据同步所使用的地址。

    组操作则是另一种情况。默认情况下，它们的路由方式与您的数据同步相同，并从同步地址发出。只有当管理员将连接切换为直接出口时，它们才会改为使用平台地址。

    <EgressIpAllowlistBothSets system="Microsoft Entra ID" />

    请将这两组地址都添加到您的条件访问策略所信任或排除的**命名位置**中。令牌请求发往 `login.microsoftonline.com`，数据请求发往 `graph.microsoft.com`；两者都必须通过。

    如果仅将同步地址加入允许列表，则设置会在获取令牌时失败，且不会创建连接。如果仅将平台地址加入允许列表，则设置会成功，但每次同步都不会返回任何记录。
  </Accordion>
</AccordionGroup>

<PublicIntegrationNextSteps />


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.