Sdílet prostřednictvím


Konfigurace jednotného přihlašování pro Azure Virtual Desktop pomocí AD FS

Tento článek vás provede procesem konfigurace jednotného přihlašování (SSO) služby Active Directory Federation Service (AD FS) pro Azure Virtual Desktop.

Poznámka:

Azure Virtual Desktop (Classic) tuto funkci nepodporuje.

Požadavky

Před konfigurací jednotného přihlašování služby AD FS musíte mít ve svém prostředí spuštěné následující nastavení:

  • Hostitelé relací s podporovanou verzí Windows 10 nebo Windows 11.

  • Musíte nasadit roli Active Directory Certificate Services (CA ). Všechny servery s rolí musí být připojené k doméně, musí mít nainstalované nejnovější aktualizace Windows a musí být nakonfigurované jako certifikační autority organizace.

  • Musíte nasadit roli Active Directory Federation Services (AD FS) (AD FS). Všechny servery s touto rolí musí být připojené k doméně, musí mít nainstalované nejnovější aktualizace Windows a musí používat Windows Server 2016 nebo novější. V našem kurzu federace se dozvíte, jak začít s nastavením této role.

  • Doporučujeme nastavit webovou proxy aplikací roli pro zabezpečení připojení vašeho prostředí k serverům AD FS. Všechny servery, na kterých je tato role spuštěná, musí mít nainstalované nejnovější aktualizace Windows a musí používat Windows Server 2016 nebo novější. Informace o nastavení této role najdete v tomto průvodci webovým proxy aplikací.

  • Pokud chcete synchronizovat uživatele s ID Microsoft Entra, musíte nasadit Microsoft Entra Připojení. Microsoft Entra Připojení musí být nakonfigurován v režimu federace.

  • Nastavte prostředí PowerShellu pro Azure Virtual Desktop na serveru AD FS.

Poznámka:

Toto řešení není podporováno ve službě Microsoft Entra Domain Services. Musíte použít řadič domény Doména služby Active Directory Services.

Podporovaní klienti

Tuto funkci podporují následující klienti Služby Azure Virtual Desktop:

Konfigurace certifikační autority k vydávání certifikátů

Musíte správně vytvořit následující šablony certifikátů, aby služba AD FS mohl používat jednotné přihlašování:

  • Nejprve budete muset vytvořit šablonu certifikátu agenta zápisu Exchange (offline žádost). Služba AD FS používá šablonu certifikátu agenta zápisu exchange k vyžádání certifikátů jménem uživatele.
  • Budete také muset vytvořit šablonu certifikátu pro přihlášení pomocí čipové karty, kterou služba AD FS použije k vytvoření přihlašovacího certifikátu.

Po vytvoření těchto šablon certifikátů budete muset povolit šablony na certifikační autoritě, aby je služba AD FS mohla požádat.

Poznámka:

Toto řešení generuje nové krátkodobé certifikáty pokaždé, když se uživatel přihlásí, což může vyplnit databázi certifikační autority, pokud máte mnoho uživatelů. Přetížení databáze můžete zabránit nastavením certifikační autority pro zpracování ne trvalých certifikátů. Pokud to uděláte, v šabloně duplicitního přihlašovacího certifikátu čipové karty se ujistěte, že jste povolili pouze neukládejte certifikáty a požadavky v databázi certifikační autority. Nezahrnujte informace o odvolání do vydaných certifikátů nebo konfigurace nebude fungovat.

Vytvoření šablony certifikátu agenta zápisu

V závislosti na vašem prostředí už možná máte nakonfigurovanou šablonu certifikátu agenta registrace pro jiné účely, jako jsou Windows Hello pro firmy, přihlašovací certifikáty nebo certifikáty VPN. Pokud ano, budete ho muset upravit tak, aby podporoval jednotné přihlašování. Pokud ne, můžete vytvořit novou šablonu.

Pokud chcete zjistit, jestli už používáte šablonu certifikátu agenta registrace, spusťte na serveru SLUŽBY AD FS následující příkaz PowerShellu a zkontrolujte, jestli se vrátí hodnota. Pokud je prázdná, vytvořte novou šablonu certifikátu agenta registrace. Jinak si název zapamatujte a aktualizujte existující šablonu certifikátu agenta zápisu.

