Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье описан процесс настройки единого входа службы федерации Active Directory (AD FS) для Виртуального рабочего стола Azure.
Предварительные условия
Перед настройкой единого входа AD FS в вашей среде необходимо выполнить следующую настройку:
Узлы сеансов под управлением поддерживаемой версии Windows 10 или Windows 11.
Необходимо развернуть роль служб сертификатов Active Directory (ЦС). Все серверы, на которых выполняется роль, должны быть присоединены к домену, установлены последние обновления Windows и настроены в качестве центров сертификации предприятия.
Необходимо развернуть роль службы федерации Active Directory (AD FS) (AD FS). Все серверы с этой ролью должны быть присоединены к домену, установлены последние обновления Windows и работать Windows Server 2016 или более поздней версии.
Рекомендуется настроить роль веб-Application Proxy для защиты подключения среды к серверам AD FS. На всех серверах с этой ролью должны быть установлены последние обновления Windows, которые работают Windows Server 2016 или более поздней версии. Чтобы приступить к настройке этой роли, ознакомьтесь с руководством по веб-Application Proxy.
Необходимо развернуть Microsoft Entra Connect, чтобы синхронизировать пользователей с Microsoft Entra ID. Microsoft Entra Connect необходимо настроить в режиме федерации.
Настройте среду PowerShell для Виртуального рабочего стола Azure на сервере AD FS.
Примечание.
Это решение не поддерживается с Доменные службы Microsoft Entra. Необходимо использовать контроллер домена доменные службы Active Directory.
Поддерживаемые клиенты
Следующие клиенты Виртуального рабочего стола Azure поддерживают эту функцию:
Настройка центра сертификации для выдачи сертификатов
Необходимо правильно создать следующие шаблоны сертификатов, чтобы AD FS могли использовать единый вход:
- Сначала необходимо создать шаблон сертификата агента регистрации Exchange (автономный запрос). AD FS использует шаблон сертификата агента регистрации Exchange для запроса сертификатов от имени пользователя.
- Вам также потребуется создать шаблон сертификата для входа с смарт-картой , который AD FS будет использовать для создания сертификата входа.
После создания этих шаблонов сертификатов необходимо включить шаблоны в центре сертификации, чтобы AD FS могла запросить их.
Примечание.
Это решение создает новые краткосрочные сертификаты при каждом входе пользователя, который может заполнить базу данных центра сертификации, если у вас много пользователей. Вы можете избежать перегрузки базы данных, настроив ЦС для постоянной обработки сертификатов. В этом случае убедитесь, что в шаблоне дублированного сертификата для входа в систему смарт-карты включите только Параметр Не хранить сертификаты и запросы в базе данных ЦС. Не включайте Не включать сведения об отзыве в выданные сертификаты , иначе конфигурация не будет работать.
Создание шаблона сертификата агента регистрации
В зависимости от среды вы, возможно, уже настроили шаблон сертификата агента регистрации для других целей, таких как Windows Hello для бизнеса, сертификаты входа или VPN-сертификаты. Если это так, вам потребуется изменить его для поддержки единого входа. В противном случае можно создать новый шаблон.
Чтобы определить, используется ли шаблон сертификата агента регистрации, выполните следующую команду PowerShell на сервере AD FS и проверьте, возвращается ли значение. Если он пуст, создайте новый шаблон сертификата агента регистрации. В противном случае запомните имя и обновите существующий шаблон сертификата агента регистрации.
Import-Module adfs
(Get-AdfsCertificateAuthority).EnrollmentAgentCertificateTemplateName
Чтобы создать шаблон сертификата агента регистрации, выполните следующее:
В центре сертификации запустите mmc.exe из меню Пуск, чтобы запустить консоль управления Майкрософт.
Выберите Файл...>Добавление или удаленная оснастка...>Шаблоны сертификатов>Добавлять >>ОК , чтобы просмотреть список шаблонов сертификатов.
Разверните Шаблоны сертификатов, щелкните правой кнопкой мыши Агент регистрации Exchange (автономный запрос) и выберите Дублировать шаблон.
Перейдите на вкладку Общие , а затем введите "Агент регистрации ADFS" в поле Отображаемое имя шаблона . При этом имя шаблона будет автоматически присвоено "ADFSEnrollmentAgent".
Перейдите на вкладку Безопасность , а затем выберите Добавить....
Затем выберите Типы объектов..., затем Учетные записи служб, а затем ОК.
Введите имя учетной записи службы для AD FS и нажмите кнопку ОК.
- В изолированной настройке AD FS учетная запись службы будет называться "adfssvc$"
- Если вы настроили AD FS с помощью Microsoft Entra Connect, учетная запись службы будет называться aadcsvc$.
После того как учетная запись службы будет добавлена и отобразится на вкладке Безопасность , выберите ее в области Имена групп или пользователей , выберите Разрешить для "Регистрация" и "Автоматическая регистрация" в области Разрешения для учетной записи службы AD FS , а затем нажмите кнопку ОК , чтобы сохранить.
Чтобы обновить существующий шаблон сертификата агента регистрации, выполните следующее:
- В центре сертификации запустите mmc.exe из меню Пуск, чтобы запустить консоль управления Майкрософт.
- Выберите Файл...>Добавление или удаленная оснастка...>Шаблоны сертификатов>Добавлять >>ОК , чтобы просмотреть список шаблонов сертификатов.
- Разверните шаблоны сертификатов, дважды щелкните шаблон, соответствующий шаблону, настроенном на сервере AD FS. На вкладке Общие имя шаблона должно соответствовать имени, найденному выше.
- Перейдите на вкладку Безопасность , а затем выберите Добавить....
- Затем выберите Типы объектов..., затем Учетные записи служб, а затем ОК.
- Введите имя учетной записи службы для AD FS и нажмите кнопку ОК.
- В изолированной настройке AD FS учетная запись службы будет называться "adfssvc$"
- Если вы настроили AD FS с помощью Microsoft Entra Connect, учетная запись службы будет называться aadcsvc$.
- После того как учетная запись службы будет добавлена и отобразится на вкладке Безопасность , выберите ее в области Имена групп или пользователей , выберите Разрешить для "Регистрация" и "Автоматическая регистрация" в области Разрешения для учетной записи службы AD FS , а затем нажмите кнопку ОК , чтобы сохранить.
Создание шаблона сертификата для входа со смарт-картой
Чтобы создать шаблон сертификата для входа со смарт-карты, выполните следующие действия:
В центре сертификации запустите mmc.exe из меню Пуск, чтобы запустить консоль управления Майкрософт.
Выберите Файл...>Добавление или удаленная оснастка...>Шаблоны сертификатов>Добавлять>ОК , чтобы просмотреть список шаблонов сертификатов.
Разверните Шаблоны сертификатов, щелкните правой кнопкой мыши значок Вход с смарт-картой и выберите дублировать шаблон.
Перейдите на вкладку Общие , а затем введите "Единый вход ADFS" в поле Отображаемое имя шаблона . При этом имя шаблона будет автоматически присвоено "ADFSSSO".
Примечание.
Так как этот сертификат запрашивается по запросу, рекомендуется сократить срок действия до 8 часов, а период продления — до 1 часа.
Перейдите на вкладку Имя субъекта , а затем в запросе выберите Пункт Предоставить. Когда появится предупреждающее сообщение, нажмите кнопку ОК.
Перейдите на вкладку Требования к выдаче .
Выберите Это число авторизованных подписей и введите значение 1.
Для параметра Политика приложений выберите Агент запроса сертификата.
Перейдите на вкладку Безопасность , а затем выберите Добавить....
Выберите Типы объектов..., Учетные записи служб и ОК.
Введите имя учетной записи службы для AD FS, как это было в разделе Создание шаблона сертификата агента регистрации .
- В изолированной настройке AD FS учетная запись службы будет называться "adfssvc$"
- Если вы настроили AD FS с помощью Microsoft Entra Connect, учетная запись службы будет называться aadcsvc$.
Когда учетная запись службы будет добавлена и отобразится на вкладке Безопасность , выберите ее в области Имена групп или пользователей , выберите Разрешить для параметра "Регистрация" и "Автоматическая регистрация", а затем нажмите кнопку ОК , чтобы сохранить.
Включите новые шаблоны сертификатов:
Чтобы включить новые шаблоны сертификатов, выполните следующие действия:
В центре сертификации запустите mmc.exe из меню Пуск, чтобы запустить консоль управления Майкрософт.
Выберите Файл...>Добавление и удаление оснастки...>Центр> сертификацииДобавлять >>Заканчивать> и ОК для просмотра центра сертификации.
Разверните центр сертификации в области слева и откройте Шаблоны сертификатов.
Щелкните правой кнопкой мыши в средней области со списком шаблонов сертификатов, выберите Создать, а затем выберите Шаблон сертификата для выдачи.
Выберите агент регистрации ADFS и единый вход ADFS, а затем нажмите кнопку ОК. Оба шаблона должны отображаться в средней области.
Примечание.
Если у вас уже настроен шаблон сертификата агента регистрации, необходимо только добавить шаблон единого входа ADFS.
Настройка серверов AD FS
Необходимо настроить серверы службы федерации Active Directory (AD FS) (AD FS) для использования новых шаблонов сертификатов и установить доверие проверяющей стороны для поддержки единого входа.
Доверие проверяющей стороны между сервером AD FS и службой Виртуального рабочего стола Azure позволяет правильно пересылать запросы на сертификат единого входа в среду домена.
При настройке единого входа AD FS необходимо выбрать общий ключ или сертификат:
- Если у вас есть один сервер AD FS, можно выбрать общий ключ или сертификат.
- Если у вас несколько серверов AD FS, необходимо выбрать сертификат.
Общий ключ или сертификат, используемые для создания маркера для входа в Windows, должны храниться в Azure Key Vault. Секрет можно сохранить в существующем Key Vault или развернуть новый. В любом случае необходимо настроить правильную политику доступа, чтобы служба Виртуального рабочего стола Azure могла получить к ней доступ.
При использовании сертификата можно использовать любой сертификат общего назначения, и нет никаких требований к имени субъекта или альтернативному имени субъекта (SAN). Хотя это не обязательно, рекомендуется создать сертификат, выданный действительным центром сертификации. Этот сертификат можно создать непосредственно в Azure Key Vault и должен иметь экспортируемый закрытый ключ. Открытый ключ можно экспортировать и использовать для настройки сервера AD FS с помощью приведенного ниже скрипта. Обратите внимание, что этот сертификат отличается от SSL-сертификата AD FS, который должен иметь правильное имя субъекта и действительный центр сертификации.
Скрипт PowerShell ,ConfigureWVDSSO.ps1 доступный в коллекция PowerShell, настроит сервер AD FS для доверия проверяющей стороны и при необходимости установит сертификат.
Этот скрипт имеет только один обязательный параметр , ADFSAuthority, который является URL-адресом, который разрешается в AD FS и использует "/adfs" в качестве суффикса. Например, https://adfs.contoso.com/adfs.
На виртуальных машинах AD FS выполните следующий командлет PowerShell, чтобы настроить AD FS для использования шаблонов сертификатов из предыдущего раздела:
Set-AdfsCertificateAuthority -EnrollmentAgentCertificateTemplate "ADFSEnrollmentAgent" -LogonCertificateTemplate "ADFSSSO" -EnrollmentAgentПримечание.
Если у вас уже настроен параметр EnrollmentAgentCertificateTemplate, используйте существующее имя шаблона вместо ADFSEnrollmentAgent.
Запустите скрипт ConfigureWVDSSO.ps1.
Примечание.
Значения переменных необходимы
$configдля выполнения следующей части инструкций, поэтому не закрывайте окно PowerShell, которое использовалось для выполнения предыдущих инструкций. Вы можете использовать то же окно PowerShell или оставить его открытым при запуске нового сеанса PowerShell.Если вы используете общий ключ в Key Vault, выполните следующий командлет PowerShell на сервере AD FS с ADFSServiceUrl, замененным полным URL-адресом, чтобы связаться со службой AD FS:
Install-Script ConfigureWVDSSO $config = ConfigureWVDSSO.ps1 -ADFSAuthority "<ADFSServiceUrl>" [-WvdWebAppAppIDUri "<WVD Web App URI>"] [-RdWebURL "<RDWeb URL>"]Примечание.
Для настройки среды в национальном облаке, например Azure для государственных организаций, требуются свойства WvdWebAppAppIDUri и RdWebURL. В коммерческом облаке Azure для этих свойств автоматически устанавливается значение
https://www.wvd.microsoft.comиhttps://rdweb.wvd.microsoft.comсоответственно.Если вы используете сертификат в Key Vault, выполните следующий командлет PowerShell на сервере AD FS с ADFSServiceUrl, замененным полным URL-адресом, чтобы связаться со службой AD FS:
Install-Script ConfigureWVDSSO $config = ConfigureWVDSSO.ps1 -ADFSAuthority "<ADFSServiceUrl>" -UseCert -CertPath "<Path to the pfx file>" -CertPassword <Password to the pfx file> [-WvdWebAppAppIDUri "<WVD Web App URI>"] [-RdWebURL "<RDWeb URL>"]Примечание.
Для настройки среды в национальном облаке, например Azure для государственных организаций, требуются свойства WvdWebAppAppIDUri и RdWebURL. В коммерческом облаке Azure для этих свойств автоматически устанавливается значение
https://www.wvd.microsoft.comиhttps://rdweb.wvd.microsoft.comсоответственно.
Настройте политику доступа в Key Vault Azure, выполнив следующий командлет PowerShell:
Set-AzKeyVaultAccessPolicy -VaultName "<Key Vault Name>" -ServicePrincipalName 9cdead84-a844-4324-93f2-b2e6bb768d07 -PermissionsToSecrets get -PermissionsToKeys signСохраните общий ключ или сертификат в Azure Key Vault с тегом, содержащим разделенный комой список идентификаторов подписок, разрешенных для использования секрета.
Если вы используете общий ключ в Key Vault, выполните следующий командлет PowerShell, чтобы сохранить общий ключ и задать тег:
$hp = Get-AzWvdHostPool -Name "<Host Pool Name>" -ResourceGroupName "<Host Pool Resource Group Name>" $secret = Set-AzKeyVaultSecret -VaultName "<Key Vault Name>" -Name "adfsssosecret" -SecretValue (ConvertTo-SecureString -String $config.SSOClientSecret -AsPlainText -Force) -Tag @{ 'AllowedWVDSubscriptions' = $hp.Id.Split('/')[2]}Если сертификат уже находится в Key Vault, выполните следующий командлет PowerShell, чтобы задать тег:
$hp = Get-AzWvdHostPool -Name "<Host Pool Name>" -ResourceGroupName "<Host Pool Resource Group Name>" $secret = Update-AzKeyVaultCertificate -VaultName "<Key Vault Name>" -Name "<Certificate Name>" -Tag @{ 'AllowedWVDSubscriptions' = $hp.Id.Split('/')[2]} -PassThruЕсли у вас есть локальный сертификат, выполните следующий командлет PowerShell, чтобы импортировать сертификат в Key Vault и задать тег:
$hp = Get-AzWvdHostPool -Name "<Host Pool Name>" -ResourceGroupName "<Host Pool Resource Group Name>" $secret = Import-AzKeyVaultCertificate -VaultName "<Key Vault Name>" -Name "adfsssosecret" -Tag @{ 'AllowedWVDSubscriptions' = $hp.Id.Split('/')[2]} -FilePath "<Path to pfx>" -Password (ConvertTo-SecureString -String "<pfx password>" -AsPlainText -Force)
Примечание.
При необходимости можно настроить частоту запросов пользователей на ввод учетных данных, изменив параметры единого входа AD FS. По умолчанию запросы пользователей на незарегистрированных устройствах будут выполняться каждые 8 часов.
Настройка пула узлов Виртуального рабочего стола Azure
Пора настроить параметры единого входа AD FS в пуле узлов Виртуального рабочего стола Azure. Для этого настройте среду PowerShell для Виртуального рабочего стола Azure, если вы еще этого не сделали, и подключитесь к своей учетной записи.
После этого обновите сведения о едином входе для пула узлов, выполнив один из следующих двух командлетов в одном окне PowerShell на виртуальной машине AD FS:
Если вы используете общий ключ в Key Vault, выполните следующий командлет PowerShell:
Update-AzWvdHostPool -Name "<Host Pool Name>" -ResourceGroupName "<Host Pool Resource Group Name>" -SsoadfsAuthority "<ADFSServiceUrl>" -SsoClientId "<WVD Web App URI>" -SsoSecretType SharedKeyInKeyVault -SsoClientSecretKeyVaultPath $secret.IdПримечание.
Необходимо задать свойство SsoClientId в соответствии с облаком Azure, в котором развертывается единый вход. В коммерческом облаке Azure это свойство должно иметь значение
https://www.wvd.microsoft.com. Однако обязательный параметр для этого свойства будет отличаться для других облаков, таких как облако Azure для государственных организаций.Если вы используете сертификат в Key Vault, выполните следующий командлет PowerShell:
Update-AzWvdHostPool -Name "<Host Pool Name>" -ResourceGroupName "<Host Pool Resource Group Name>" -SsoadfsAuthority "<ADFSServiceUrl>" -SsoClientId "<WVD Web App URI>" -SsoSecretType CertificateInKeyVault -SsoClientSecretKeyVaultPath $secret.IdПримечание.
Необходимо задать свойство SsoClientId в соответствии с облаком Azure, в котором развертывается единый вход. В коммерческом облаке Azure это свойство должно иметь значение
https://www.wvd.microsoft.com. Однако обязательный параметр для этого свойства будет отличаться для других облаков, таких как облако Azure для государственных организаций.
Настройка дополнительных пулов узлов
Если необходимо настроить дополнительные пулы узлов, можно получить параметры, которые использовались для настройки существующего пула узлов для настройки нового.
Чтобы получить параметры из существующего пула узлов, откройте окно PowerShell и выполните следующий командлет:
Get-AzWvdHostPool -Name "<Host Pool Name>" -ResourceGroupName "<Host Pool Resource Group Name>" | fl *
Вы можете выполнить действия, описанные в статье Настройка пула узлов Виртуального рабочего стола Azure с помощью одних и того же значения SsoClientId, SsoClientSecretKeyVaultPath, SsoSecretType и SsoadfsAuthority .
Удаление единого входа
Чтобы отключить единый вход в пуле узлов, выполните следующий командлет:
Update-AzWvdHostPool -Name "<Host Pool Name>" -ResourceGroupName "<Host Pool Resource Group Name>" -SsoadfsAuthority ''
Если вы также хотите отключить единый вход на сервере AD FS, выполните следующий командлет:
Install-Script UnConfigureWVDSSO
UnConfigureWVDSSO.ps1 -WvdWebAppAppIDUri "<WVD Web App URI>" -WvdClientAppApplicationID "a85cf173-4192-42f8-81fa-777a763e6e2c"
Примечание.
Свойство WvdWebAppAppIDUri должно соответствовать облаку Azure, в котором выполняется развертывание. В коммерческом облаке Azure это свойство имеет значение https://www.wvd.microsoft.com. Она будет отличаться для других облаков, таких как облако Azure для государственных организаций.
Дальнейшие действия
Теперь, когда вы настроили единый вход, вы можете войти в поддерживаемый клиент Виртуального рабочего стола Azure, чтобы протестировать его в рамках сеанса пользователя. Если вы хотите узнать, как подключиться к сеансу с помощью новых учетных данных, проверка следующие статьи: