Простой единый вход Microsoft Entra: Техническая глубокое погружение

В этой статье приведены технические сведения о том, как работает функция простого единого входа (Простой единый вход) Microsoft Entra.

Как работает простой единый вход?

Этот раздел состоит из трех частей.

  1. Настройка функции простого единого входа.
  2. Как транзакция единого входа пользователя в веб-браузере работает с простым единым входом.
  3. Как транзакция единого входа пользователя в собственном клиенте работает с простым единым входом.

Как выполняется настройка?

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

  • Учетная запись компьютера (AZUREADSSOACC) создается в локальная служба Active Directory (AD) в каждом лесу AD, который синхронизируется с идентификатором Microsoft Entra (с помощью Microsoft Entra Подключение).
  • Кроме того, во время входа в Систему Microsoft Entra создаются несколько имен субъектов-служб Kerberos.
  • Ключ расшифровки Kerberos учетной записи компьютера безопасно используется с идентификатором Microsoft Entra. При наличии нескольких лесов AD каждая учетная запись компьютера будет иметь свой собственный уникальный ключ расшифровки Kerberos.

Важно!

Из соображений безопасности учетная запись компьютера AZUREADSSOACC должна быть строго защищена. Только администраторы домена должны иметь возможность управлять учетной записью компьютера. Убедитесь, что делегирование Kerberos для учетной записи компьютера отключено и другие учетные записи в Active Directory не имеют разрешений на делегирование в учетной записи компьютера AZUREADSSOACC. Храните учетную запись компьютера в подразделении, где она защищена от случайного удаления и доступ к которому есть только у администраторов домена. Ключ расшифровки Kerberos в учетной записи компьютера также должен рассматриваться как конфиденциальный. Настоятельно рекомендуется, чтобы вы меняли ключ расшифровки Kerberos для учетной записи компьютера AZUREADSSOACC хотя бы раз в 30 дней.

Важно!

Простой единый вход поддерживает типы шифрования AES256_HMAC_SHA1, AES128_HMAC_SHA1 и RC4_HMAC_MD5 для Kerberos. Рекомендуем задать для учетной записи AzureADSSOAcc$ тип шифрования AES256_HMAC_SHA1 или другой тип AES, в то время как тип RC4 лучше использовать для дополнительной защиты. Тип шифрования хранится в атрибуте msDS-SupportedEncryptionTypes учетной записи в Active Directory. Если для учетной записи AzureADSSOAcc$ задан тип шифрования RC4_HMAC_MD5 и вы хотите заменить его одним из типов шифрования AES, сначала обязательно смените ключ расшифровки Kerberos для AzureADSSOAcc$, как описано в документе с вопросами и ответами, иначе простой единый вход не будет работать.

После завершения настройки функция простого входа в Azure AD работает так же, как любая другая функция входа, использующая Встроенную проверку подлинности Windows (IWA).

Как работает вход с функцией простого единого входа в веб-браузере?

Процесс входа в веб-браузере выглядит следующим образом.

  1. Пользователь пытается получить доступ к веб-приложению (например, веб-приложению Outlook — https://outlook.office365.com/owa/) с корпоративного устройства, присоединенного к домену, в корпоративной сети.

  2. Если пользователь еще не вошел в систему, пользователь перенаправляется на страницу входа Microsoft Entra.

  3. Пользователь вводит имя пользователя на страницу входа в Microsoft Entra.

    Примечание.

    Для некоторых приложений шаги 2 и 3 пропускаются.

  4. Используя JavaScript в фоновом режиме, идентификатор Microsoft Entra вызовет браузер через 401 несанкционированный ответ, чтобы предоставить билет Kerberos.

  5. В свою очередь браузер запрашивает билет из Active Directory для AZUREADSSOACC учетной записи компьютера (который представляет идентификатор Microsoft Entra).

  6. Active Directory находит учетную запись компьютера и возвращает браузеру билет Kerberos, зашифрованный с использованием секрета этой учетной записи компьютера.

  7. Браузер перенаправит билет Kerberos, полученный от Active Directory, в идентификатор Microsoft Entra.

  8. Идентификатор Microsoft Entra расшифровывает билет Kerberos, который включает удостоверение пользователя, вошедшего на корпоративное устройство, с помощью ранее общего ключа.

  9. После оценки идентификатор Microsoft Entra либо возвращает маркер обратно приложению, либо просит пользователя выполнить дополнительные доказательства, такие как многофакторная проверка подлинности.

  10. При успешном входе в систему пользователь может получить доступ к приложению.

На схеме ниже показаны все соответствующие компоненты и шаги.

Seamless Single Sign On - Web app flow

Простой единый вход — ситуативно-обусловленная функция. Это означает, что если в ней происходит сбой, процедура входа выполняется стандартно, то есть пользователь, как и прежде, должен просто ввести пароль для входа.

Как работает вход с функцией простого единого входа в собственном клиенте?

Процесс входа в собственном клиенте выглядит следующим образом.

  1. Пользователь пытается получить доступ к собственному приложению (например, клиенту Outlook) с корпоративного устройства, присоединенного к домену, в корпоративной сети.
  2. Если пользователь еще не выполнил вход, то собственное приложение получает его имя пользователя из сеанса Windows на устройстве.
  3. Приложение отправляет имя пользователя в идентификатор Microsoft Entra и получает конечную точку WS-Trust MEX клиента. Эта конечная точка WS-Trust используется исключительно функцией простого единого входа и не является общей реализацией протокола WS-Trust на идентификаторе Microsoft Entra ID.
  4. Затем приложение отправляет запрос к конечной точке MEX WS-Trust, чтобы определить, доступна интегрированная конечная точка аутентификации. Интегрированная конечная точка аутентификации используется только функцией простого единого входа.
  5. Если шаг 4 завершается успешно, то выдается запрос защиты Kerberos.
  6. Если приложение может получить билет Kerberos, он перенаправит его в конечную точку встроенной проверки подлинности Microsoft Entra.
  7. Идентификатор Microsoft Entra расшифровывает билет Kerberos и проверяет его.
  8. Идентификатор Microsoft Entra подписывает пользователя и выдает маркер SAML приложению.
  9. Затем приложение отправляет токен SAML в конечную точку маркера OAuth2 идентификатора Microsoft Entra ID.
  10. Идентификатор Microsoft Entra проверяет токен SAML и проблемы с приложением маркер доступа и маркер обновления для указанного ресурса, а также маркер идентификатора.
  11. Пользователь получает доступ к ресурсу приложения.

На схеме ниже показаны все соответствующие компоненты и шаги.

Seamless Single Sign On - Native app flow

Следующие шаги