Import-Module adfs
(Get-AdfsCertificateAuthority).EnrollmentAgentCertificateTemplateName

Vytvoření nové šablony certifikátu agenta registrace:

  1. Na certifikační autoritě spusťte mmc.exe z nabídka Start a spusťte konzolu Microsoft Management Console.

  2. Vyberte Soubor...>Přidat nebo vzdálený modul snap-in...>Šablony>certifikátů přidat>> OK pro zobrazení seznamu šablon certifikátů.

  3. Rozbalte šablony certifikátů, klikněte pravým tlačítkem na agenta zápisu Exchange (offline požadavek) a vyberte Duplikovat šablonu.

  4. Vyberte kartu Obecné a pak do pole zobrazovaného názvu šablony zadejte agenta registrace ADFS. Tím se název šablony automaticky nastaví na ADFSEnrollmentAgent.

  5. Vyberte kartu Zabezpečení a pak vyberte Přidat....

  6. Dále vyberte Typy objektů... a pak Účty služeb a pak OK.

  7. Zadejte název účtu služby pro službu AD FS a vyberte OK.

    • V izolovaném nastavení služby AD FS bude mít účet služby název "adfssvc$"
    • Pokud službu AD FS nastavíte pomocí služby Microsoft Entra Připojení, bude mít účet služby název "aadcsvc$".
  8. Po přidání účtu služby a jeho zobrazení na kartě Zabezpečení ho vyberte v podokně Skupina nebo uživatelská jména, v podokně Oprávnění pro účet služby AD FS vyberte Možnost Povolit pro registraci i Automatické zápisy a pak vyberte OK.

    A screenshot showing the security tab of the Enrollment Agent certificate template after it is properly configured.

Aktualizace existující šablony certifikátu agenta registrace:

  1. Na certifikační autoritě spusťte mmc.exe z nabídka Start a spusťte konzolu Microsoft Management Console.
  2. Vyberte Soubor...>Přidat nebo vzdálený modul snap-in...>Šablony>certifikátů přidat>> OK pro zobrazení seznamu šablon certifikátů.
  3. Rozbalte šablony certifikátů a poklikejte na šablonu, která odpovídá šabloně nakonfigurované na serveru SLUŽBY AD FS. Na kartě Obecné by se název šablony měl shodovat s názvem, který jste našli výše.
  4. Vyberte kartu Zabezpečení a pak vyberte Přidat....
  5. Dále vyberte Typy objektů... a pak Účty služeb a pak OK.
  6. Zadejte název účtu služby pro službu AD FS a vyberte OK.
    • V izolovaném nastavení služby AD FS bude mít účet služby název "adfssvc$"
    • Pokud službu AD FS nastavíte pomocí služby Microsoft Entra Připojení, bude mít účet služby název "aadcsvc$".
  7. Po přidání účtu služby a jeho zobrazení na kartě Zabezpečení ho vyberte v podokně Skupina nebo uživatelská jména, v podokně Oprávnění pro účet služby AD FS vyberte Možnost Povolit pro registraci i Automatické zápisy a pak vyberte OK.

Vytvoření šablony certifikátu pro přihlášení pomocí čipové karty

