Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här artikeln beskriver hur du konfigurerar enkel inloggning med Active Directory Federation Service (AD FS) för Azure Virtual Desktop.
Förhandskrav
Innan du konfigurerar enkel inloggning med AD FS måste följande konfiguration köras i din miljö:
Sessionsvärdar som kör en version av Windows 10 eller Windows 11 som stöds.
Du måste distribuera rollen Active Directory Certificate Services (CA). Alla servrar som kör rollen måste vara domänanslutna, ha de senaste Windows-uppdateringarna installerade och konfigureras som företagscertifikatutfärdare.
Du måste distribuera rollen Active Directory Federation Services (AD FS) (AD FS). Alla servrar som kör den här rollen måste vara domänanslutna, ha de senaste Windows-uppdateringarna installerade och köra Windows Server 2016 eller senare.
Vi rekommenderar att du konfigurerar webb-Programproxy-rollen för att skydda miljöns anslutning till AD FS-servrarna. Alla servrar som kör den här rollen måste ha de senaste Windows-uppdateringarna installerade och köra Windows Server 2016 eller senare. Se den här webbguiden för Programproxy för att komma igång med att konfigurera den här rollen.
Du måste distribuera Microsoft Entra Connect för att synkronisera användare till Microsoft Entra ID. Microsoft Entra Connect måste konfigureras i federationsläge.
Konfigurera PowerShell-miljön för Azure Virtual Desktop på AD FS-servern.
Obs!
Den här lösningen stöds inte med Microsoft Entra Domain Services. Du måste använda en Active Directory Domain Services domänkontrollant.
Kompatibla klienter
Följande Azure Virtual Desktop-klienter stöder den här funktionen:
Konfigurera certifikatutfärdare för att utfärda certifikat
Du måste skapa följande certifikatmallar korrekt så att AD FS kan använda enkel inloggning:
- Först måste du skapa certifikatmallen Exchange Enrollment Agent (offlinebegäran ). AD FS använder certifikatmallen Exchange Enrollment Agent för att begära certifikat för användarens räkning.
- Du måste också skapa certifikatmallen smartkortsinloggning , som AD FS använder för att skapa inloggningscertifikatet.
När du har skapat dessa certifikatmallar måste du aktivera mallarna på certifikatutfärdaren så att AD FS kan begära dem.
Obs!
Den här lösningen genererar nya kortsiktiga certifikat varje gång en användare loggar in, vilket kan fylla i certifikatutfärdardatabasen om du har många användare. Du kan undvika att överbelasta databasen genom att konfigurera en certifikatutfärdare för icke-beständig certifikatbearbetning. Om du gör det kontrollerar du att du bara aktiverar Lagra inte certifikat och begäranden i CA-databasen på den duplicerade certifikatmallen för smartkortsinloggning. Aktivera inte Inkludera inte återkallningsinformation i utfärdade certifikat , annars fungerar inte konfigurationen.
Skapa certifikatmallen för registreringsagenten
Beroende på din miljö kanske du redan har konfigurerat en certifikatmall för registreringsagenten för andra syften som Windows Hello för företag, inloggningscertifikat eller VPN-certifikat. I så fall måste du ändra den för att stödja enkel inloggning. Annars kan du skapa en ny mall.
Du kan ta reda på om du redan använder en certifikatmall för registreringsagenten genom att köra följande PowerShell-kommando på AD FS-servern och se om ett värde returneras. Om den är tom skapar du en ny certifikatmall för registreringsagenten. Annars bör du komma ihåg namnet och uppdatera den befintliga certifikatmallen för registreringsagenten.
Import-Module adfs
(Get-AdfsCertificateAuthority).EnrollmentAgentCertificateTemplateName
Så här skapar du en ny certifikatmall för registreringsagenten:
På certifikatutfärdare kör dummc.exe från Start-menyn för att starta Microsoft Management Console.
Välj Fil...>Lägg till/fjärransluta snapin-modul...>Certifikatmallar>Addera >>OK för att visa listan över certifikatmallar.
Expandera certifikatmallarna, högerklicka på Exchange-registreringsagenten (offlinebegäran) och välj Duplicera mall.
Välj fliken Allmänt och ange sedan "ADFS Enrollment Agent" i fältet Mallvisningsnamn . Mallnamnet anges automatiskt till "ADFSEnrollmentAgent".
Välj fliken Säkerhet och välj sedan Lägg till....
Välj sedan Objekttyper... och sedan Tjänstkonton och sedan OK.
Ange tjänstkontonamnet för AD FS och välj OK.
- I en isolerad AD FS-konfiguration får tjänstkontot namnet "adfssvc$"
- Om du konfigurerar AD FS med Microsoft Entra Connect får tjänstkontot namnet "aadcsvc$"
När tjänstkontot har lagts till och visas på fliken Säkerhet väljer du det i fönstret Grupp- eller användarnamn , väljer Tillåt för både "Registrera" och "Registrera automatiskt" i fönstret Behörigheter för AD FS-tjänstkontot och väljer sedan OK för att spara.
Så här uppdaterar du en befintlig certifikatmall för registreringsagenten:
- På certifikatutfärdare kör dummc.exe från Start-menyn för att starta Microsoft Management Console.
- Välj Fil...>Lägg till/fjärransluta snapin-modul...>Certifikatmallar>Addera >>OK för att visa listan över certifikatmallar.
- Expandera certifikatmallarna och dubbelklicka på mallen som motsvarar den som konfigurerats på AD FS-servern. På fliken Allmänt ska mallnamnet matcha det namn som du hittade ovan.
- Välj fliken Säkerhet och välj sedan Lägg till....
- Välj sedan Objekttyper... och sedan Tjänstkonton och sedan OK.
- Ange tjänstkontonamnet för AD FS och välj OK.
- I en isolerad AD FS-konfiguration får tjänstkontot namnet "adfssvc$"
- Om du konfigurerar AD FS med Microsoft Entra Connect får tjänstkontot namnet "aadcsvc$"
- När tjänstkontot har lagts till och visas på fliken Säkerhet väljer du det i fönstret Grupp- eller användarnamn , väljer Tillåt för både "Registrera" och "Registrera automatiskt" i fönstret Behörigheter för AD FS-tjänstkontot och väljer sedan OK för att spara.
Skapa certifikatmallen smartkortsinloggning
Så här skapar du certifikatmallen för smartkortsinloggning:
På certifikatutfärdare kör dummc.exe från Start-menyn för att starta Microsoft Management Console.
Välj Fil...>Lägg till/fjärransluta snapin-modul...>Certifikatmallar>Addera>OK för att visa listan över certifikatmallar.
Expandera certifikatmallarna, högerklicka på Smartkortsinloggning och välj Duplicera mall.
Välj fliken Allmänt och ange sedan "ADFS SSO" i fältet Mallvisningsnamn . Mallnamnet anges automatiskt till "ADFSSSO".
Obs!
Eftersom det här certifikatet begärs på begäran rekommenderar vi att du förkortar giltighetsperioden till 8 timmar och förnyelseperioden till 1 timme.
Välj fliken Ämnesnamn och välj sedan Ange i begäran. När du ser ett varningsmeddelande väljer du OK.
Välj fliken Utfärdandekrav .
Välj Det här antalet auktoriserade signaturer och ange värdet 1.
För Programprincip väljer du Certifikatförfrågansagent.
Välj fliken Säkerhet och välj sedan Lägg till....
Välj Objekttyper..., Tjänstkonton och OK.
Ange tjänstkontonamnet för AD FS precis som du gjorde i avsnittet Skapa certifikatmallen för registreringsagenten .
- I en isolerad AD FS-konfiguration får tjänstkontot namnet "adfssvc$"
- Om du konfigurerar AD FS med Microsoft Entra Connect får tjänstkontot namnet "aadcsvc$"
När tjänstkontot har lagts till och visas på fliken Säkerhet väljer du det i fönstret Grupp eller användarnamn , väljer Tillåt för både "Registrera" och "Registrera automatiskt" och väljer sedan OK för att spara.
Aktivera de nya certifikatmallarna:
Så här aktiverar du de nya certifikatmallarna:
På certifikatutfärdare kör dummc.exe från Start-menyn för att starta Microsoft Management Console.
Välj Fil...>Lägg till/ta bort snapin-modul...>Certifikatutfärdare>Addera >>Avsluta> och OK för att visa certifikatutfärdare.
Expandera certifikatutfärdaren i det vänstra fönstret och öppna Certifikatmallar.
Högerklicka i det mittersta fönstret som visar listan över certifikatmallar, välj Ny och välj sedan Certifikatmall som ska utfärdas.
Välj både ADFS-registreringsagenten och ADFS SSO och välj sedan OK. Du bör se båda mallarna i det mellersta fönstret.
Obs!
Om du redan har konfigurerat en certifikatmall för registreringsagenten behöver du bara lägga till mallen för enkel inloggning med ADFS.
Konfigurera AD FS-servrarna
Du måste konfigurera de Active Directory Federation Services (AD FS) servrarna (AD FS) för att använda de nya certifikatmallarna och ange förtroende för förlitande part som stöd för enkel inloggning.
Det förlitande partsförtroendet mellan AD FS-servern och Azure Virtual Desktop-tjänsten gör att begäranden om enkel inloggningscertifikat kan vidarebefordras korrekt till din domänmiljö.
När du konfigurerar enkel inloggning med AD FS måste du välja delad nyckel eller certifikat:
- Om du har en enda AD FS-server kan du välja delad nyckel eller certifikat.
- Om du har flera AD FS-servrar måste du välja certifikat.
Den delade nyckeln eller certifikatet som används för att generera token för att logga in på Windows måste lagras på ett säkert sätt i Azure Key Vault. Du kan lagra hemligheten i en befintlig Key Vault eller distribuera en ny. I båda fallen måste du ange rätt åtkomstprincip så att Azure Virtual Desktop-tjänsten kan komma åt den.
När du använder ett certifikat kan du använda ett allmänt certifikat och det finns inget krav på ämnesnamnet eller alternativt ämnesnamn (SAN). Även om det inte krävs rekommenderar vi att du skapar ett certifikat som utfärdats av en giltig certifikatutfärdare. Det här certifikatet kan skapas direkt i Azure Key Vault och måste ha en privat nyckel som kan exporteras. Den offentliga nyckeln kan exporteras och användas för att konfigurera AD FS-servern med hjälp av skriptet nedan. Observera att det här certifikatet skiljer sig från AD FS SSL-certifikatet som måste ha rätt ämnesnamn och giltig certifikatutfärdare.
PowerShell-skriptet ConfigureWVDSSO.ps1 tillgängligt i PowerShell-galleriet konfigurerar AD FS-servern för det förlitande partsförtroendet och installerar certifikatet om det behövs.
Det här skriptet har bara en obligatorisk parameter, ADFSAuthority, som är den URL som matchar din AD FS och använder "/adfs" som suffix. Till exempel https://adfs.contoso.com/adfs.
På de virtuella AD FS-datorerna kör du följande PowerShell-cmdlet för att konfigurera AD FS att använda certifikatmallarna från föregående avsnitt:
Set-AdfsCertificateAuthority -EnrollmentAgentCertificateTemplate "ADFSEnrollmentAgent" -LogonCertificateTemplate "ADFSSSO" -EnrollmentAgentObs!
Om du redan har konfigurerat en EnrollmentAgentCertificateTemplate kontrollerar du att du använder det befintliga mallnamnet i stället för ADFSEnrollmentAgent.
Kör ConfigureWVDSSO.ps1 skriptet.
Obs!
Du behöver
$configvariabelvärdena för att slutföra nästa del av instruktionerna, så stäng inte PowerShell-fönstret som du använde för att slutföra föregående instruktioner. Du kan antingen fortsätta använda samma PowerShell-fönster eller lämna det öppet när du startar en ny PowerShell-session.Om du använder en delad nyckel i Key Vault kör du följande PowerShell-cmdlet på AD FS-servern med ADFSServiceUrl ersatt med den fullständiga URL:en för att nå AD FS-tjänsten:
Install-Script ConfigureWVDSSO $config = ConfigureWVDSSO.ps1 -ADFSAuthority "<ADFSServiceUrl>" [-WvdWebAppAppIDUri "<WVD Web App URI>"] [-RdWebURL "<RDWeb URL>"]Obs!
Du behöver egenskaperna WvdWebAppAppIDUri och RdWebURL för att konfigurera en miljö i ett nationellt moln som Azure Government. I Azure Commercial Cloud anges dessa egenskaper automatiskt till
https://www.wvd.microsoft.comrespektivehttps://rdweb.wvd.microsoft.com.Om du använder ett certifikat i Key Vault kör du följande PowerShell-cmdlet på AD FS-servern med ADFSServiceUrl ersatt med den fullständiga URL:en för att nå AD FS-tjänsten:
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>"]Obs!
Du behöver egenskaperna WvdWebAppAppIDUri och RdWebURL för att konfigurera en miljö i ett nationellt moln som Azure Government. I Azure Commercial Cloud anges dessa egenskaper automatiskt till
https://www.wvd.microsoft.comrespektivehttps://rdweb.wvd.microsoft.com.
Ange åtkomstprincipen för Azure Key Vault genom att köra följande PowerShell-cmdlet:
Set-AzKeyVaultAccessPolicy -VaultName "<Key Vault Name>" -ServicePrincipalName 9cdead84-a844-4324-93f2-b2e6bb768d07 -PermissionsToSecrets get -PermissionsToKeys signLagra den delade nyckeln eller certifikatet i Azure Key Vault med en tagg som innehåller en komaavgränsad lista över prenumerations-ID:t som tillåts använda hemligheten.
Om du använder en delad nyckel i Key Vault kör du följande PowerShell-cmdlet för att lagra den delade nyckeln och ange taggen:
$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]}Om certifikatet redan finns i Key Vault kör du följande PowerShell-cmdlet för att ange taggen:
$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]} -PassThruOm du har ett lokalt certifikat kör du följande PowerShell-cmdlet för att importera certifikatet i Key Vault och ange taggen:
$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)
Obs!
Du kan också konfigurera hur ofta användare uppmanas att ange autentiseringsuppgifter genom att ändra inställningarna för enkel inloggning med AD FS. Som standard uppmanas användarna var 8:e timme på oregistrerade enheter.
Konfigurera din Azure Virtual Desktop-värdpool
Det är dags att konfigurera AD FS SSO-parametrarna i din Azure Virtual Desktop-värdpool. Det gör du genom att konfigurera PowerShell-miljön för Azure Virtual Desktop om du inte redan har gjort det och ansluta till ditt konto.
Därefter uppdaterar du SSO-informationen för värdpoolen genom att köra någon av följande två cmdletar i samma PowerShell-fönster på den virtuella AD FS-datorn:
Om du använder en delad nyckel i Key Vault kör du följande PowerShell-cmdlet:
Update-AzWvdHostPool -Name "<Host Pool Name>" -ResourceGroupName "<Host Pool Resource Group Name>" -SsoadfsAuthority "<ADFSServiceUrl>" -SsoClientId "<WVD Web App URI>" -SsoSecretType SharedKeyInKeyVault -SsoClientSecretKeyVaultPath $secret.IdObs!
Du måste ange egenskapen SsoClientId så att den matchar Azure-molnet som du distribuerar enkel inloggning i. I Azure Commercial Cloud ska den här egenskapen anges till
https://www.wvd.microsoft.com. Den obligatoriska inställningen för den här egenskapen skiljer sig dock för andra moln, till exempel Azure Government molnet.Om du använder ett certifikat i Key Vault kör du följande PowerShell-cmdlet:
Update-AzWvdHostPool -Name "<Host Pool Name>" -ResourceGroupName "<Host Pool Resource Group Name>" -SsoadfsAuthority "<ADFSServiceUrl>" -SsoClientId "<WVD Web App URI>" -SsoSecretType CertificateInKeyVault -SsoClientSecretKeyVaultPath $secret.IdObs!
Du måste ange egenskapen SsoClientId så att den matchar Azure-molnet som du distribuerar enkel inloggning i. I Azure Commercial Cloud ska den här egenskapen anges till
https://www.wvd.microsoft.com. Den obligatoriska inställningen för den här egenskapen skiljer sig dock för andra moln, till exempel Azure Government molnet.
Konfigurera ytterligare värdpooler
När du behöver konfigurera ytterligare värdpooler kan du hämta de inställningar som du använde för att konfigurera en befintlig värdpool för att konfigurera den nya.
Om du vill hämta inställningarna från din befintliga värdpool öppnar du ett PowerShell-fönster och kör den här cmdleten:
Get-AzWvdHostPool -Name "<Host Pool Name>" -ResourceGroupName "<Host Pool Resource Group Name>" | fl *
Du kan följa stegen för att konfigurera din Azure Virtual Desktop-värdpool med samma SsoClientId-, SsoClientSecretKeyVaultPath-, SsoSecretType- och SsoadfsAuthority-värden .
Ta bort enkel inloggning
Om du vill inaktivera enkel inloggning i värdpoolen kör du följande cmdlet:
Update-AzWvdHostPool -Name "<Host Pool Name>" -ResourceGroupName "<Host Pool Resource Group Name>" -SsoadfsAuthority ''
Om du också vill inaktivera enkel inloggning på AD FS-servern kör du den här cmdleten:
Install-Script UnConfigureWVDSSO
UnConfigureWVDSSO.ps1 -WvdWebAppAppIDUri "<WVD Web App URI>" -WvdClientAppApplicationID "a85cf173-4192-42f8-81fa-777a763e6e2c"
Obs!
Egenskapen WvdWebAppAppIDUri måste matcha det Azure-moln som du distribuerar i. I Azure Commercial Cloud är https://www.wvd.microsoft.comden här egenskapen . Det kommer att vara annorlunda för andra moln som Azure Government molnet.
Nästa steg
Nu när du har konfigurerat enkel inloggning kan du logga in på en Azure Virtual Desktop-klient som stöds för att testa den som en del av en användarsession. Om du vill lära dig hur du ansluter till en session med dina nya autentiseringsuppgifter kan du läsa följande artiklar: