Outil de restauration rapide Services ADFS (AD FS)

Services ADFS (AD FS) est rendu hautement disponible en configurant une batterie de serveurs AD FS. Certaines organisations préfèrent un déploiement AD FS à serveur unique pour éliminer le besoin de plusieurs serveurs AD FS et d’une infrastructure d’équilibrage de charge réseau. Cette approche permet de garantir une restauration rapide du service après avoir résolu les problèmes potentiels.

L’outil de restauration rapide AD FS permet de restaurer les données AD FS sans nécessiter une sauvegarde et une restauration complètes du système d’exploitation ou de l’état du système. Utilisez l’outil pour exporter la configuration AD FS vers Azure ou vers un emplacement local. Vous pouvez appliquer les données exportées à une nouvelle installation AD FS et recréer ou dupliquer l’environnement AD FS.

Scénarios de cas d’usage

Vous pouvez utiliser l’outil de restauration rapide AD FS dans différents scénarios :

  • Restaurer rapidement la fonctionnalité AD FS suite à des problèmes. Utilisez l’outil de restauration rapide pour créer une installation de reprise progressive d’AD FS qui peut être déployée rapidement à la place du serveur AD FS en ligne.

  • Déployer des environnements de test et de production identiques. Créez rapidement une copie précise de l’AD FS de production dans un environnement de test. Vous pouvez également utiliser l’outil de restauration rapide pour déployer rapidement une configuration de test validée en production.

  • Migrez les configurations SQL et Windows Integrated Database (WID). Migrez vos données avec l’outil de restauration rapide et passez d’une configuration de batterie de serveurs SQL à WID ou vice versa.

Note

Si vous utilisez la réplication de fusion SQL ou des groupes de disponibilité Always On, l’outil de restauration rapide n’est pas pris en charge. Nous recommandons des sauvegardes SQL et une sauvegarde du certificat SSL.

Contenu de la sauvegarde

L’outil de restauration rapide sauvegarde la configuration AD FS suivante :

  • Base de données de configuration AD FS (SQL ou WID)
  • Fichier de configuration (situé dans le dossier AD FS)
  • Liste des fournisseurs d’authentification personnalisés, des magasins d’attributs et des approbations de fournisseur de revendications locales installés
  • Clés privées et certificats de signature et de déchiffrement de jetons générés automatiquement à partir du conteneur DKM (Gestionnaire de distribution de clés) Active Directory
  • Certificat SSL, tous les certificats inscrits en externe (signature de jetons, déchiffrement de jetons et communication de service) et les clés privés correspondantes

Note

Les clés privées doivent être exportables. L’utilisateur exécutant le script doit avoir l’autorisation d’accéder aux clés.

Chiffrement de sauvegarde

Toutes les données de sauvegarde sont chiffrées avant d’être envoyées vers le cloud ou stockées dans le système de fichiers.

Chaque document créé dans le cadre de la sauvegarde est chiffré à l’aide de la norme AES-256. Le mot de passe fournit à l’outil de restauration rapide est utilisé comme expression relative pour générer un nouveau mot de passe via la classe Rfc2898DeriveBytes.

La classe RngCryptoServiceProvider génère le sel (objet blob binaire) utilisé par AES et la classe Rfc2898DeriveBytes.

Bien démarrer

Pour commencer à utiliser l’outil de restauration rapide AD FS, passez d’abord en revue les exigences système et outil suivantes.

  • L’outil fonctionne pour AD FS dans Windows Server 2016 et ses versions ultérieures.
  • L’outil nécessite .NET Framework 4.0 ou version ultérieure.
  • Si vous utilisez un WID, l’outil doit s’exécuter sur le serveur AD FS principal. Utilisez l’applet de commande Get-AdfsSyncProperties pour vérifier si votre serveur est le serveur principal.
  • Une restauration doit être effectuée sur un serveur AD FS de la même version que le serveur de sauvegarde et utilisez le même compte Active Directory que le compte de service AD FS.

Suivez ces étapes pour configurer l’outil :

  1. Téléchargez et installez le fichier MSI sur votre serveur AD FS.

  2. Après avoir installé l’outil, exécutez la commande suivante à partir d’une invite PowerShell :

    Import-Module 'C:\Program Files (x86)\ADFS Rapid Recreation Tool\ADFSRapidRecreationTool.dll'
    

Créez des sauvegardes : Backup-ADFS

