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


Включение входа с помощью ключа безопасности без пароля в локальные ресурсы с помощью Microsoft Entra ID

В этом разделе показано, как включить проверку подлинности без пароля в локальные ресурсы для сред с устройствами под управлением Windows 10 версии 2004 или более поздней. Устройства могут быть подключены к Microsoft Entra или гибридно подключены к Microsoft Entra. Эта функциональность проверки подлинности без пароля обеспечивает бесшовный единый вход (SSO) для локальных ресурсов при использовании ключей безопасности, совместимых с Microsoft, или с доверие в облаке Windows Hello для бизнеса.

Используйте SSO для доступа к локальным ресурсам с помощью ключей FIDO2

Microsoft Entra ID может выдавать билеты на выдачу билетов Kerberos (TGTs) в одном или нескольких ваших доменах Active Directory. Эта функция дает пользователям возможность входить в Windows с помощью современных учетных данных, таких как ключи безопасности FIDO2, и получать доступ к традиционным ресурсам на основе Active Directory. Тикеты служб Kerberos и авторизация по-прежнему контролируются вашими локальными доменными контроллерами Active Directory (DC).

Объект сервера Microsoft Entra Kerberos создается в вашем локальном экземпляре Active Directory, а затем безопасно опубликован в Microsoft Entra ID. Объект не связан ни с одним физическим сервером. Это просто ресурс, который Microsoft Entra ID может использовать для генерации TGT Kerberos для вашего домена Active Directory.

Схема, показывающая, как получить TGT из Microsoft Entra ID и служб доменных Active Directory.

  1. Пользователь входит на устройство с Windows 10 с помощью ключа безопасности FIDO2 и проходит проверку подлинности в идентификаторе Microsoft Entra.

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

    Идентификатор Microsoft Entra создает TGT Kerberos для локального домена Active Directory пользователя. TGT включает в себя только идентификатор SID пользователя и не содержит данных авторизации.

  3. Основной токен обновления Microsoft Entra (PRT) возвращается клиенту вместе с TGT.

  4. Компьютер клиента обращается к локальному контроллеру домена Active Directory и обменивает неполный TGT на полностью сформированный TGT.

  5. Клиентский компьютер теперь имеет Microsoft Entra PRT и полный TGT Active Directory и может получить доступ как к облачным, так и к локальным ресурсам.

Предварительные условия

Перед началом процедур, описанных в этой статье, ваша организация должна выполнить инструкции, описанные в разделе "Включить ключи доступа" (FIDO2) для вашей организации.

Необходимо также выполнить приведенные ниже требования к системе.

  • Устройства должны работать под управлением Windows 10 версии 2004 или более поздней версии.

  • Контроллеры домена Windows Server должны запускать Windows Server 2016 или более поздней версии и устанавливать исправления для следующих серверов:

  • AES256_HMAC_SHA1 необходимо включить, если политика Сетевая безопасность: настройка типов шифрования, разрешенных для политики Kerberosнастраивается на контроллерах домена.

  • Убедитесь, что у вас есть учетные данные, необходимые для выполнения действий, описанных в этом сценарии:

    • Пользователь Active Directory, являющийся членом группы администраторов домена и группы администраторов предприятия в пределах леса. Называется $domainCred.
    • Пользователь Microsoft Entra с ролью Администратор гибридной идентичности. Называется $cloudCred.
  • Пользователи должны иметь заполненные через Microsoft Entra Connect следующие атрибуты Microsoft Entra:

    • onPremisesSamAccountName (accountName в Microsoft Entra Connect)
    • onPremisesDomainName (domainFQDN в Microsoft Entra Connect)
    • onPremisesSecurityIdentifier (objectSID в программе Microsoft Entra Connect)

    Microsoft Entra Connect синхронизирует эти атрибуты по умолчанию. Если вы изменяете атрибуты для синхронизации, убедитесь, что выбраны accountName, domainFQDN и objectSID для синхронизации.

Поддерживаемые сценарии

Сценарий, описанный в этой статье, поддерживает единый вход в двух конфигурациях:

  • облачные ресурсы, такие как приложения Microsoft 365 и другие приложения с поддержкой SAML;
  • локальные ресурсы и интегрированная аутентификация Windows для веб-сайтов. В число ресурсов могут входить веб-сайты и сайты SharePoint, для которых требуется проверка подлинности IIS, и/или ресурсы, использующие проверку подлинности NTLM.