Vytvoření šablony certifikátu Pro přihlášení pomocí čipové karty:

  1. Na certifikační autoritě spusťte mmc.exe z nabídka Start a spusťte konzolu Microsoft Management Console.

  2. Vyberte Soubor...>Přidat nebo vzdálený modul snap-in...>Šablony>certifikátů přidat>OK pro zobrazení seznamu šablon certifikátů.

  3. Rozbalte šablony certifikátů, klikněte pravým tlačítkem na přihlášení pomocí čipové karty a vyberte Duplikovat šablonu.

  4. Vyberte kartu Obecné a pak do pole Zobrazovaný název šablony zadejte jednotné přihlašování ADFS. Tím se název šablony automaticky nastaví na "ADFSSSO".

    Poznámka:

    Vzhledem k tomu, že se o tento certifikát žádá na vyžádání, doporučujeme zkrátit dobu platnosti na 8 hodin a dobu obnovení na 1 hodinu.

  5. Vyberte kartu Název předmětu a pak v žádosti vyberte Zadat. Když se zobrazí zpráva s upozorněním, vyberte OK.

    A screenshot showing the subject name tab of the SSO certificate template and what it should look like when properly configured.

  6. Vyberte kartu Požadavky na vystavení.

  7. Vyberte Tento počet autorizovaných podpisů a zadejte hodnotu 1.

    A screenshot showing the issuance requirements tab of the SSO certificate template and what it should look like when properly configured.

  8. V části Zásady aplikace vyberte agenta žádosti o certifikát.

  9. Vyberte kartu Zabezpečení a pak vyberte Přidat....

  10. Vyberte typy objektů..., účty služeb a OK.

  11. Zadejte název účtu služby pro službu AD FS stejně jako v části Vytvoření šablony certifikátu agenta zápisu.

    • V izolovaném nastavení služby AD FS bude mít účet služby název "adfssvc$"
    • Pokud službu AD FS nastavíte pomocí služby Microsoft Entra Připojení, bude mít účet služby název "aadcsvc$".
  12. Po přidání účtu služby, který je viditelný na kartě Zabezpečení , vyberte ho v podokně Skupinová nebo uživatelská jména , vyberte Možnost Povolit pro možnost Registrovat i Automatické zápisy a pak vyberte OK , abyste ho uložili.

A screenshot showing the security tab of the SSO certificate template after it is properly configured.

Povolte nové šablony certifikátů:

Povolení nových šablon certifikátů:

  1. Na certifikační autoritě spusťte mmc.exe z nabídka Start a spusťte konzolu Microsoft Management Console.

  2. Vyberte Soubor...>Přidat nebo odebrat modul snap-in...>Certifikační autorita – Přidání>> dokončení> a OK pro zobrazení certifikační autority>

  3. Rozbalte certifikační autoritu v levém podokně a otevřete šablony certifikátů.

  4. Klikněte pravým tlačítkem myši v prostředním podokně se seznamem šablon certifikátů, vyberte Nový a pak vyberte Šablonu certifikátu, která se má vydat.

  5. Vyberte agenta registrace ADFS i jednotné přihlašování ADFS a pak vyberte OK. Obě šablony by se měly zobrazit v prostředním podokně.

    A screenshot showing list of certificate templates that can be issued, including the new ADFS Enrollment Agent and ADFS SSO.

    Poznámka:

    Pokud už máte nakonfigurovanou šablonu certifikátu agenta registrace, stačí přidat jenom šablonu jednotného přihlašování ADFS.

Konfigurace serverů SLUŽBY AD FS

Servery Active Directory Federation Services (AD FS) (AD FS) musíte nakonfigurovat tak, aby používaly nové šablony certifikátů a nastavily vztah důvěryhodnosti předávající strany tak, aby podporovaly jednotné přihlašování.

Vztah důvěryhodnosti předávající strany mezi vaším serverem AD FS a službou Azure Virtual Desktop umožňuje správně předávat požadavky na certifikát jednotného přihlašování do vašeho doménového prostředí.

Při konfiguraci jednotného přihlašování služby AD FS musíte zvolit sdílený klíč nebo certifikát:

  • Pokud máte jeden server služby AD FS, můžete zvolit sdílený klíč nebo certifikát.
  • Pokud máte více serverů AD FS, je nutné zvolit certifikát.

Sdílený klíč nebo certifikát použitý k vygenerování tokenu pro přihlášení k Windows musí být bezpečně uložen ve službě Azure Key Vault. Tajný kód můžete uložit do existující služby Key Vault nebo nasadit nový. V obou případech je nutné nastavit správné zásady přístupu, aby k ní služba Azure Virtual Desktop měl přístup.

Při použití certifikátu můžete použít jakýkoli certifikát pro obecné účely a neexistuje žádný požadavek na název subjektu nebo alternativní název subjektu (SAN). I když to není povinné, doporučuje se vytvořit certifikát vydaný platnou certifikační autoritou. Tento certifikát je možné vytvořit přímo ve službě Azure Key Vault a musí mít exportovatelný privátní klíč. Veřejný klíč je možné exportovat a použít ke konfiguraci serveru služby AD FS pomocí následujícího skriptu. Všimněte si, že tento certifikát se liší od certifikátu SSL služby AD FS, který musí mít správný název subjektu a platnou certifikační autoritu.

