> ## 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="/ru/integrations/managing/egress-ip-addresses">
      Настройка исходящих IP-адресов для интеграций
    </a>.
  </Warning>;

export const PublicIntegrationNextSteps = () => <>
    <hr />
    <h2>Связанные ресурсы</h2>
    <ul>
      <li>
        <a href="/ru/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="Передача учётных данных">
      Отправьте администратору страницу поставщика. Он создаст учётные данные и передаст их
      вам, после чего вы введёте их в диалоговом окне Connect.
    </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> В нём описано создание учётных данных API
      в {system}, для чего требуется доступ администратора к {system}, а не к
      Living Security Platform.
    </p>
    <p>
      Если вы являетесь <strong>владельцем программы</strong> Living Security и не администрируете {system},
      передайте эту страницу тому, кто им занимается. Этот сотрудник выполнит часть A и передаст учётные данные вам
      (или введёт их самостоятельно, если вы пригласили его в платформу).
      {recommendDelegated && <>
          {' '}Поскольку в ходе настройки создаются конфиденциальные ключевые данные, рекомендуем использовать{' '}
          <strong>делегированную настройку</strong>: в этом случае секрет не передаётся вам.
        </>}
    </p>
  </Note>;

<SystemAdminBanner system="Microsoft Entra ID" />

<HandoffPaths />

## Что дает эта интеграция

Microsoft Entra ID может передавать нормализованные данные об идентификационной информации, входах в систему, рисках, устройствах и имитациях атак. Проверенные примеры:

* `account.compromised` — учетная запись помечена как скомпрометированная
* `auth.login.unusual` — входы в систему из необычных контекстов
* `phishing.simulation.clicked` — переход по ссылке в имитации без сообщения о ней

Это репрезентативные примеры, а не гарантия того, что каждое событие доступно в каждом клиенте (тенанте). См. раздел [как данные интеграций становятся сигналами](/ru/signals/data-sources).

## Что требуется для Living Security

| Учетные данные | Описание |
| - | - |
| **ИД клиента** | UUID каталога (тенанта) из центра администрирования Microsoft Entra |
| **Идентификатор клиента** | UUID приложения (клиента), присваиваемый при регистрации приложения |
| **Секрет клиента** | Секретные учетные данные, созданные в регистрации вашего приложения; в диалоговом окне подключения это поле называется **API-ключ** |
| **Узел Graph API** | Имя узла Microsoft Graph (коммерческое облако: `graph.microsoft.com`) |
| **Узел центра аутентификации** | Имя узла центра аутентификации 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>

**Необходимая роль:** **Application Administrator** или **Global Administrator** в Microsoft Entra ID

<Note>
  **Два из этих разрешений были добавлены позднее.** Если вы подключили Microsoft Entra ID до того, как они
  появились в этом списке, добавьте их в существующую регистрацию приложения и **повторно предоставьте согласие администратора** —
  Microsoft требует повторного предоставления согласия при каждом изменении разрешений. Все остальные потоки данных
  при этом продолжают работать в обычном режиме.

  `Policy.Read.ConditionalAccess` — без этого разрешения Microsoft удаляет сведения об условном доступе
  из каждой записи о входе. Запись по-прежнему сообщает, что политика условного доступа была выполнена, но список политик
  возвращается пустым. Ничего не завершается ошибкой, и никаких предупреждений нет: данные о входах
  продолжают поступать, а подключение остается работоспособным. Платформа просто не может определить, какие входы
  были подтверждены многофакторной аутентификацией, поэтому данные об активности MFA из этого подключения остаются пустыми.

  `IdentityRiskEvent.Read.All` — для чтения обнаруженных рисков также требуется лицензия **Microsoft Entra ID P1 или
  P2**. Само обнаружение утечек учетных данных доступно на всех уровнях, включая P1; премиальные
  обнаружения на уровнях ниже P2 передаются как `generic`.
</Note>

### Предварительные требования

* Для регистрации приложений и предоставления согласия администратора необходим доступ **Application Administrator** или **Global Administrator** в Microsoft Entra ID.