Pour créer une sauvegarde, utilisez l’applet de commande PowerShell Backup-ADFS. Cette applet de commande de sauvegarde sauvegarde la configuration AD FS, la base de données, les certificats SSL, etc.

Avant d’utiliser l’applet de commande de sauvegarde, passez en revue les exigences d’accès et d’autorisations suivantes.

  • Exécutez en tant qu’administrateur local. Pour exécuter l’applet de commande de sauvegarde, l’utilisateur doit être au moins un administrateur local.

  • Sauvegardez en tant qu’administrateur de domaine. Pour sauvegarder le conteneur DKM Active Directory (requis dans la configuration AD FS par défaut), les privilèges utilisateur doivent répondre à un ou plusieurs des critères suivants :

    • L’utilisateur doit être un administrateur de domaine.
    • L’utilisateur doit transmettre les informations d’identification du compte de service AD FS.
    • L’utilisateur doit avoir accès au conteneur DKM.
  • Utilisez le compte gMSA en tant qu’administrateur de domaine. Pour un compte de service managé de groupe (gMSA), l’utilisateur doit être un administrateur de domaine ou disposer d’autorisations sur le conteneur. L’utilisateur ne peut pas fournir les informations d’identification gMSA.

Paramètres de l’applet de commande Backup-ADFS

Chaque sauvegarde est nommée selon le modèle adfsBackup_ID_Date-Time. Le nom contient le numéro de version, la date et l’heure de la sauvegarde.

Voici les paramètres de l’applet de commande Backup-ADFS :

Backup-ADFS 
  -StorageType {FileSystem | Azure} 
  -EncryptionPassword <string> 
  -AzureConnectionCredentials <pscredential> 
  -AzureStorageContainer <string> 
  [-BackupComment <string>] 
  [-ServiceAccountCredential <pscredential>]
  [-BackupDKM]
  [<CommonParameters>]
    
Backup-ADFS -StorageType {FileSystem | Azure} 
  -EncryptionPassword <string>
  -StoragePath <string> 
  [-BackupComment <string>]
  [-ServiceAccountCredential <pscredential>]
  [-BackupDKM]
  [<CommonParameters>]

La liste suivante décrit les détails des paramètres de l’applet de commande Backup-ADFS.

  • BackupDKM : sauvegarde le conteneur DKM Active Directory qui contient les clés AD FS incluses dans la configuration par défaut (certificats de signature et de déchiffrement de jetons générés automatiquement). Cette approche utilise l'outil ldifde de Microsoft Entra pour exporter le conteneur Microsoft Entra et toutes ses sous-arbres.

  • StorageType <string> : lorsque l’utilisateur effectue la sauvegarde, il sélectionne l’emplacement de sauvegarde :

    • FileSystem indique que l’utilisateur souhaite stocker la sauvegarde dans un dossier local ou dans le réseau. Pour stocker la sauvegarde dans le système de fichiers, l’utilisateur doit répondre aux exigences suivantes :

      • Le chemin de stockage doit être spécifié.

      Dans le chemin du répertoire, un nouveau répertoire est créé pour chaque sauvegarde. Chaque répertoire créé contient les fichiers sauvegardés.

    • Azure indique que l’utilisateur souhaite stocker la sauvegarde dans le conteneur de stockage Azure. Pour stocker la sauvegarde dans le cloud, l’utilisateur doit répondre aux exigences suivantes :

      • Les informations d’identification de stockage Azure doivent être transmises à l’applet de commande. Les informations d’identification de stockage contiennent le nom et la clé du compte.
      • Un nom de conteneur doit également être transmis. Si le conteneur n’existe pas, il est créé pendant la sauvegarde.
  • EncryptionPassword <string> : mot de passe à utiliser pour chiffrer tous les fichiers sauvegardés avant leur stockage.

  • AzureConnectionCredentials <pscredential> : nom et clé du compte de stockage Azure.

  • AzureStorageContainer <string> : conteneur de stockage pour la sauvegarde dans Azure.

  • StoragePath <string> : emplacement de stockage des sauvegardes.

  • ServiceAccountCredential <pscredential> : compte de service utilisé pour le service AD FS en cours d’exécution. Ce paramètre est nécessaire uniquement lorsque l’utilisateur souhaite sauvegarder le DKM et qu’il n’est pas administrateur de domaine ou qu’il ne peut pas accéder au contenu du conteneur.

  • BackupComment <string[]> : chaîne d’informations sur la sauvegarde à afficher pendant la restauration. Cette chaîne est similaire au concept de nommage de point de contrôle Hyper-V. La valeur par défaut est une chaîne vide.