Skript PowerShellu ConfigureWVDSSO.ps1 dostupný v Galerie prostředí PowerShell nakonfiguruje server služby AD FS pro vztah důvěryhodnosti předávající strany a v případě potřeby nainstaluje certifikát.

Tento skript má pouze jeden povinný parametr ADFSAuthority, což je adresa URL, která se přeloží na službu AD FS a jako její příponu používá "/adfs". Například https://adfs.contoso.com/adfs.

  1. Na virtuálních počítačích SLUŽBY AD FS spusťte následující rutinu PowerShellu a nakonfigurujte službu AD FS tak, aby používala šablony certifikátů z předchozí části:

    Set-AdfsCertificateAuthority -EnrollmentAgentCertificateTemplate "ADFSEnrollmentAgent" -LogonCertificateTemplate "ADFSSSO" -EnrollmentAgent
    

    Poznámka:

    Pokud už máte nakonfigurovaný EnrollmentAgentCertificateTemplate, ujistěte se, že místo ADFSEnrollmentAgent použijete existující název šablony.

  2. Spusťte skript ConfigureWVDSSO.ps1.

    Poznámka:

    K dokončení další části pokynů potřebujete $config hodnoty proměnných, proto nezavírejte okno PowerShellu, které jste použili k dokončení předchozích pokynů. Můžete buď dál používat stejné okno PowerShellu, nebo nechat otevřené při spuštění nové relace PowerShellu.

    • Pokud používáte sdílený klíč ve službě Key Vault, spusťte na serveru SLUŽBY AD FS následující rutinu PowerShellu s ADFSServiceUrl nahrazenou úplnou adresou URL pro přístup ke službě AD FS:

      Install-Script ConfigureWVDSSO
      $config = ConfigureWVDSSO.ps1 -ADFSAuthority "<ADFSServiceUrl>" [-WvdWebAppAppIDUri "<WVD Web App URI>"] [-RdWebURL "<RDWeb URL>"]
      

      Poznámka:

      K konfiguraci prostředí v suverénním cloudu, jako je Azure Government, potřebujete vlastnosti WvdWebAppAppIdUri a RdWebURL. V komerčním cloudu Azure se tyto vlastnosti automaticky nastaví na https://www.wvd.microsoft.com a https://rdweb.wvd.microsoft.com v uvedeném pořadí.

    • Pokud používáte certifikát ve službě Key Vault, spusťte na serveru SLUŽBY AD FS následující rutinu PowerShellu s ADFSServiceUrl nahrazenou úplnou adresou URL pro přístup ke službě 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>"]
      

      Poznámka:

      K konfiguraci prostředí v suverénním cloudu, jako je Azure Government, potřebujete vlastnosti WvdWebAppAppIdUri a RdWebURL. V komerčním cloudu Azure se tyto vlastnosti automaticky nastaví na https://www.wvd.microsoft.com a https://rdweb.wvd.microsoft.com v uvedeném pořadí.

  3. Nastavte zásady přístupu ve službě Azure Key Vault spuštěním následující rutiny PowerShellu:

    Set-AzKeyVaultAccessPolicy -VaultName "<Key Vault Name>" -ServicePrincipalName 9cdead84-a844-4324-93f2-b2e6bb768d07 -PermissionsToSecrets get -PermissionsToKeys sign
    
  4. Uložte sdílený klíč nebo certifikát ve službě Azure Key Vault se značkou, která obsahuje seznam ID předplatných oddělených čárkami, které můžou tajný kód používat.

    • Pokud používáte sdílený klíč ve službě Key Vault, spuštěním následující rutiny PowerShellu uložte sdílený klíč a nastavte značku:

      $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]}
      
    • Pokud už je váš certifikát ve službě Key Vault, spusťte následující rutinu PowerShellu a nastavte značku:

      $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
      
    • Pokud máte místní certifikát, spusťte následující rutinu PowerShellu, která certifikát naimportuje do služby Key Vault a nastaví značku:

      $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)
      

Poznámka:

Volitelně můžete nakonfigurovat, jak často se uživatelům zobrazí výzva k zadání přihlašovacích údajů, a to změnou nastavení jednotného přihlašování služby AD FS. Ve výchozím nastavení se uživatelům zobrazí výzva každých 8 hodin na neregistrovaných zařízeních.

Konfigurace fondu hostitelů služby Azure Virtual Desktop

