Search This Blog

mercredi 20 décembre 2017

Sauvegardez et restaurez votre configuration ADFS avec AD FS Rapid Restore Tool

Bonjour,


Nous allons voir aujourd’hui un sujet intéressant, ADFS et plus particulièrement le backup de la configuration ADFS.

ADFS Rapid Restore Tool


ADFS Rapid restore Tool est un outil de backup de la configuration ADFS, ce dernier vous permet de backuper et de restaurer votre configuration ADFS de manière efficace et optimale en cas de soucis.

Il sera possible d’exporter votre configuration ADFS vers un autre emplacement ou alors même vers azure en indiquant votre Azure container Storage.

Le backup est exporté de manière sécurisée et chiffré avec un password défini lors du backup.

Quel usage


ADFS RRT peut être utilisé dans les cas suivants :

  •           Crash de l’infrastructure ADFS et donc restauration rapide en urgence du service ADFS
  •           Faire un environnement de LAB identique à la production pour des test ou Dev

    

Ce que sauvegarde l’outil


ADFS RRT permet de sauvegarder les éléments suivants :
  •           Fichier de configuration de l’ADFS
  •           Toute la customisation de votre page ADFS
  •           La base de donnée ADFS qu’elle soit sur un SQL ou en WID
  •           Le certificat SSL  service communication ( attention, l’utilisateur qui fait le backup doit être en mesure d’exporter la clé privée du certificat et d’y accéder)
  •           Les certificats Token signing et token decryption and service communication)




-          Bien entendu toute la configuration ADFS avec les providers, les attributs stores, les claims provider etc ..

Téléchargement d’ AD FS Rapid Restore Tool


Allez sur le lien suivant afin de télécharger ADFS RRT ( Rapide restore tool)


Une fois téléchargé, vous aurez un fichier MSi qu’il faudra installer sur votre serveur ADFS primaire.

Ps : si vous avez plusieurs ADFS serveurs installés avec une base de données WID, il suffit de faire un Get-SyncProperties afin de determinerle serveur primaire ADFS, ( vu que ce dernier s’install sur le serveur ADFS primaire de la ferme ADFS )

Prérequis :

  •           ADFS Windows Server 2012 R2 / 2016
  •           .Net framework 4.0

      

Installation de l’outil 

 Suivre le wizard ci dessous :





Une fois installé, veuillez importer le module PowerShell d’ADFS Rapide Tool Restore comme ceci :

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

Vérification avec un get-module

On peut voir le module ADFS Rapide restore tool installé sur notre serveur ADFs comme ceci :



Ce module dispose de deux cmdlets PowerShell :


On peut voir les options que dispose chaque commande comme ceci :

Backup-adfs :


Quelques explication sur les arguments :
  •           Storage Type : le type de stockage ou sera stocké le backup, possibilité de choisir soit du file système , ce qui veut dire que le backup sera placé dans un système de fichier sur le serveur ou dans un autre serveur ou dans un share par exemple, par contre le type azure vous permettra de stocker le backup dans azure dans un Azure Storage container
  •           storagePath : chemin du stockage ou sera stocké le backup
  •           EncryptionPassword :Le mots de passe qui va chiffrer et sécuriser le backup
  •           AzureConnectionCredentials :credential azure pour la connexion vers azure
  •           azureStoragecontainer : l’espace de stockage dans Azure ou sera stocké le backup si vous prenez ce type de storage
  •           BackupComment : commentaire sur le backup
  •           ServiceAccountCredential : Le compte de service qui fait tourner le service ADFS , ceci est nécessaire uniquement si vous souhaitez sauvegarder le DKM et que vous n’êtes pas Domain admin au moment du lancement du script de backup



en ce qui concerne la commande Backup-adfs :



En ce qui concerne la partie restaure, voici les paramètres :
  •           Storage Type : même chose que pour la commande backup-adfs
  •           DecryptionPassword : password qui permet déchiffrer les fichiers de backup ADFS
  •           AzureConnectionCredentials :credential azure pour la connexion vers azure
  •           azureStoragecontainer : l’espace de stockage dans Azure ou est stocké le backup si vous prenez ce type de storage
  •           ADFS name : le nom du service ADFS
  •           ServiceAccountCredential : compte de service qui fait tourner l’ADFS
  •           GroupServiceAccountIdentifier : le GMSA si vous souhaitez utiliser pour votre prochain infrastructure ADFS
  •           DBConnectionString : afin de chercher la base de donnée, il sera possible de la spécifiée ici  ( WId ou SQL)
  •           RestoreDKM : permet de restaurer le DKM



Backup Configuration ADFS


Une fois que nous avons le module PowerShell avec les différents paramètres, nous pourrons procéder au backup de notre configuration ADFS avec la commande suivante :

Backup-ADFS -StorageType "FileSystem" -StoragePath C:\temp\ADFS -EncryptionPassword "password123" -BackupComment "sauvegarde " -BackupDKM


Une fois sauvegardée on peut voir le backup comme ceci :



Nous avons :

  • Le fichier de configuration
  • La base de donnes
  • Le DKM
  • Les metadata
  • Le certificat SSL
  • Les paramètres d’installation 


Il est possible de faire plusieurs type de backup :

Backup sans le DKM :

Backup-ADFS -StorageType "FileSystem" -StoragePath C:\temp\ADFS -EncryptionPassword "password123" -BackupComment "sauvegarde ADFS "


Backup en spécifiant le compte de service ADFS :

Backup-ADFS -StorageType "FileSystem" -StoragePath C:\temp\ADFS -EncryptionPassword "password123" -BackupComment "sauvegarde ADFS " -ServiceAccountCredential $svcaccount


Backup dans un container Azure :

$cred = Get-Credential
Add-AzureAccount -Credential $cred

Backup-ADFS -StorageType "Azure" -AzureConnectionCredentials $cred  -AzureStorageContainer "adfs"  -EncryptionPassword "password123" -BackupComment "Clean Install of ADFS"




Restauration Configuration ADFS

Afin de restaurer votre configuration ADFS  alley sur votre nouveau server ADFS, faudra que ce dernier soit joint au domaine et lancez la commande suivante :

Ps . la commande restore-adfs s-occupe bien entendu d-installer la ferme ADFS etc en amont >

Restore-ADFS -StorageType “FileSystem” -StoragePath “D:\Data\ADFS” -DecryptionPassword “password123” -RestoreDKM -DBConnectionString “WID”

Ici il faudra spécifier la DBconnectionstring afin de spécifier la base de données ADFS , ici j’ai utilis; la WID.


Il est possible de faire plusieurs type de restauration également :

Restauration ADFS depuis un azure Storage container :

$cred = Get-Credential
Add-AzureAccount -Credential $cred

Restore-ADFS -StorageType "Azure" -AzureConnectionCredential $cred -DecryptionPassword "password123" -AzureStorageContainer "adfs"

Restauration ADFS avec une configuration SQL :

Restore-ADFS -StorageType "FileSystem" -StoragePath "D:\Data\ADFS” -DecryptionPassword "password123" - DBConnectionString "Data Source=srvsql\SQLDBADFS; Integrated Security=True"


Restauration ADFS en spécifiant le compte de service ADFS :

Restore-ADFS -StorageType "FileSystem" -StoragePath “D:\Data\ADFS”  -DecryptionPassword "password123" -ServiceAccountCredential $cred


Restauration ADFS avec un GMSA ( group managed service account)

Restore-ADFS -StorageType "FileSystem" -StoragePath “D:\Data\ADFS”  -DecryptionPassword "password123" -GroupServiceAccountIdentifier "mscloud\svcmgadfs$"

Conclusion

Avec cet outils de Microsoft, nous avons donc la possibilité de sauvegarder de manière sécurisée notre configuration ADFS vers un stockage file système classique ou dans un container Storage dans Azure, ceci nous offre une grande flexibilité en cas de crash de la configuration ADFS, ce qui permettra de restaurer son service ADFS de manière optimale.

N’hésitez pas à le mettre en place, c’est facile et ça prend pas beaucoup de temps, par contre cela peut vous faire gagner du temps et donc de l’argent en cas de soucis sur l’infrastructure ADFS.

Bien sûr, faire du backup c’est bien, mais tester les backup c’est encore mieux, donc n’hésitez pas a tester vos backup dans des serveurs cloisonnés afin de vérifier l’intégrité de vos backups ADFS 😊
Bon backup 😊

Cordialement,
Sezfallah Tagrerout
Microsoft MVP
< >