Неподдерживаемые сценарии

Не поддерживаются следующие сценарии:

  • развертывание доменных служб Active Directory (AD DS) в Windows Server с присоединением к домену (только для локальных устройств);
  • протокол удаленного рабочего стола (RDP), инфраструктура виртуальных рабочих столов (VDI) и сценарии Citrix с использованием ключа безопасности;
  • использование протокола S/MIME с ключом безопасности;
  • использование функции запуска от имени с ключом безопасности;
  • вход на сервер с ключом безопасности.

Установка модуля AzureADHybridAuthenticationManagement

AzureADHybridAuthenticationManagement предоставляет функции управления FIDO2 для администраторов.

  1. Откройте командную строку PowerShell с помощью функции "Запуск от имени администратора".

  2. Установите AzureADHybridAuthenticationManagement модуль:

    # First, ensure TLS 1.2 for PowerShell gallery access.
    [Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor [Net.SecurityProtocolType]::Tls12
    
    # Install the AzureADHybridAuthenticationManagement PowerShell module.
    Install-Module -Name AzureADHybridAuthenticationManagement -AllowClobber
    

Примечание.

  • По состоянию на обновление 2.3.331.0 модуль AzureADHybridAuthenticationManagement не устанавливает модуль AzureADPreview.
  • Модуль AzureADHybridAuthenticationManagement можно установить на любой компьютер, с которого есть доступ к локальному контроллеру домена Active Directory, без зависимости от решения Microsoft Entra Connect.
  • Модуль AzureADHybridAuthenticationManagement распространяется через галерею PowerShell. Коллекция PowerShell — это центральный репозиторий для хранения содержимого PowerShell. В ней можно найти полезные модули PowerShell, содержащие команды PowerShell и ресурсы "Требуемой конфигурации" (DSC).

Создание объекта сервера Kerberos

Администраторы используют AzureADHybridAuthenticationManagement модуль для создания объекта сервера Microsoft Entra Kerberos в локальном каталоге. Объект должен быть создан на сервере Microsoft Entra Connect или на сервере с установленной Microsoft.Online.PasswordSynchronization.Rpc.dll зависимостью.

Выполните следующие действия в каждом домене и лесу вашей организации, которые содержат пользователей Microsoft Entra:

  1. Откройте командную строку PowerShell с помощью функции "Запуск от имени администратора".
  2. Выполните следующие команды PowerShell, чтобы создать новый объект сервера Microsoft Entra Kerberos как в вашем локальном домене Active Directory, так и в арендаторе Microsoft Entra.

Выберите облако Azure (по умолчанию — коммерческая служба Azure)

По умолчанию командлет Set-AzureADKerberosSever будет использовать конечные точки коммерческого облака. Если вы настраиваете Kerberos в другой облачной среде, необходимо задать командлет для использования указанного облака.

Чтобы получить список доступных облаков и числовое значение, необходимое для изменения, выполните следующее:
Get-AzureADKerberosServerEndpoint

Пример результата:

Current Endpoint = 0(Public)
Supported Endpoints:
   0 :Public
   1 :China
   2 :Us Government

Обратите внимание на числовое значение рядом с вашей желаемой облачной средой.

Чтобы затем задать нужную облачную среду, выполните следующую команду:

(Пример: для облака для государственных организаций США)

Set-AzureADKerberosServerEndpoint -TargetEndpoint 2

Подсказка

Дополнительные сведения о сравнении коммерческих и национальных облаков Azure см. в статье Различия между коммерческими и независимыми облаками Azure.

Пример 1. Запрос всех учетных данных

# Specify the on-premises Active Directory domain. A new Microsoft Entra ID
# Kerberos Server object will be created in this Active Directory domain.
$domain = $env:USERDNSDOMAIN

# Enter an Azure Active Directory Hybrid Identity Administrator username and password.
$cloudCred = Get-Credential -Message 'An Active Directory user who is a member of the Hybrid Identity Administrators group for Microsoft Entra ID.'

# Enter a Domain Administrator username and password.
$domainCred = Get-Credential -Message 'An Active Directory user who is a member of the Domain Admins group.'

# Create the new Microsoft Entra ID Kerberos Server object in Active Directory
# and then publish it to Azure Active Directory.
Set-AzureADKerberosServer -Domain $domain -CloudCredential $cloudCred -DomainCredential $domainCred

Пример 2. Запрос облачных учетных данных

Примечание.

Если вы работаете на компьютере, присоединенном к домену, с учетной записью, имеющей права администратора домена, то можно пропустить параметр "-DomainCredential". Если параметр "-DomainCredential" не указан, для доступа к локальному контроллеру домена Active Directory используются текущие учетные данные для входа Windows.

# Specify the on-premises Active Directory domain. A new Microsoft Entra ID
# Kerberos Server object will be created in this Active Directory domain.
$domain = $env:USERDNSDOMAIN

# Enter an Azure Active Directory Hybrid Identity Administrator username and password.
$cloudCred = Get-Credential

# Create the new Microsoft Entra ID Kerberos Server object in Active Directory
# and then publish it to Azure Active Directory.
# Use the current windows login credential to access the on-premises AD.
Set-AzureADKerberosServer -Domain $domain -CloudCredential $cloudCred

Пример 3. Запрос всех учетных данных с использованием современной проверки подлинности

Примечание.

Если ваша организация защищает вход на основе паролей и применяет современные методы проверки подлинности, такие как многофакторная проверка подлинности, FIDO2 или технология смарт-карты, необходимо использовать -UserPrincipalName параметр с именем участника-пользователя (UPN) гибридного администратора удостоверений.

  • Замените contoso.corp.com в следующем примере доменным именем своей локальной службы Active Directory.
  • Замените administrator@contoso.onmicrosoft.com в следующем примере на UPN (универсальное имя пользователя) администратора гибридных удостоверений.
# Specify the on-premises Active Directory domain. A new Microsoft Entra ID
# Kerberos Server object will be created in this Active Directory domain.
$domain = $env:USERDNSDOMAIN

# Enter a UPN of a Hybrid Identity Administrator
$userPrincipalName = "administrator@contoso.onmicrosoft.com"

# Enter a Domain Administrator username and password.
$domainCred = Get-Credential

# Create the new Microsoft Entra ID Kerberos Server object in Active Directory
# and then publish it to Azure Active Directory.
# Open an interactive sign-in prompt with given username to access the Microsoft Entra ID.
Set-AzureADKerberosServer -Domain $domain -UserPrincipalName $userPrincipalName -DomainCredential $domainCred

Пример 4. Запрос облачных учетных данных с использованием современной проверки подлинности

Примечание.

Если вы работаете на компьютере, присоединенном к домену, с учетной записью с правами администратора домена и организацией защищает вход на основе паролей и применяет современные методы проверки подлинности, такие как многофакторная проверка подлинности, FIDO2 или технология смарт-карты, необходимо использовать -UserPrincipalName параметр с именем участника-пользователя (UPN) администратора гибридного удостоверения. Кроме того, можно опустить параметр "-DomainCredential". > — Замените administrator@contoso.onmicrosoft.com в следующем примере на UPN администратора гибридной идентификации.

# Specify the on-premises Active Directory domain. A new Microsoft Entra ID
# Kerberos Server object will be created in this Active Directory domain.
$domain = $env:USERDNSDOMAIN

# Enter a UPN of a Hybrid Identity Administrator
$userPrincipalName = "administrator@contoso.onmicrosoft.com"

# Create the new Microsoft Entra ID Kerberos Server object in Active Directory
# and then publish it to Azure Active Directory.
# Open an interactive sign-in prompt with given username to access the Microsoft Entra ID.
Set-AzureADKerberosServer -Domain $domain -UserPrincipalName $userPrincipalName

Просмотр и проверка сервера Microsoft Entra Kerberos

Вы можете просмотреть и проверить только что созданный сервер Microsoft Entra Kerberos с помощью следующей команды:

 # When prompted to provide domain credentials use the userprincipalname format for the username instead of domain\username
Get-AzureADKerberosServer -Domain $domain -UserPrincipalName $userPrincipalName -DomainCredential (get-credential)

Эта команда выводит свойства сервера Microsoft Entra Kerberos. Можно проверить свойства, чтобы убедиться, что все в порядке.

Примечание.

Подключение к другому домену с предоставлением учетных данных в формате domain\username будет происходить через NTLM, но затем не удается. Однако использование формата userprincipalname для администратора домена гарантирует, что попытка привязки RPC к контроллеру домена выполняется правильно с помощью Kerberos. Если пользователи находятся в группе безопасности "Защищенные пользователи" в Active Directory, выполните приведенные ниже действия, чтобы устранить проблему. Войдите в систему как другой пользователь домена в ADConnect и не указывайте параметр "-domainCredential". Используется билет Kerberos пользователя, который в данный момент вошел в систему. Чтобы проверить, имеет ли пользователь необходимые разрешения в Active Directory для выполнения предыдущей команды, можно выполнить команду whoami /groups.

Свойство Описание
Идентификатор Уникальный идентификатор объекта контроллера доменных служб Active Directory. Этот идентификатор иногда называют слотом или идентификатором ветви.
DomainDnsName Доменное имя DNS для домена Active Directory.
Учетная запись компьютера Объект учетной записи компьютера для объекта сервера Microsoft Entra Kerberos (контроллер домена).
Учетная запись пользователя Объект отключенной учетной записи пользователя, содержащий ключ шифрования TGT сервера Microsoft Entra Kerberos. Доменное имя этой учетной записи — CN=krbtgt_AzureAD,CN=Users,<Domain-DN>.
КлючеваяВерсия Ключевая версия ключа шифрования TGT сервера Microsoft Entra Kerberos. Эта версия назначается при создании ключа. Затем версия увеличивается при каждой смене ключа. Данные инкременты основаны на метаданных репликации и, вероятно, превышают единицу. Например, начальным значением KeyVersion может быть 192272. При первом повороте ключа версия может обновиться до 212621. Важно убедиться, что одинаковы значения параметра KeyVersion для локального объекта и параметра CloudKeyVersion для облачного объекта.
ДатаОбновленияКлюча Дата и время обновления или создания ключа шифрования TGT сервера Microsoft Entra Kerberos.
Ключ обновлён из Контроллер домена, где в последний раз был обновлен ключ шифрования TGT сервера Microsoft Entra Kerberos.
CloudId Идентификатор объекта Microsoft Entra. Должно соответствовать идентификатору в первой строке таблицы.
Имя DNS облачного домена DomainDnsName из объекта Microsoft Entra. Должно соответствовать значению DomainDnsName во второй строке таблицы.
CloudKeyVersion KeyVersion из объекта Microsoft Entra. Должно соответствовать значению KeyVersion в пятой строке таблицы.
ОблакоКлючОбновлено KeyUpdatedOn из объекта Microsoft Entra. Должно соответствовать значению KeyUpdatedOn в шестой строке таблицы.

Смените ключ сервера Microsoft Entra Kerberos

Ключи шифрования сервера Microsoft Entra Kerberos krbtgt следует регулярно обновлять. Рекомендуем вам следовать тому же расписанию, которое вы используете для смены всех остальных ключей krbtgt в контроллерах домена Active Directory.

Предупреждение

Существуют и другие средства поворота ключей krbtgt. Однако для смены ключей krbtgt сервера Microsoft Entra Kerberos необходимо использовать средства, упомянутые в этом документе. Это гарантирует, что ключи обновляются как в локальной службе Active Directory, так и в учетной записи Microsoft Entra.

Set-AzureADKerberosServer -Domain $domain -CloudCredential $cloudCred -DomainCredential $domainCred -RotateServerKey

Удаление сервера Microsoft Entra Kerberos

Если вы хотите отменить изменения и удалить сервер Microsoft Entra Kerberos как из локальной службы Active Directory, так и из Microsoft Entra ID, выполните следующую команду:

Remove-AzureADKerberosServer -Domain $domain -CloudCredential $cloudCred -DomainCredential $domainCred

Сценарии с несколькими лесами и доменами

Объект сервера Microsoft Entra Kerberos представлен в идентификаторе Microsoft Entra как объект KerberosDomain . Каждый локальный домен Active Directory представлен как один объект KerberosDomain в Microsoft Entra ID.

Например, в вашей организации есть лес Active Directory с двумя доменами: contoso.com и fabrikam.com. Если вы решили разрешить Microsoft Entra ID выдавать TGT Kerberos для всего леса, в Microsoft Entra ID существуют два объекта KerberosDomain: один объект KerberosDomain для contoso.com, а другой для fabrikam.com. Если у вас есть несколько лесов Active Directory, на каждый домен в каждом из лесов приходится по одному объекту KerberosDomain.

Следуйте инструкциям в разделе Создание объекта Kerberos Server в каждом домене и лесу вашей организации, содержащей пользователей Microsoft Entra.

Известное поведение

Если срок действия пароля истек, вход с помощью FIDO блокируется. Ожидается, что пользователи сбросят свои пароли перед тем, как войти, используя FIDO. Это поведение также относится к гибридному входу пользователя с синхронизацией с локальной системой, использующему Windows Hello для бизнеса и облачное доверие Kerberos.

Устранение неполадок и отзывов

Если у вас возникли проблемы или вы хотите поделиться отзывом об этой функции входа с ключом безопасности без пароля, воспользуйтесь приложением Центра отзывов Windows, выполнив следующие действия.

  1. Откройте Центр отзывов и войдите в него.
  2. Отправьте отзыв, выбрав следующие категории:
    • Категория: безопасность и конфиденциальность данных
    • Подкатегория: FIDO
  3. Чтобы записать журналы, используйте функцию Recreate my Problem (Воспроизвести мою проблему).

Вопросы и ответы о входе с ключом безопасности без пароля

Ниже приведены ответы на часто задаваемые вопросы о входе без пароля.

Работает ли вход с ключом безопасности без пароля в локальной среде?

Эта функция не работает в полностью локальной среде AD DS.

В моей организации для доступа к ресурсам требуется двухфакторная проверка подлинности. Что можно сделать, чтобы выполнить это требование?

Ключи безопасности предлагаются в разных форм-факторах. Обратитесь к производителю интересующего вас устройства, чтобы узнать, как использовать PIN-код или биометрические данные в качестве второго фактора при их включении.

Могут ли администраторы настраивать ключи безопасности?

Мы работаем над предоставлением этой возможности в общедоступном выпуске данной функции.

Где найти соответствующие ключи безопасности?

Сведения о соответствующих ключах безопасности см. в разделе Ключи безопасности FIDO2.

Что делать, если я потеряю свой ключ безопасности?

Чтобы удалить зарегистрированный ключ безопасности, войдите в myaccount.microsoft.com, а затем перейдите на страницу сведений о безопасности.

Что делать, если не удается использовать ключ безопасности FIDO сразу после создания гибридного компьютера, присоединенного к Microsoft Entra?

Если вы производите чистую установку системы с гибридным присоединением к Microsoft Entra, после присоединения к домену и перезапуска необходимо войти с паролем и подождать синхронизации политики, прежде чем использовать ключ безопасности FIDO для входа.

  • Проверьте текущее состояние, введя в окне командной строки dsregcmd /status и убедившись, что для обоих параметров AzureAdJoined и DomainJoined отображается значение YES (Да).
  • Эта задержка синхронизации является известным ограничением для присоединенных к домену устройств и не относится только к FIDO.

Что делать, если я не могу использовать единый вход в сетевой ресурс NTLM после входа с помощью FIDO и получения запроса учетных данных?

Убедитесь, что достаточное число контроллеров домена обновлено соответствующими патчами для своевременной обработки вашего запроса на ресурсы. Чтобы узнать, выполняется ли функция на контроллере домена (DC), запустите nltest /dsgetdc:contoso /keylist /kdc, а затем ознакомьтесь с выходными данными.

Примечание.

Переключатель /keylist в команде nltest доступен в клиентской версии Windows 10, начиная с версии 2004.

Работают ли ключи безопасности FIDO2 при входе в систему Windows с контроллером домена только для чтения (RODC) в гибридной среде?

Вход в Windows с использованием FIDO2 ищет записываемый контроллер домена для обмена пользовательским TGT. Если у вас есть по крайней мере один доступный для записи контроллер домена на каждом сайте, вход в систему работает нормально.

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

Узнайте больше о проверке подлинности без пароля.