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

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

Использование единого входа для входа в локальные ресурсы с помощью ключей FIDO2

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

Объект сервера Microsoft Entra Kerberos создается в вашем локальная служба Active Directory экземпляре, а затем безопасно опубликован в идентификаторе Microsoft Entra. Объект не связан ни с одним физическим сервером. Это просто ресурс, который можно использовать идентификатором Microsoft Entra для создания 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. TGT возвращается клиенту вместе с основным маркером обновления Microsoft Entra (PRT).

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

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

Необходимые компоненты

Прежде чем приступать к процедурам, описанным в этой статье, в вашей организации необходимо выполнить инструкции из статьи Включение входа с ключом безопасности без пароля для устройств Windows 10 с Azure Active Directory.

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

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

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

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

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

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

    • onPremisesSamAccountName (accountName в Entra Подключение)
    • onPremisesDomainName (domainFQDN в Entra Подключение)
    • onPremisesSecurityIdentifier (objectSID в Entra Подключение)

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

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

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

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

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

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

  • развертывание доменных служб 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
    

Примечание.

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

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

Администратор istrator использует AzureADHybridAuthenticationManagement модуль для создания объекта сервера Microsoft Entra Kerberos в локальном каталоге.

Выполните следующие действия в каждом домене и лесу в организации, которые содержат пользователей 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

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

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

# Enter an Azure Active Directory global administrator username and password.
$cloudCred = Get-Credential -Message 'An Active Directory user who is a member of the Global Administrators group for Azure AD.'

# 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 Azure AD 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 Azure AD
# Kerberos Server object will be created in this Active Directory domain.
$domain = $env:USERDNSDOMAIN

# Enter an Azure Active Directory global administrator username and password.
$cloudCred = Get-Credential

# Create the new Azure AD 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 с именем субъекта-пользователя глобального администратора.

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

# Enter a UPN of an Azure Active Directory global administrator
$userPrincipalName = "administrator@contoso.onmicrosoft.com"

# Enter a domain administrator username and password.
$domainCred = Get-Credential

# Create the new Azure AD 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 Azure AD.
Set-AzureADKerberosServer -Domain $domain -UserPrincipalName $userPrincipalName -DomainCredential $domainCred

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

Примечание.

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

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

# Enter a UPN of an Azure Active Directory global administrator
$userPrincipalName = "administrator@contoso.onmicrosoft.com"

# Create the new Azure AD 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 Azure AD.
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". Используется билет Kereberos пользователя, выполнившего вход в данный момент. Чтобы проверить, имеет ли пользователь необходимые разрешения в Active Directory для выполнения предыдущей команды, можно выполнить команду whoami /groups.

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

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

Ключи шифрования сервера Krbtgt в Microsoft Entra Kerberos следует регулярно поворачивать. Рекомендуется придерживаться того же расписания, которое используется при смене всех остальных ключей 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, выполните следующую команду:

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

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

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

Например, в вашей организации есть лес Active Directory с двумя доменами: contoso.com и fabrikam.com. Если вы решили разрешить идентификатору Microsoft Entra выдавать TGTs 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 и получения запроса учетных данных?

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

Примечание.

Параметр /keylist в команде nltest доступен в клиенте Windows 10 версии 2004 и более поздних версий.

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

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

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

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