Exemples de sauvegarde

Les exemples PowerShell suivants illustrent les options de sauvegarde d’une configuration AD FS avec l’outil de restauration rapide AD FS et l’applet de commande Backup-ADFS.

Sauvegarder sur le système de fichiers avec DKM en tant qu’administrateur de domaine

L’applet de commande suivante sauvegarde la configuration AD FS dans le système de fichiers avec le DKM à l’aide du paramètre -BackupDKM. Cette approche permet d’accéder au contenu du conteneur DKM en tant qu’administrateur de domaine ou utilisateur disposant d’autorisations déléguées.

Backup-ADFS -StorageType "FileSystem" -StoragePath "C:\Users\administrator\testExport\" -EncryptionPassword "password" -BackupComment "Clean Install of AD FS (FS)" -BackupDKM

Sauvegarder sur le système de fichiers avec DKM en tant qu’administrateur local

L’applet de commande suivante sauvegarde également la configuration AD FS dans le système de fichiers avec DKM, mais utilise une approche légèrement différente. Dans cette option, vous spécifiez les informations d’identification du compte de service à l’aide du paramètre -ServiceAccountCredential $cred et exécutez l’opération en tant qu’administrateur local.

Backup-ADFS -StorageType "FileSystem" -StoragePath "C:\Users\administrator\testExport\" -EncryptionPassword "password" -BackupComment "Clean Install of AD FS (FS)" -BackupDKM -ServiceAccountCredential $cred

Sauvegarder dans un conteneur stockage Azure sans DKM

L’applet de commande suivante sauvegarde la configuration AD FS dans le conteneur Stockage Azure sans utiliser le DKM. Utilisez le paramètre -AzureStorageContainer "adfsbackups" pour spécifier le conteneur.

Backup-ADFS -StorageType "Azure" -AzureConnectionCredentials $cred -AzureStorageContainer "adfsbackups"  -EncryptionPassword "password" -BackupComment "Clean Install of AD FS"

Sauvegarder sur le système de fichiers sans DKM

L’applet de commande suivante sauvegarde la configuration AD FS dans le système de fichiers sans utiliser le DKM. Notez que le paramètre -BackupDKM n’est pas spécifié.

Backup-ADFS -StorageType "FileSystem" -StoragePath "C:\Users\administrator\testExport\" -EncryptionPassword "password" -BackupComment "Clean Install of AD FS (FS)"

Restaurer les sauvegardes : Restore-ADFS

Pour appliquer une configuration créée à l’aide de l’applet de commande Backup-ADFS à une nouvelle installation AD FS, utilisez l’applet de commande Restore-ADFS. L’applet de commande de restauration crée une batterie de serveurs AD FS à l’aide de l’applet de commande Install-AdfsFarm et restaure la configuration AD FS, la base de données, les certificats, etc.

L’applet de commande de restauration vérifie l’emplacement de restauration pour les sauvegardes existantes. L’applet de commande invite l’utilisateur à choisir une sauvegarde appropriée en fonction de la date et de l’heure à laquelle elle a été effectuée et de tout commentaire éventuel que l’utilisateur a pu y joindre. S’il existe plusieurs configurations AD FS avec des noms de service de fédération différents, l’utilisateur est invité à d’abord choisir la configuration AD FS appropriée.

Avant d’utiliser l’applet de commande restore, passez en revue les exigences suivantes.

  • Si le rôle AD FS n’est pas installé sur le serveur, l’applet de commande installe le rôle.
  • L’utilisateur doit être à la fois administrateur local et administrateur de domaine pour exécuter cette applet de commande.

Important

Avant d’utiliser l’outil de restauration rapide AD FS pour restaurer une sauvegarde, assurez-vous que le serveur est joint au domaine.

Paramètres de l’applet de commande Restore-ADFS

Voici les paramètres de l’applet de commande Restore-ADFS :

Restore-ADFS 
  -StorageType {FileSystem | Azure} 
  -DecryptionPassword <string> 
  -AzureConnectionCredentials <pscredential>
  -AzureStorageContainer <string>
  [-ADFSName <string>]
  [-ServiceAccountCredential <pscredential>]
  [-GroupServiceAccountIdentifier <string>]
  [-DBConnectionString <string>]
  [-Force]
  [-RestoreDKM]  
  [<CommonParameters>]
    
