Configurer l’authentification multifacteur Azure AD en tant que fournisseur d’authentification à l’aide de AD FS
Les informations contenues dans cet article s’appliquent à Windows 2016 et versions ultérieures.
Si votre organisation est fédérée avec Azure AD, vous pouvez utiliser l’authentification multifacteur Azure AD pour sécuriser les ressources des services de fédération Active Directory (AD FS), à la fois en local et dans le cloud. L’authentification multifacteur Azure AD vous permet d’éliminer les mots de passe tout en fournissant un moyen plus sûr de s’authentifier. Grâce à AD FS, vous pouvez configurer l’authentification multifacteur Azure AD comme authentification principale, ou l’utiliser comme fournisseur d’authentification supplémentaire.
Contrairement à AD FS dans Windows Server 2012 R2, l’adaptateur d’authentification multifacteur Azure AD 2016 pour AD FS s’intègre directement à Azure AD et ne nécessite aucun serveur d’authentification multifacteur Azure AD local. L’adaptateur d’authentification multifacteur Azure AD est intégré à Windows Server 2016. Aucune autre installation n’est nécessaire.
Inscrire des utilisateurs pour l’authentification multifacteur Azure AD à l’aide d’AD FS
AD FS ne prend pas en charge l’inscription de « vérification » incorporée des informations de vérification de sécurité pour l’authentification multifacteur Azure AD, telles que le numéro de téléphone ou l’application mobile. Sans prise en charge de la vérification incorporée, les utilisateurs doivent procéder à une vérification en accédant à https://account.activedirectory.windowsazure.com/Proofup.aspx avant d’utiliser l’authentification multifacteur Azure AD pour s’authentifier auprès des applications AD FS. Quand un utilisateur, dont la vérification n’a pas encore été effectuée dans Azure AD, tente de s’authentifier par le biais de l’authentification multifacteur Azure AD auprès d’AD FS, il obtient une erreur AD FS. En tant qu’administrateur AD FS, vous pouvez personnaliser cette expérience d’erreur pour guider l’utilisateur vers la page de vérification à la place. Vous pouvez créer ce message en utilisant la personnalisation onload.js pour détecter la chaîne de message d’erreur dans la page AD FS. Vous pouvez ensuite afficher un nouveau message pour diriger l’utilisateur vers https://aka.ms/mfasetup afin qu’il puisse réessayer l’authentification. Pour plus d’informations, consultez la section Personnaliser la page web AD FS pour guider les utilisateurs à inscrire des méthodes de vérification MFA.
Note
Avant cette mise à jour, les utilisateurs devaient s’authentifier à l’aide de l’authentification multifacteur Azure AD pour l’inscription en accédant à https://account.activedirectory.windowsazure.com/Proofup.aspx. Avec cette mise à jour, un utilisateur AD FS, qui n’a pas encore inscrit d’informations de vérification pour l’authentification multifacteur Azure AD, peut accéder à la page de vérification Azure AD via le raccourci https://aka.ms/mfasetup avec l’authentification principale uniquement, comme l’authentification intégrée de Windows, ou un nom d’utilisateur et un mot de passe dans les pages web AD FS. Si aucune méthode de vérification n’est configurée pour l’utilisateur, Azure AD procède à l’inscription incorporée. L’utilisateur voit le message « Votre administrateur exige que ce compte soit configuré pour une vérification de sécurité supplémentaire. ». Ensuite, l’utilisateur sélectionne Configurer maintenant. Les utilisateurs qui ont déjà au moins une méthode de vérification configurée sont toujours invités à fournir l’authentification multifacteur (ou « MFA », pour « Multi-Factor Authentication ») quand ils visitent la page de vérification.
Topologies de déploiement recommandées
Cette section traite de l’utilisation de l’authentification multifacteur Azure AD, en tant que méthode d’authentification principale avec AD FS, et authentification multifacteur Azure AD pour Office 365.
Authentification multifacteur Azure AD en tant qu’authentification principale
Il existe deux bonnes raisons d’utiliser l’authentification multifacteur Azure AD comme authentification principale avec AD FS :
- Elle permet d’éviter les mots de passe pour la connexion à Azure AD, Office 365 et les autres applications AD FS.
- Elle permet de protéger la connexion par mot de passe en demandant un autre facteur, tel que le code de vérification avant le mot de passe.
Vous pouvez également utiliser l’authentification multifacteur Azure AD comme méthode d’authentification principale, et l’accès conditionnel Azure AD, y compris l’authentification multifacteur elle-même par le biais d’invites à entrer des facteurs supplémentaires. Pour utiliser l’authentification multifacteur Azure AD localement, vous pouvez configurer le paramètre de domaine Azure AD en définissant SupportsMfa
sur $true
. Dans cette configuration, Azure AD peut demander à AD FS d’effectuer une authentification supplémentaire, ou « authentification multifacteur elle-même », pour les scénarios d’accès conditionnel qui en ont besoin.
Tout utilisateur AD FS qui n’est pas inscrit (qui n’a pas encore configuré les informations de vérification pour l’authentification multifacteur) doit être invité à configurer les informations de vérification. Pour inviter les utilisateurs non inscrits, vous pouvez utiliser une page d’erreur AD FS personnalisée qui permet de diriger les utilisateurs vers https://aka.ms/mfasetup, et de configurer les informations de vérification. Après la configuration, l’utilisateur peut réessayer sa connexion à AD FS.
L’authentification multifacteur Azure AD en tant qu’authentification principale est considérée comme facteur unique. Après la configuration initiale, les utilisateurs doivent fournir un autre facteur pour gérer ou mettre à jour leurs informations de vérification dans Azure AD, ou pour accéder à d’autres ressources qui nécessitent l’authentification multifacteur.
Note
Avec AD FS 2019, vous devez apporter une modification au type de revendication d’ancrage pour l’approbation du fournisseur de revendications Active Directory et convertir windowsaccountname
en nom d’utilisateur principal (UPN). Exécutez l’applet de commande PowerShell suivant. Cela n’a aucune incidence sur le fonctionnement interne de la batterie de serveurs AD FS. Il est possible que quelques utilisateurs soient invités à nouveau à entrer des informations d’identification après cette modification. Une fois connectés à nouveau, les utilisateurs finaux ne verront aucune différence.
Set-AdfsClaimsProviderTrust -AnchorClaimType "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn" -TargetName "Active Directory"
L’authentification multifacteur Azure AD en tant qu’authentification supplémentaire pour Office 365
L’adaptateur d’authentification multifacteur Azure AD pour AD FS permet à vos utilisateurs de procéder à une authentification multifacteur sur AD FS. Pour sécuriser votre ressource Azure AD, vous devez demander l’authentification multifacteur par le biais d’une stratégie d’accès conditionnel. Vous devez également définir le paramètre de domaine SupportsMfa
sur $true
, et émettre la revendication multipleauthn lorsqu’un utilisateur effectue correctement la vérification en deux étapes.
Comme décrit précédemment, tout utilisateur AD FS qui n’est pas inscrit (qui n’a pas encore configuré les informations de vérification pour l’authentification multifacteur) doit être invité à configurer les informations de vérification. Pour inviter les utilisateurs non inscrits, vous pouvez utiliser une page d’erreur AD FS personnalisée qui permet de diriger les utilisateurs vers https://aka.ms/mfasetup, et de configurer les informations de vérification. Après la configuration, l’utilisateur peut réessayer sa connexion à AD FS.
Prerequisites
Les prérequis suivants sont demandés lors de l’utilisation de l’authentification multifacteur Azure AD pour l’authentification avec AD FS :
Note
Azure AD et l’authentification multifacteur Azure AD sont inclus dans Azure AD Premium et Enterprise Mobility Suite (EMS). Vous n’avez pas besoin d’inscription individuelle si l’une de ces applications est installée.
- Un environnement local Windows Server 2016 AD FS.
- Le serveur doit pouvoir communiquer avec les URL suivantes sur le port 443.
https://adnotifications.windowsazure.com
https://login.microsoftonline.com
- Le serveur doit pouvoir communiquer avec les URL suivantes sur le port 443.
- Votre environnement local doit être fédéré avec Azure AD.
- Module Microsoft Azure Active Directory pour Windows PowerShell.
- Autorisations d’administrateur général sur votre instance d’Azure AD pour la configurer à l’aide d’Azure AD PowerShell.
- Informations d’identification de l’administrateur d’entreprise, afin de configurer la batterie de serveurs AD FS pour l’authentification multifacteur Azure AD.
Configurer les serveurs AD FS
Afin de terminer la configuration de l’authentification multifacteur Azure AD pour AD FS, vous devez configurer chaque serveur AD FS en suivant les étapes décrites ici.
Note
Vérifiez que ces étapes sont effectuées sur tous les serveurs AD FS de votre batterie de serveurs. Si votre batterie contient plusieurs serveurs AD FS, vous pouvez effectuer la configuration nécessaire à distance en utilisant Azure AD PowerShell.
Étape 1 : Générer un certificat pour l’authentification multifacteur Azure AD sur chaque serveur AD FS
La première chose à faire est d’utiliser la commande PowerShell New-AdfsAzureMfaTenantCertificate
pour générer un certificat à utiliser par l’authentification multifacteur Azure AD. Après avoir généré le certificat, recherchez-le dans le magasin de certificats des ordinateurs locaux. Le certificat est marqué par un nom d’objet contenant l’ID de locataire de votre annuaire Azure AD.
L’ID de locataire est le nom de votre annuaire dans Azure AD. Utilisez l’applet de commande PowerShell suivante pour générer le nouveau certificat :
$certbase64 = New-AdfsAzureMfaTenantCertificate -TenantID <tenantID>
Étape 2 : Ajouter les nouvelles informations d’identification au principal du service client Azure Multi-Factor Auth
Pour permettre aux serveurs AD FS de communiquer avec le client Azure Multi-Factor Auth, vous devez ajouter les informations d’identification au principal de service pour le client Azure Multi-Factor Auth. Les certificats générés au moyen de la cmdlet New-AdfsAzureMFaTenantCertificate servent d’informations d’identification. Ouvrez PowerShell et effectuez les étapes suivantes pour ajouter les nouvelles informations d’identification au principal de service client de l’authentification multifacteur Azure AD.
Note
Pour effectuer cette étape, vous devez vous connecter à votre instance d’Azure AD avec PowerShell à l’aide de Connect-MsolService
. Ces étapes supposent que vous vous êtes déjà connecté via PowerShell. Pour plus d’informations, consultez l’article Connect-MsolService.
Étape 3 : Définir le certificat en tant que nouvelles informations d’identification par rapport au client d’authentification multifacteur Azure
New-MsolServicePrincipalCredential -AppPrincipalId 981f26a1-7f43-403b-a875-f8b09b8cd720 -Type asymmetric -Usage verify -Value $certBase64
Important
Cette commande doit être exécutée sur tous les serveurs AD FS de votre batterie de serveurs. L’authentification multifacteur Azure AD échoue sur les serveurs pour lesquels le certificat n’est pas défini en tant que nouvelles informations d’identification par rapport au client de l’authentification multifacteur Azure AD.
Note
981f26a1-7f43-403b-a875-f8b09b8cd720 est le GUID du client Azure Multi-Factor Auth.
Configurer la batterie de serveurs AD FS
Après avoir terminé les étapes de la section précédente pour chaque serveur AD FS, définissez les informations du locataire Azure en utilisant la cmdlet Set-AdfsAzureMfaTenant. Cette applet de commande ne doit être exécutée qu’une seule fois pour une batterie de serveurs AD FS.
Ouvrez PowerShell et entrez votre propre tenantId avec la cmdlet Set-AdfsAzureMfaTenant
. Pour les clients qui utilisent Microsoft Azure Government cloud, ajoutez le paramètre -Environment USGov
:
Note
Vous devez redémarrer le service AD FS sur chaque serveur de votre batterie de serveurs avant que ces modifications ne prennent effet. Pour un impact minimal, retirez un par un les différents serveurs AD FS de la rotation NLB (équilibrage de la charge réseau) et attendez que toutes les connexions soient drainées.
Set-AdfsAzureMfaTenant -TenantId <tenant ID> -ClientId 981f26a1-7f43-403b-a875-f8b09b8cd720
Windows Server sans le dernier Service Pack ne prend pas en charge le paramètre -Environment
pour le cmdletSet-AdfsAzureMfaTenant
. Si vous utilisez Azure Government cloud et que les étapes précédentes n’ont pas pu configurer votre locataire Azure en raison du paramètre manquant-Environment
, effectuez les étapes suivantes pour créer manuellement les entrées de Registre. Ignorez ces étapes si l’applet de commande précédente a correctement inscrit vos informations de locataire, ou si vous n’êtes pas dans le cloud Azure Government :
Ouvrez l'Éditeur du Registre sur le serveur AD FS.
Accédez à HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ADFS. Créez les valeurs de clé de registre suivantes :
Clé de Registre Valeur SasUrl https://adnotifications.windowsazure.us/StrongAuthenticationService.svc/Connector
StsUrl https://login.microsoftonline.us
ResourceUri https://adnotifications.windowsazure.us/StrongAuthenticationService.svc/Connector
Redémarrez le service AD FS sur chaque serveur de la batterie de serveurs avant que ces modifications ne prennent effet. Pour réduire l’incidence sur vos systèmes, retirez un par un les différents serveurs AD FS de la rotation NLB (équilibrage de la charge réseau) et attendez que toutes les connexions soient drainées.
Après cette étape, vous pouvez constater que l’authentification multifacteur Azure AD est disponible en tant que méthode d’authentification principale pour l’utilisation de l’intranet et de l’extranet.
Si vous souhaitez utiliser l’authentification multifacteur Azure AD comme méthode d’authentification secondaire, dans la boîte de dialogue Modifier les méthodes d’authentification, sélectionnez l’onglet Multifacteur (onglet Supplémentaire dans AD FS 2019) et assurez-vous qu’elle est activée. Sinon, il est possible que vous receviez des messages d’erreur, tels que « Aucune méthode d’authentification forte valide trouvée ». Contactez votre administrateur pour configurer et activer un fournisseur d’authentification forte approprié. »
Renouveler et gérer les certificats d’authentification multifacteur Azure AD AD FS
Les instructions suivantes sont conçues pour vous aider à gérer les certificats d’authentification multifacteur Azure AD sur vos serveurs AD FS.
Par défaut, lorsque vous configurez l’authentification multifacteur Azure AD avec AD FS, les certificats générés par le biais de l’appel de commande PowerShell New-AdfsAzureMfaTenantCertificate
sont valides pendant 2 ans. Pour déterminer le point d’expiration de vos certificats, et pour renouveler et installer de nouveaux certificats, utilisez la procédure suivante.
Évaluez la date d’expiration du certificat d’authentification multifacteur Azure AD AD FS.
Sur chaque serveur AD FS, dans l’ordinateur local Mon magasin, vous trouvez un certificat auto-signé avec la mention « Authentification multifacteur Microsoft Azure AD AD FS » dans les zones Émetteur et Objet. Ce certificat est le certificat d’authentification multifacteur Azure AD. Vérifiez la période de validité de ce certificat sur chaque serveur AD FS pour déterminer la date d’expiration.
Créez un certificat d’authentification multifacteur Azure AD AD FS sur chaque serveur AD FS.
Si la période de validité de vos certificats touche à sa fin, démarrez le processus de renouvellement en générant un nouveau certificat d’authentification multifacteur Azure AD sur chaque serveur AD FS. Dans PowerShell, générez un nouveau certificat sur chaque serveur AD FS à l’aide de la cmdlet suivante :
Attention
Si votre certificat a déjà expiré, n’ajoutez pas le paramètre
-Renew $true
à la commande suivante. Dans ce scénario, le certificat expiré existant est remplacé par un nouveau au lieu d’être laissé en place et un certificat supplémentaire créé.$newcert = New-AdfsAzureMfaTenantCertificate -TenantId <tenant id such as contoso.onmicrosoft.com> -Renew $true
Si le certificat n’a pas encore expiré, la commande génère un nouveau certificat valide à partir de deux jours après la date actuelle jusqu’à deux ans plus deux jours plus deux jours. Les opérations de l’authentification multifacteur Azure AD et AD FS ne sont pas affectées lors de l’exécution de la cmdlet ou du renouvellement du certificat. Le délai de deux jours est intentionnel et permet d’exécuter les étapes suivantes afin de configurer le nouveau certificat dans le locataire avant qu’AD FS ne commence à l’utiliser pour l’authentification multifacteur Azure AD.
Configurez chaque nouveau certificat d’authentification multifacteur Azure AD AD FS dans le locataire Azure AD.
Avec le module Azure AD PowerShell, pour chaque nouveau certificat (sur chaque serveur AD FS), mettez à jour les paramètres du locataire Azure AD comme suit. Vous devez d’abord vous connecter au locataire en utilisant
Connect-MsolService
pour exécuter les commandes suivantes.New-MsolServicePrincipalCredential -AppPrincipalId 981f26a1-7f43-403b-a875-f8b09b8cd720 -Type Asymmetric -Usage Verify -Value $newcert
Si votre certificat précédent a expiré, redémarrez le service AD FS pour récupérer le nouveau certificat. Vous n’avez pas besoin de redémarrer le service AD FS si vous avez renouvelé un certificat avant son expiration.
Vérifiez que le ou les nouveaux certificats sont utilisés pour l’authentification multifacteur Azure AD.
Après la validation des nouveaux certificats, AD FS les récupère et utilise chaque certificat respectif pour l’authentification multifacteur Azure AD dans un délai de quelques heures à un jour. Après l’utilisation des nouveaux certificats par AD FS, vous voyez sur chaque serveur un événement enregistré dans le journal des événements d’administration AD FS, avec les informations suivantes :
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.
Personnaliser la page web AD FS pour guider les utilisateurs à inscrire des méthodes de vérification MFA
Utilisez les exemples suivants pour personnaliser vos pages web AD FS destinées aux utilisateurs qui n’ont pas encore été vérifiés (informations de vérification pour l’authentification multifacteur configurées).
Rechercher l’erreur
Tout d’abord, AD FS retourne deux messages d’erreur différents lorsque l’utilisateur ne dispose pas d’informations de vérification. Si vous utilisez l’authentification multifacteur Azure AD comme authentification principale, l’utilisateur non vérifié voit une page d’erreur AD FS contenant les messages suivants :
<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>
Quand la tentative d’Azure AD en tant qu’authentification supplémentaire est effectuée, l’utilisateur non vérifié voit une page d’erreur AD FS contenant les messages suivants :
<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>
Interceptez l’erreur et mettez à jour le texte de la page
Pour intercepter l’erreur et afficher les instructions personnalisées de l’utilisateur, ajoutez le code JavaScript à la fin du fichier onload.js
qui fait partie du thème web AD FS. Vous pouvez ainsi :
- Rechercher la ou les chaînes d’erreur d’identification.
- Fournir du contenu web personnalisé.
Note
Pour obtenir de l’aide générale sur la personnalisation du fichier onload.js, consultez l’article Personnalisation avancée des pages de connexion AD FS.
Les étapes suivantes illustrent un exemple simple :
Ouvrez Windows PowerShell sur votre serveur AD FS principal et créez un thème web AD FS en exécutant la commande suivante.
New-AdfsWebTheme –Name ProofUp –SourceName default
Créez le dossier et exportez le thème web AD FS par défaut.
New-Item -Path 'C:\Theme' -ItemType Directory;Export-AdfsWebTheme –Name default –DirectoryPath C:\Theme
Ouvrez le fichier C:\Theme\script\onload.js dans un éditeur de texte.
Ajoutez le code suivant à la fin du fichier onload.js :
//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
Important
Vous devez modifier «< YOUR_DOMAIN_NAME_HERE> » pour utiliser votre nom de domaine. Par exemple :
var domain_hint = "contoso.com";
.Enregistrez le fichier onload.js.
Importez le fichier onload.js dans votre thème personnalisé en entrant la commande Windows PowerShell suivante :
Set-AdfsWebTheme -TargetName ProofUp -AdditionalFileResource @{Uri='/adfs/portal/script/onload.js';path="c:\theme\script\onload.js"}
Appliquez le thème web AD FS personnalisé en entrant la commande Windows PowerShell suivante :
Set-AdfsWebConfig -ActiveThemeName "ProofUp"