Konfigurera Microsoft Entra-multifaktorautentisering som autentiseringsprovider med hjälp av AD FS
Informationen i den här artikeln gäller för Windows 2016 och senare.
Om din organisation är federerad med Microsoft Entra-ID kan du använda Microsoft Entra multifaktorautentisering för att skydda AD FS-resurser (Active Directory Federation Services), både lokalt och i molnet. Med Microsoft Entra multifaktorautentisering kan du eliminera lösenord och ge ett säkrare sätt att autentisera. Med AD FS kan du konfigurera Microsoft Entra multifaktorautentisering för primär autentisering eller använda den som en extra autentiseringsprovider.
Till skillnad från AD FS i Windows Server 2012 R2 integreras AD FS 2016 Microsoft Entra multifaktorautentiseringsadapter direkt med Microsoft Entra-ID och kräver ingen lokal Azure Multifactor Authentication Server. Microsoft Entra multifaktorautentiseringskort är inbyggt i Windows Server 2016. Ingen annan installation krävs.
Registrera användare för Microsoft Entra multifaktorautentisering med hjälp av AD FS
AD FS stöder inte infogad "proofup"-registrering av säkerhetsverifieringsinformation för Microsoft Entra-multifaktorautentisering, till exempel på ett telefonnummer eller en mobilapp. Utan stöd för direkt verifiering måste användarna verifieras genom att besöka https://account.activedirectory.windowsazure.com/Proofup.aspx innan de använder Microsoft Entra multifaktorautentisering för att autentisera sig mot AD FS-applikationer. När en användare som ännu inte har verifierats i Microsoft Entra-ID försöker autentisera med Microsoft Entra multifaktorautentisering på AD FS får de ett AD FS-fel. Som AD FS-administratör kan du anpassa den här felupplevelsen för att vägleda användaren till korrektursidan i stället. Du kan skapa det här meddelandet med hjälp av onload.js anpassning för att identifiera felmeddelandesträngen på AD FS-sidan. Sedan kan du visa ett nytt meddelande för att dirigera användaren till https://aka.ms/mfasetup så att de kan försöka autentiseringen igen. Mer information finns i Anpassa AD FS-webbsidan för att vägleda användare att registrera MFA-verifieringsmetoder.
Anteckning
Före den här uppdateringen var användarna tvungna att autentisera med hjälp av Microsoft Entra multifaktorautentisering för registrering genom att besöka https://account.activedirectory.windowsazure.com/Proofup.aspx. Med den här uppdateringen kan en AD FS-användare som ännu inte har registrerat verifieringsinformation för Microsoft Entra-multifaktorautentisering komma åt Azure-bevissidan med hjälp av genvägen https://aka.ms/mfasetup med endast primär autentisering, till exempel Windows-integrerad autentisering eller användarnamn och lösenord på AD FS-webbsidorna. Om användaren inte har några verifieringsmetoder konfigurerade utför Microsoft Entra ID en direktregistrering. Användaren ser meddelandet "Din administratör har krävt att du konfigurerar det här kontot för ytterligare säkerhetsverifiering". Sedan väljer användaren Konfigurera nu. Användare som redan har konfigurerat minst en verifieringsmetod uppmanas fortfarande att tillhandahålla multifaktorautentisering (MFA) när de besöker bevissidan.
Rekommenderade distributionstopologier
Det här avsnittet beskriver användning av Microsoft Entra multifaktorautentisering som den primära autentiseringsmetoden med AD FS och Microsoft Entra multifaktorautentisering för Office 365.
Microsoft Entra multifaktorautentisering som primär autentisering
Det finns ett par bra skäl att använda Microsoft Entra multifaktorautentisering som primär autentisering med AD FS:
- Det undviker lösenord för inloggning till Microsoft Entra-ID, Office 365 och andra AD FS-appar.
- Den skyddar lösenordsbaserad inloggning genom att kräva en annan faktor, till exempel verifieringskod före lösenordet.
Du kanske också vill använda Microsoft Entra multifaktorautentisering som primär autentiseringsmetod och Villkorsstyrd åtkomst för Microsoft Entra, inklusive true MFA genom att fråga efter extra faktorer. Om du vill använda Microsoft Entra multifaktorautentisering lokalt kan du konfigurera domäninställningen Microsoft Entra genom att ange SupportsMfa
till $true
. I den här konfigurationen kan Microsoft Entra-ID uppmana AD FS att utföra extra autentisering eller "true MFA" för scenarier med villkorsstyrd åtkomst som kräver det.
Alla AD FS-användare som inte är registrerade (ännu inte har konfigurerat MFA-verifieringsinformation) bör uppmanas att konfigurera verifieringsinformation. För att uppmana oregistrerade användare kan du använda en anpassad AD FS-felsida för att hänvisa användarna till https://aka.ms/mfasetup och konfigurera verifieringsinformationen. Efter konfigurationen kan användaren återförsöka sin AD FS-inloggning.
Microsoft Entra multifaktorautentisering som primär autentisering anses vara en enda faktor. Efter den första konfigurationen måste användarna ange en annan faktor för att hantera eller uppdatera sin verifieringsinformation i Microsoft Entra-ID eller för att få åtkomst till andra resurser som kräver MFA.
Note
Med AD FS 2019 måste du ändra ankaranspråkstypen för Active Directory-anspråksproviderns förtroende från windowsaccountname
till User Principal Name (UPN). Kör följande PowerShell-cmdlet. Detta påverkar inte AD FS-servergruppens interna funktion. Det är möjligt att några användare uppmanas att ange autentiseringsuppgifter igen när den här ändringen har gjorts. När du har loggat in igen ser slutanvändarna ingen skillnad.
Set-AdfsClaimsProviderTrust -AnchorClaimType "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn" -TargetName "Active Directory"
Microsoft Entra multifaktorautentisering som extra autentisering till Office 365
Med Microsoft Entra multifaktorautentiseringskort för AD FS kan användarna göra MFA på AD FS. För att skydda din Microsoft Entra-resurs bör du kräva MFA via en princip för villkorsstyrd åtkomst. Du måste också ange domäninställningen SupportsMfa
till $true
och generera multipleauthn-anspråket när en användare utför tvåstegsverifiering.
Som tidigare beskrivits bör alla AD FS-användare som inte är registrerade (ännu inte har konfigurerat MFA-verifieringsinformation) uppmanas att konfigurera verifieringsinformation. För att uppmana oregistrerade användare kan du använda en anpassad AD FS-felsida för att leda användare till https://aka.ms/mfasetup och konfigurera verifieringsinformationen. Efter konfigurationen kan användaren återförsöka sin AD FS-inloggning.
Förutsättningar
Följande krav krävs när du använder Microsoft Entra multifaktorautentisering för autentisering med AD FS:
Notera
Microsoft Entra ID och Microsoft Entra multifaktorautentisering ingår i Microsoft Entra ID P1 eller P2 och Enterprise Mobility Suite (EMS). Du behöver inte enskilda prenumerationer om du har något av dessa program installerat.
- En lokal Windows Server 2016 AD FS-miljö.
- Servern måste kunna kommunicera med följande URL:er via port 443.
https://adnotifications.windowsazure.com
https://login.microsoftonline.com
- Servern måste kunna kommunicera med följande URL:er via port 443.
- Din lokala miljö måste federerad med Microsoft Entra-ID.
- Microsoft Azure Active Directory-modulen för Windows PowerShell.
- Företagsadministratörsautentiseringsuppgifter för att konfigurera AD FS-servergruppen för Microsoft Entra-multifaktorautentisering.
- Du behöver antingen ett konto som har rollen Applikationsadministratör på din instans av Microsoft Entra-ID för att konfigurera det med hjälp av PowerShell.
Not
Azure AD- och MSOnline PowerShell-moduler är inaktuella från och med den 30 mars 2024. För mer information, läs utfasningsuppdatering. Efter det här datumet är stödet för dessa moduler begränsat till migreringshjälp till Microsoft Graph PowerShell SDK och säkerhetskorrigeringar. De inaktuella modulerna fortsätter att fungera till och med mars 30 2025.
Vi rekommenderar att du migrerar till Microsoft Graph PowerShell- för att interagera med Microsoft Entra-ID (tidigare Azure AD). För vanliga frågor om migrering, se migrerings-FAQ. Obs! version 1.0.x av MSOnline kan uppleva störningar efter den 30 juni 2024.
Konfigurera AD FS-servrarna
För att slutföra konfigurationen för Microsoft Entra multifaktorautentisering för AD FS måste du konfigurera varje AD FS-server med hjälp av stegen som beskrivs här.
Anteckning
Se till att de här stegen utförs på alla AD FS-servrar i servergruppen. Om du har flera AD FS-servrar i servergruppen kan du utföra den nödvändiga konfigurationen via fjärranslutning med hjälp av Azure AD PowerShell.
Steg 1: Generera ett certifikat för Microsoft Entra multifaktorautentisering på varje AD FS-server
Det första du behöver göra är att använda New-AdfsAzureMfaTenantCertificate
PowerShell-kommandot för att generera ett certifikat för Microsoft Entra multifaktorautentisering att använda. När du har genererat certifikatet letar du reda på det i certifikatarkivet för lokala datorer. Certifikatet är markerat med ett ämnesnamn som innehåller TenantID för din Microsoft Entra-katalog.
TenantID är namnet på din katalog i Microsoft Entra-ID. Använd följande PowerShell-cmdlet för att generera det nya certifikatet:
$certbase64 = New-AdfsAzureMfaTenantCertificate -TenantID <tenantID>
Steg 2: Lägg till de nya autentiseringsuppgifterna i Klienttjänstens huvudnamn för Azure multifaktorautentisering
För att AD FS-servrarna ska kunna kommunicera med Azure multifaktorautentiseringsklienten måste du lägga till autentiseringsuppgifterna i tjänstens huvudnamn för Azure multifaktorautentiseringsklienten. Certifikaten som genereras med hjälp av cmdleten New-AdfsAzureMFaTenantCertificate fungerar som dessa autentiseringsuppgifter. Öppna PowerShell och utför följande steg för att lägga till de nya autentiseringsuppgifterna i Klienttjänstens huvudnamn för Azure-multifaktorautentisering.
Steg 3: Ange certifikatet som den nya autentiseringsuppgiften mot Azure multifaktorautentiseringsklienten
Not
För att kunna slutföra det här steget måste du ansluta till din instans av Microsoft Entra-ID med Microsoft Graph PowerShell med hjälp av Connect-MgGraph
. De här stegen förutsätter att du redan har anslutit via PowerShell.
Connect-MgGraph -Scopes 'Application.ReadWrite.All'
$servicePrincipalId = (Get-MgServicePrincipal -Filter "appid eq '981f26a1-7f43-403b-a875-f8b09b8cd720'").Id
$keyCredentials = (Get-MgServicePrincipal -Filter "appid eq '981f26a1-7f43-403b-a875-f8b09b8cd720'").KeyCredentials
$certX509 = [System.Security.Cryptography.X509Certificates.X509Certificate2]([System.Convert]::FromBase64String($certBase64))
$newKey = @(@{
CustomKeyIdentifier = $null
DisplayName = $certX509.Subject
EndDateTime = $null
Key = $certX509.GetRawCertData()
KeyId = [guid]::NewGuid()
StartDateTime = $null
Type = "AsymmetricX509Cert"
Usage = "Verify"
AdditionalProperties = $null
})
$keyCredentials += $newKey
Update-MgServicePrincipal -ServicePrincipalId $servicePrincipalId -KeyCredentials $keyCredentials
Viktig
Det här kommandot måste köras på alla AD FS-servrar i servergruppen. Microsoft Entra-multifaktorautentisering misslyckas på servrar som inte har angett certifikatet som den nya autentiseringsuppgiften mot Azure multifaktorautentiseringsklienten.
Not
981f26a1-7f43-403b-a875-f8b09b8cd720 är GUID för Azure multifaktorautentiseringsklient.
Konfigurera AD FS-klustret
När du har slutfört stegen i föregående avsnitt för varje AD FS-server anger du Azure-klientinformationen med hjälp av cmdleten Set-AdfsAzureMfaTenant. Den här cmdleten behöver bara köras en gång för en AD FS-servergrupp.
Öppna PowerShell och ange din egen tenantId med cmdleten Set-AdfsAzureMfaTenant
. För kunder som använder Microsoft Azure Government-molnet lägger du till parametern -Environment USGov
:
Anteckning
Du måste starta om AD FS-tjänsten på varje server i servergruppen innan ändringarna börjar gälla. För minimal påverkan tar du varje AD FS-server ur NLB-rotationen en i taget och väntar på att alla anslutningar ska tömmas.
Set-AdfsAzureMfaTenant -TenantId <tenant ID> -ClientId 981f26a1-7f43-403b-a875-f8b09b8cd720
Windows Server utan det senaste Service Pack stöder inte parametern -Environment
för cmdleten Set-AdfsAzureMfaTenant
. Om du använder Azure Government-molnet och föregående steg inte kunde konfigurera din Azure-klient på grund av den saknade parametern -Environment
slutför du följande steg för att skapa registerposterna manuellt. Hoppa över de här stegen om den tidigare cmdleten korrekt registrerade din klientinformation eller om du inte är i Azure Government-molnet:
Öppna Registereditorn på AD FS-servern.
Gå till HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ADFS. Skapa följande registernyckelvärden:
Registernyckel Värde SasUrl https://adnotifications.windowsazure.us/StrongAuthenticationService.svc/Connector
StsUrl https://login.microsoftonline.us
ResourceUri https://adnotifications.windowsazure.us/StrongAuthenticationService.svc/Connector
Starta om AD FS-tjänsten på varje server i servergruppen innan ändringarna börjar gälla. Minska effekten på dina system genom att ta bort varje AD FS-server från NLB-rotationen en i taget och vänta tills alla anslutningar töms.
Efter det här steget ser du att Microsoft Entra multifaktorautentisering är tillgänglig som en primär autentiseringsmetod för användning av intranät och extranät.
Om du vill använda Microsoft Entra multifaktorautentisering som en sekundär autentiseringsmetod går du till rutan Redigera autentiseringsmetoder och väljer fliken multifaktor (fliken Ytterligare i AD FS 2019) och kontrollerar att den är aktiverad. Annars kan du få felmeddelanden, till exempel "Ingen giltig stark autentiseringsmetod hittades. Kontakta administratören för att konfigurera och aktivera en lämplig stark autentiseringsprovider."
Förnya och hantera AD FS Microsoft Entra-multifaktorautentiseringscertifikat
Följande vägledning är utformad för att hjälpa dig att hantera Microsoft Entra multifaktorautentiseringscertifikat på dina AD FS-servrar.
När du konfigurerar AD FS med Microsoft Entra multifaktorautentisering är certifikaten som genereras via New-AdfsAzureMfaTenantCertificate
PowerShell-cmdleten giltiga i två år. Använd följande procedur för att avgöra hur nära förfallodatum dina certifikat är och för att förnya och installera nya certifikat.
Utvärdera förfallodatum för AD FS Microsoft Entra-multifaktorautentiseringscertifikat.
På varje AD FS-server, på den lokala datorn Min butik, finns det ett självsignerat certifikat med "Microsoft AD FS Microsoft Entra multifaktorautentisering" i området Utfärdare och Ämne. Det här certifikatet är Microsoft Entra multifaktorautentiseringscertifikat. Kontrollera giltighetsperioden för det här certifikatet på varje AD FS-server för att fastställa förfallodatumet.
Skapa ett nytt AD FS Microsoft Entra multifaktorautentiseringscertifikat på varje AD FS-server.
Om giltighetsperioden för dina certifikat närmar sig sitt slut startar du förnyelseprocessen genom att generera ett nytt Microsoft Entra multifaktorautentiseringscertifikat på varje AD FS-server. I PowerShell genererar du ett nytt certifikat på varje AD FS-server med hjälp av följande cmdlet:
Försiktighet
Om certifikatet redan har upphört att gälla ska du inte lägga till parametern
-Renew $true
i följande kommando. I det här scenariot ersätts det befintliga utgångna certifikatet med ett nytt i stället för att lämnas kvar och ytterligare ett certifikat skapas.$newcert = New-AdfsAzureMfaTenantCertificate -TenantId <tenant id such as contoso.onmicrosoft.com> -Renew $true
Om certifikatet inte redan har upphört att gälla genererar kommandot ett nytt certifikat som är giltigt från två dagar efter den aktuella dagen till två år plus två dagar i framtiden. AD FS- och Microsoft Entra multifaktorautentiseringsåtgärder påverkas inte när du kör cmdleten eller förnyar certifikatet. Tvådagarsfördröjningen är avsiktlig och ger tid att följa nästa steg för att konfigurera det nya certifikatet i klientorganisationen innan AD FS börjar med att använda det för Microsoft Entra multifaktorautentisering.
Konfigurera varje nytt AD FS Microsoft Entra multifaktorautentiseringscertifikat i Microsoft Entra-klientorganisationen.
Notera
För att kunna slutföra det här steget måste du ansluta till din instans av Microsoft Entra-ID med Microsoft Graph PowerShell med hjälp av
Connect-MgGraph
. De här stegen förutsätter att du redan har anslutit via PowerShell.Connect-MgGraph -Scopes 'Application.ReadWrite.All' $servicePrincipalId = (Get-MgServicePrincipal -Filter "appid eq '981f26a1-7f43-403b-a875-f8b09b8cd720'").Id $keyCredentials = (Get-MgServicePrincipal -Filter "appid eq '981f26a1-7f43-403b-a875-f8b09b8cd720'").KeyCredentials $certX509 = [System.Security.Cryptography.X509Certificates.X509Certificate2]([System.Convert]::FromBase64String($newcert)) $newKey = @(@{ CustomKeyIdentifier = $null DisplayName = $certX509.Subject EndDateTime = $null Key = $certX509.GetRawCertData() KeyId = [guid]::NewGuid() StartDateTime = $null Type = "AsymmetricX509Cert" Usage = "Verify" AdditionalProperties = $null }) $keyCredentials += $newKey Update-MgServicePrincipal -ServicePrincipalId $servicePrincipalId -KeyCredentials $keyCredentials
Om ditt tidigare certifikat har upphört att gälla startar du om AD FS-tjänsten för att hämta det nya certifikatet. Du behöver inte starta om AD FS-tjänsten om du förnyade ett certifikat innan det upphör att gälla.
Kontrollera att de nya certifikaten används för Microsoft Entra multifaktorautentisering.
När de nya certifikaten har blivit giltiga hämtar AD FS dem och använder varje certifikat för Microsoft Entra-multifaktorautentisering inom några timmar till en dag. När AD FS har använt de nya certifikaten visas en händelse loggad i händelseloggen AD FS Admin på varje server med följande information:
Log Name: AD FS/Admin
Source: AD FS
Date: 2/27/2018 7:33:31 PM
Event ID: 547
Task Category: None
Level: Information
Keywords: AD FS
User: DOMAIN\adfssvc
Computer: ADFS.domain.contoso.com
Description:
The tenant certificate for Azure MFA has been renewed.
TenantId: contoso.onmicrosoft.com.
Old thumbprint: 7CC103D60967318A11D8C51C289EF85214D9FC63.
Old expiration date: 9/15/2019 9:43:17 PM.
New thumbprint: 8110D7415744C9D4D5A4A6309499F7B48B5F3CCF.
New expiration date: 2/27/2020 2:16:07 AM.
Anpassa AD FS-webbsidan så att användarna kan registrera MFA-verifieringsmetoder
Använd följande exempel för att anpassa dina AD FS-webbsidor för användare som ännu inte har verifierats (konfigurerad MFA-verifieringsinformation).
Hitta felet
Först returnerar AD FS ett par olika felmeddelanden när användaren saknar verifieringsinformation. Om du använder Microsoft Entra multifaktorautentisering som primär autentisering ser den oskyddade användaren en AD FS-felsida som innehåller följande meddelanden:
<div id="errorArea">
<div id="openingMessage" class="groupMargin bigText">
An error occurred
</div>
<div id="errorMessage" class="groupMargin">
Authentication attempt failed. Select a different sign in option or close the web browser and sign in again. Contact your administrator for more information.
</div>
När Microsoft Entra-ID som extra autentisering görs ser den oskyddade användaren en AD FS-felsida som innehåller följande meddelanden:
<div id='mfaGreetingDescription' class='groupMargin'>For security reasons, we require additional information to verify your account (mahesh@jenfield.net)</div>
<div id="errorArea">
<div id="openingMessage" class="groupMargin bigText">
An error occurred
</div>
<div id="errorMessage" class="groupMargin">
The selected authentication method is not available for 'username@contoso.com'. Choose another authentication method or contact your system administrator for details.
</div>
Fånga felet och uppdatera sidtexten
Om du vill fånga felet och visa användaranpassad vägledning lägger du till JavaScript i slutet av den onload.js
fil som ingår i AD FS-webbtemat. På så sätt kan du:
- Sök efter identifieringsfelsträngarna.
- Ange anpassat webbinnehåll.
Not
Mer information om hur du anpassar onload.js-filen finns i Avancerad anpassning av AD FS-inloggningssidor.
Följande steg visar ett enkelt exempel:
Öppna Windows PowerShell på din primära AD FS-server och skapa ett nytt AD FS-webbtema genom att köra följande kommando.
New-AdfsWebTheme –Name ProofUp –SourceName default
Skapa mappen och exportera standardwebbtemat för AD FS.
New-Item -Path 'C:\Theme' -ItemType Directory;Export-AdfsWebTheme –Name default –DirectoryPath C:\Theme
Öppna filen C:\Theme\script\onload.js i en textredigerare.
Lägg till följande kod i slutet av onload.js-filen:
//Custom Code //Customize MFA exception //Begin var domain_hint = "<YOUR_DOMAIN_NAME_HERE>"; var mfaSecondFactorErr = "The selected authentication method is not available for"; var mfaProofupMessage = "You will be automatically redirected in 5 seconds to set up your account for additional security verification. After you've completed the setup, please return to the application you are attempting to access.<br><br>If you are not redirected automatically, please click <a href='{0}'>here</a>." var authArea = document.getElementById("authArea"); if (authArea) { var errorMessage = document.getElementById("errorMessage"); if (errorMessage) { if (errorMessage.innerHTML.indexOf(mfaSecondFactorErr) >= 0) { //Hide the error message var openingMessage = document.getElementById("openingMessage"); if (openingMessage) { openingMessage.style.display = 'none' } var errorDetailsLink = document.getElementById("errorDetailsLink"); if (errorDetailsLink) { errorDetailsLink.style.display = 'none' } //Provide a message and redirect to Azure AD MFA Registration Url var mfaRegisterUrl = "https://account.activedirectory.windowsazure.com/proofup.aspx?proofup=1&whr=" + domain_hint; errorMessage.innerHTML = "<br>" + mfaProofupMessage.replace("{0}", mfaRegisterUrl); window.setTimeout(function () { window.location.href = mfaRegisterUrl; }, 5000); } } } //End Customize MFA Exception //End Custom Code
Viktig
Du måste ändra "<YOUR_DOMAIN_NAME_HERE>"; för att använda ditt domännamn. Till exempel:
var domain_hint = "contoso.com";
.Spara filen onload.js.
Importera onload.js-filen till ditt anpassade tema genom att ange följande Windows PowerShell-kommando:
Set-AdfsWebTheme -TargetName ProofUp -AdditionalFileResource @{Uri='/adfs/portal/script/onload.js';path="c:\theme\script\onload.js"}
Använd det anpassade AD FS-webbtemat genom att ange följande Windows PowerShell-kommando:
Set-AdfsWebConfig -ActiveThemeName "ProofUp"