Je čas nakonfigurovat parametry jednotného přihlašování služby AD FS ve fondu hostitelů Azure Virtual Desktopu. Pokud to chcete udělat, nastavte prostředí PowerShellu pro Azure Virtual Desktop, pokud jste se ještě nepřipojili ke svému účtu.

Potom aktualizujte informace o jednotném přihlašování pro fond hostitelů spuštěním jedné z následujících dvou rutin ve stejném okně PowerShellu na virtuálním počítači AD FS:

  • Pokud ve službě Key Vault používáte sdílený klíč, spusťte následující rutinu PowerShellu:

    Update-AzWvdHostPool -Name "<Host Pool Name>" -ResourceGroupName "<Host Pool Resource Group Name>" -SsoadfsAuthority "<ADFSServiceUrl>" -SsoClientId "<WVD Web App URI>" -SsoSecretType SharedKeyInKeyVault -SsoClientSecretKeyVaultPath $secret.Id
    

    Poznámka:

    Vlastnost SsoClientId musíte nastavit tak, aby odpovídala cloudu Azure, ve kterém nasazujete jednotné přihlašování. V komerčním cloudu Azure by tato vlastnost měla být nastavena na https://www.wvd.microsoft.comhodnotu . Požadované nastavení této vlastnosti se ale bude lišit pro ostatní cloudy, jako je cloud Azure Government.

  • Pokud používáte certifikát ve službě Key Vault, spusťte následující rutinu PowerShellu:

    Update-AzWvdHostPool -Name "<Host Pool Name>" -ResourceGroupName "<Host Pool Resource Group Name>" -SsoadfsAuthority "<ADFSServiceUrl>" -SsoClientId "<WVD Web App URI>" -SsoSecretType CertificateInKeyVault -SsoClientSecretKeyVaultPath $secret.Id
    

    Poznámka:

    Vlastnost SsoClientId musíte nastavit tak, aby odpovídala cloudu Azure, ve kterém nasazujete jednotné přihlašování. V komerčním cloudu Azure by tato vlastnost měla být nastavena na https://www.wvd.microsoft.comhodnotu . Požadované nastavení této vlastnosti se ale bude lišit pro ostatní cloudy, jako je cloud Azure Government.

Konfigurace dalších fondů hostitelů

Pokud potřebujete nakonfigurovat další fondy hostitelů, můžete načíst nastavení, která jste použili ke konfiguraci existujícího fondu hostitelů pro nastavení nového fondu hostitelů.

Pokud chcete načíst nastavení z existujícího fondu hostitelů, otevřete okno PowerShellu a spusťte tuto rutinu:

Get-AzWvdHostPool -Name "<Host Pool Name>" -ResourceGroupName "<Host Pool Resource Group Name>" | fl *

Ke konfiguraci fondu hostitelů služby Azure Virtual Desktop můžete použít stejné hodnoty SsoClientId, SsoClientSecretKeyVaultPath, SsoSecretType a SsoadfsAuthority.

Odebrání jednotného přihlašování

Pokud chcete ve fondu hostitelů zakázat jednotné přihlašování, spusťte následující rutinu:

Update-AzWvdHostPool -Name "<Host Pool Name>" -ResourceGroupName "<Host Pool Resource Group Name>" -SsoadfsAuthority ''

Pokud chcete také zakázat jednotné přihlašování na serveru SLUŽBY AD FS, spusťte tuto rutinu:

Install-Script UnConfigureWVDSSO
UnConfigureWVDSSO.ps1 -WvdWebAppAppIDUri "<WVD Web App URI>" -WvdClientAppApplicationID "a85cf173-4192-42f8-81fa-777a763e6e2c"

Poznámka:

Vlastnost WvdWebAppAppIdUri musí odpovídat cloudu Azure, ve které nasazujete. V komerčním cloudu Azure je https://www.wvd.microsoft.comtato vlastnost . Bude se lišit pro ostatní cloudy, jako je cloud Azure Government.

Další kroky

Teď, když jste nakonfigurovali jednotné přihlašování, se můžete přihlásit k podporovanému klientovi Služby Azure Virtual Desktop a otestovat ho jako součást uživatelské relace. Pokud chcete zjistit, jak se připojit k relaci pomocí nových přihlašovacích údajů, podívejte se na tyto články: