Поделиться через


Бесшовный единый вход Microsoft Entra: Техническое глубокое погружение

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

Как работает бесшовный единый вход (SSO)?

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

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

Как проходит настройка?

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

  • Учетная запись компьютера (AZUREADSSOACC) создается в локальной службе Active Directory (AD) в каждом лесу AD, который синхронизируется с Microsoft Entra ID с использованием Microsoft Entra Connect.
  • Кроме того, во время входа в систему Microsoft Entra создаются несколько имен учетных записей служб Kerberos (SPN).
  • Ключ расшифровки 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$ так, как это объясняется в документе с вопросами и ответами под соответствующим вопросом, иначе беспрепятственная единая аутентификация не произойдет.

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

Как работает вход в веб-браузере с использованием функции бесшовного единого входа (SSO)?

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

  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 ID.

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

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

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

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

Простой единый вход: процедура для веб-приложения

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

Как работает авторизация с функцией Seamless SSO в родном клиенте?

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

  1. Пользователь пытается получить доступ к собственному приложению (например, клиенту Outlook) с корпоративного устройства, присоединенного к домену, в корпоративной сети.
  2. Если пользователь еще не вошел в систему, собственное приложение извлекает имя пользователя из сеанса Windows устройства.
  3. Приложение отправляет имя пользователя в Microsoft Entra ID и получает конечную точку WS-Trust MEX вашего тенанта. Эта конечная точка WS-Trust используется исключительно функцией бесшовного SSO и не является стандартной реализацией протокола 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 ID проверяет SAML-токен и выдает токен доступа, токен обновления для указанного ресурса и ID-токен для приложения.
  11. Пользователь получает доступ к ресурсу приложения.

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

Бесшовная единая процедура входа — процедура для нативного приложения

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