Restore-ADFS 
  -StorageType {FileSystem | Azure} 
  -DecryptionPassword <string>
  -StoragePath <string>
  [-ADFSName <string>]
  [-ServiceAccountCredential <pscredential>]
  [-GroupServiceAccountIdentifier <string>]
  [-DBConnectionString <string>]
  [-Force]
  [-RestoreDKM]
  [<CommonParameters>]

La liste suivante décrit les détails des paramètres de l’applet de commande Restore-ADFS.

  • StorageType <string> : type de stockage à utiliser :

    • FileSystem stocke la sauvegarde dans un dossier local ou dans le réseau.
    • Azure stocke la sauvegarde dans le conteneur de stockage Azure.
  • DecryptionPassword <string> : mot de passe utilisé pour chiffrer tous les fichiers sauvegardés.

  • AzureConnectionCredentials <pscredential> : nom et clé du compte de stockage Azure.

  • AzureStorageContainer <string> : conteneur de stockage pour sauvegarder la sauvegarde dans Azure.

  • StoragePath <string> : emplacement de stockage de la sauvegarde.

  • ADFSName <string> : nom de la fédération sauvegardée et à restaurer.

    • Lorsqu’aucun nom n’est spécifié et qu’il n’existe qu’un seul nom de service de fédération, ce nom de service de fédération est utilisé.
    • Si plusieurs services de fédération sont sauvegardés à l’emplacement, l’utilisateur est invité à choisir un service de fédération sauvegardés.
  • ServiceAccountCredential <pscredential> : spécifie le compte de service à utiliser pour le nouveau service AD FS en cours de restauration.

  • GroupServiceAccountIdentifier <string> : le gMSA que l’utilisateur souhaite utiliser pour le nouveau service AD FS en cours de restauration.

    • Par défaut, si aucune valeur n’est fournie, le nom du compte sauvegardé est utilisé, si le compte est gMSA.
    • Si aucune valeur n’est fournie et que le compte n’est pas gMSA, l’utilisateur est invité à spécifier un compte de service.
  • DBConnectionString <string> : pour utiliser une autre base de données pour la restauration, spécifiez la chaîne de connexion SQL ou entrez « WID ».

  • Force <bool> : ignorez les invites de l’outil après avoir sélectionné le processus de sauvegarde.

  • RestoreDKM <bool> : restaurez le conteneur DKM dans Active Directory. Définissez cette option lors de la restauration vers un nouvel Active Directory et que le DKM a été sauvegardé initialement.

Exemples de restauration

Les exemples PowerShell suivants illustrent les options de restauration d’une configuration AD FS avec l’outil de restauration rapide AD FS et l’applet de commande Restore-ADFS.

Restaurer vers le système de fichiers avec DKM en tant qu’administrateur de domaine

L’applet de commande suivante restaure la configuration AD FS dans le système de fichiers avec le DKM à l’aide du paramètre -RestoreDKM.

Restore-ADFS -StorageType "FileSystem" -StoragePath "C:\Users\administrator\testExport\" -DecryptionPassword "password" -RestoreDKM

Restaurer vers le système de fichiers sans DKM

L’applet de commande suivante restaure la configuration AD FS dans le système de fichiers sans utiliser le DKM. Notez que le paramètre -RestoreDKM n’est pas spécifié.

Restore-ADFS -StorageType "FileSystem" -StoragePath "C:\Users\administrator\testExport\" -DecryptionPassword "password"

Restaurer vers un conteneur stockage Azure sans DKM

L’applet de commande suivante restaure la configuration AD FS dans le conteneur Stockage Azure sans utiliser le DKM. Utilisez le paramètre -AzureStorageContainer "adfsbackups" pour spécifier le conteneur.

Restore-ADFS -StorageType "Azure" -AzureConnectionCredential $cred -DecryptionPassword "password" -AzureStorageContainer "adfsbackups"

Restaurer vers WID

L’applet de commande suivante restaure la configuration AD FS sur WID. Notez la valeur WID passée au paramètre -DBConnectionString.

Restore-ADFS -StorageType "FileSystem" -StoragePath "C:\Users\administrator\testExport\" -DecryptionPassword "password" -DBConnectionString "WID"

Restaurer vers SQL