***

## Часть 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** пустым — эта интеграция использует поток учетных данных клиента (client credentials).
    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 и центра аутентификации">
    Для большинства организаций в коммерческом облаке используйте значения по умолчанию:

    | Поле | Значение для коммерческого облака |
    | - | - |
    | **Узел Graph API** | `graph.microsoft.com` |
    | **Узел центра аутентификации** | `login.microsoftonline.com` |

    Для государственных или суверенных облаков используйте конечные точки, соответствующие вашей среде.

    <Note>
      Узел Graph API и узел центра аутентификации должны соответствовать друг другу: токены центра аутентификации одного облака недействительны для конечной точки Graph другого облака.
    </Note>
  </Step>
</Steps>

***

## Часть B. В Living Security Platform

*Этот шаг выполняет владелец программы или системный администратор, если он был приглашен на платформу.*

<Steps>
  <ConnectInPlatform tile="Microsoft Entra ID (Client Credentials)">
    | Поле | Значение |
    | - | - |
    | **API-ключ** | Секрет клиента из части A, шаг 4 |
    | **Azure tenant ID** | Directory (tenant) ID из части A, шаг 1 |
    | **Идентификатор клиента** | Application (client) ID из части A, шаг 1 |
    | **Узел Graph API** | `graph.microsoft.com` (или конечная точка вашего облака) |
    | **Узел центра аутентификации** | `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. ИД клиента и Идентификатор клиента указаны верно
    3. Узел центра аутентификации соответствует вашему облачному окружению
  </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 и узел центра аутентификации не соответствуют друг другу. Оба должны относиться к одному облачному окружению (коммерческое, государственное и т. д.).
  </Accordion>

  <Accordion title="Действия с группами не отображаются в плейбуке">
    Действия с членством в группах предлагаются, только если выполнены все три условия:

    1. `GroupMember.ReadWrite.All` добавлено в регистрацию приложения, и согласие администратора предоставлено. Если вы добавили его недавно, подождите до часа.
    2. Администратор назначил в подключении список разрешенных групп.
    3. Подключение активно и работоспособно.

    Если вы предоставили разрешение, а действия по-прежнему недоступны, повторно предоставьте согласие администратора — Microsoft требует этого при каждом изменении разрешений.
  </Accordion>

  <Accordion title="Условный доступ блокирует подключение или его действия">
    Если в вашем тенанте есть политика условного доступа (Conditional Access), ограниченная по IP-адресам, она может блокировать запросы,
    содержащие учетные данные этого подключения. Большинство тенантов это не затрагивает: Microsoft Graph
    по умолчанию не ограничивает доступ по IP-адресам. Если вы применяете политику с привязкой к IP-адресам для субъектов-служб,
    для этой интеграции необходимо внести в список разрешенных **два** набора адресов, поскольку настройка и
    синхронизация данных выполняются из разных сетей.

    Living Security самостоятельно выпускает токен доступа для этого подключения и непрерывно его обновляет, поэтому
    запросы токенов исходят из собственных адресов платформы, а не из адресов, которые использует
    синхронизация данных.

    Действия с группами выполняются отдельно. По умолчанию они маршрутизируются так же, как синхронизация данных, и исходят
    из адресов синхронизации. Они переходят на адреса платформы, только если администратор
    переключит подключение на прямой выход в сеть (direct egress).

    <EgressIpAllowlistBothSets system="Microsoft Entra ID" />

    Добавьте оба набора в **именованное местоположение** (named location), которому доверяет или которое исключает ваша политика условного доступа. Запросы токенов направляются на `login.microsoftonline.com`, а запросы данных — на
    `graph.microsoft.com`; оба типа запросов должны проходить.

    Если в список разрешенных внесены только адреса синхронизации, настройка завершается ошибкой при получении токена, и
    подключение не создается. Если внесены только адреса платформы, настройка проходит успешно, но
    каждая синхронизация возвращает ноль записей.
  </Accordion>
</AccordionGroup>

<PublicIntegrationNextSteps />


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