L’applet de commande suivante restaure la configuration AD FS sur SQL. Notez les valeurs Data Source et Integrated Security passées au paramètre -DBConnectionString.

Restore-ADFS -StorageType "FileSystem" -StoragePath "C:\Users\administrator\testExport\" -DecryptionPassword "password" -DBConnectionString "Data Source=TESTMACHINE\SQLEXPRESS; Integrated Security=True"

Restaurations avec le compte gMSA spécifié

L’applet de commande suivante restaure la configuration AD FS et utilise un compte gMSA spécifié. Remarquez l’utilisation du paramètre -GroupServiceAccountIdentifier.

Restore-ADFS -StorageType "FileSystem" -StoragePath "C:\Users\administrator\testExport\" -DecryptionPassword "password" -GroupServiceAccountIdentifier "mangupd1\adfsgmsa$"

Restaurer avec les informations d’identification de compte de service spécifiées

L’applet de commande suivante restaure la configuration AD FS et utilise les informations d’identification du compte de service spécifiées. Remarquez l’utilisation du paramètre -ServiceAccountCredential.

Restore-ADFS -StorageType "FileSystem" -StoragePath "C:\Users\administrator\testExport\" -DecryptionPassword "password" -ServiceAccountCredential $cred

Fichiers journaux

Un fichier journal est créé pour chaque opération de sauvegarde et de restauration. Les fichiers journaux se trouvent à l’adresse %LOCALAPPDATA%\ADFSRapidRecreationTool.

Note

Lorsque vous effectuez une restauration, un fichier PostRestore_Instructions peut être créé. Ce fichier contient une vue d’ensemble des données ou services supplémentaires qui doivent être installés manuellement avant de démarrer le service AD FS. Le fichier spécifie des fournisseurs d’authentification, des magasins d’attributs et des approbations de fournisseur de revendications locales.

Historique des versions

Les sections suivantes identifient les détails de la version de l’outil de restauration rapide AD FS.

Version 2.0.2464.1

Publication : décembre 2023

Problèmes résolus :

  • Correctif de bug : distinguer les clés CNG & CSP lors de la restauration

Version 1.0.82.3

Publication : avril 2020

Problèmes résolus :

  • Ajout de la prise en charge des certificats basés sur CNG

Version 1.0.82.0

Publication : juillet 2019

Problèmes résolus :

  • Correctif de bogue pour les noms de compte de service AD FS qui contiennent des caractères d’échappement LDAP

Version 1.0.81.0

Publication : avril 2019

Problèmes résolus :

  • Correctifs de bogues pour la sauvegarde et la restauration de certificats
  • Ajout d’informations de suivi supplémentaires dans le fichier journal

Version 1.0.75.0

Publication : août 2018

Problèmes résolus :

  • Mise à jour de l’applet de commande Backup-ADFS pour le commutateur -BackupDKM. L’outil détermine si le contexte actuel a accès au conteneur DKM. Lorsque l’accès est disponible, l’outil ne nécessite pas de privilèges de Administration de domaine ni d’informations d’identification de compte de service. Cette mise à jour permet aux sauvegardes automatisées qui ne permettent pas à l’utilisateur de fournir explicitement des informations d’identification ou d’exécuter l’opération en tant que compte d’administrateur de domaine.

Version 1.0.73.0

Publication : août 2018

Problèmes résolus :

  • Mise à jour des algorithmes de chiffrement pour s’assurer que l’application est conforme à FIPS

    Important

    Les sauvegardes précédentes ne fonctionnent pas avec la dernière version de l’outil, en raison des modifications apportées aux algorithmes de chiffrement pour la conformité FIPS.

  • Ajout de la prise en charge des clusters SQL qui utilisent la réplication de fusion

Version 1.0.72.0

Publication : juillet 2018

Problèmes résolus :

  • Correctif de bogue : correction du programme d’installation .MSI pour prendre en charge les mises à niveau sur place

Version 1.0.18.0

Publication : juillet 2018

Problèmes résolus :

  • Correctif de bogue : gestion des mots de passe de compte de service avec des caractères spéciaux (p. ex., « & »)
  • Correctif de bogue : résolution des problèmes liés à l’échec de restauration, car Microsoft.IdentityServer.Servicehost.exe.config est utilisé par un autre processus

Version 1.0.0.0

Publication : octobre 2016

Version initiale de l’outil de restauration rapide AD FS