Active Directory-Verbunddienste (AD FS): Tool für die schnelle Wiederherstellung

Active Directory-Verbunddienste (AD FS) wird durch Einrichten einer AD FS-Farm hoch verfügbar. Einige Organisationen bevorzugen eine AD FS-Bereitstellung mit einem einzelnen Server, um nicht mehrere AD FS-Server und eine Infrastruktur für den Netzwerklastenausgleich zu benötigen. Dieser Ansatz ermöglicht eine schnelle Wiederherstellung des Diensts nach der Behebung potenzieller Probleme.

Das AD FS-Tool für die schnelle Wiederherstellung bietet die Möglichkeit, AD FS-Daten wiederherzustellen, ohne dass eine vollständige Sicherung und Wiederherstellung des Betriebssystems oder des Systemzustands erforderlich ist. Mithilfe des Tools können Sie eine AD FS-Konfiguration nach Azure oder an einen lokalen Speicherort exportieren. Sie können die exportierten Daten auf eine neue AD FS-Installation anwenden und die AD FS-Umgebung neu erstellen oder duplizieren.

Anwendungsfälle

Das AD FS-Tool für die schnelle Wiederherstellung kann in verschiedenen Szenarien verwendet werden:

  • Schnelles Wiederherstellen der AD FS-Funktionen nach Problemen: Verwenden Sie das Tool für die schnelle Wiederherstellung, um eine verzögert betriebsbereite Installation von AD FS zu erstellen, die schnell anstelle des aktiven AD FS-Servers bereitgestellt werden kann.

  • Bereitstellen identischer Test- und Produktionsumgebungen: Erstellen Sie schnell eine exakte Kopie der AD FS-Produktionsumgebung in einer Testumgebung. Mithilfe des Tools für die schnelle Wiederherstellung kann auch schnell eine überprüfte Testkonfiguration in der Produktion bereitgestellt werden.

  • Migrieren von SQL- und WID-Konfigurationen (Windows Integrated Database, integrierte Windows-Datenbank): Migrieren Sie Ihre Daten mit dem Tool für die schnelle Wiederherstellung, und wechseln Sie zwischen SQL-basierter Farmkonfiguration und WID.

Hinweis

Wenn Sie die SQL-Mergereplikation oder Always On-Verfügbarkeitsgruppen verwenden, wird das Tool für die schnelle Wiederherstellung nicht unterstützt. Es wird empfohlen, SQL-basierte Sicherungen und eine Sicherung des SSL-Zertifikats zu verwenden.

Inhalt der Sicherung

Das Tool für die schnelle Wiederherstellung sichert die folgende AD FS-Konfiguration:

  • AD FS-Konfigurationsdatenbank (SQL oder interne Windows-Datenbank)
  • Konfigurationsdatei (im AD FS-Ordner)
  • Liste der installierten benutzerdefinierten Authentifizierungsanbieter, Attributspeicher und lokalen Anspruchsanbieter-Vertrauensstellungen
  • Automatisch generierte Zertifikate für Tokensignatur und -entschlüsselung sowie private Schlüssel aus dem Active Directory-DKM-Container (Distributed Key Manager)
  • SSL-Zertifikat sowie sämtliche extern registrierten Zertifikate (Tokensignatur, Tokenentschlüsselung und Dienstkommunikation) und entsprechende private Schlüssel

Hinweis

Private Schlüssel müssen exportierbar sein. Benutzer*innen, die das Skript ausführen, müssen über Zugriffsberechtigungen für die Schlüssel verfügen.

Verschlüsseln der Sicherung

Alle Sicherungsdaten werden verschlüsselt, bevor sie in die Cloud gepusht oder im Dateisystem gespeichert werden.

Jedes im Rahmen der Sicherung erstellte Dokument wird mit AES-256 verschlüsselt. Das gegenüber dem Tool für die schnelle Wiederherstellung angegebene Kennwort wird als Passphrase verwendet, um über die Klasse Rfc2898DeriveBytes ein neues Kennwort zu generieren.

Die Klasse RngCryptoServiceProvider generiert das Salt (binäres Blob), das von AES und von der Klasse Rfc2898DeriveBytes verwendet wird.

Erste Schritte

Machen Sie sich zum Einstieg in die Verwendung des AD FS-Tools für die schnelle Wiederherstellung zunächst mit den folgenden System- und Toolanforderungen vertraut:

  • Das Tool kann ab Windows Server 2016 für AD FS verwendet werden.
  • Für das Tool ist mindestens .NET Framework 4.0 erforderlich.
  • Bei Verwendung einer WID muss das Tool auf dem primären AD FS-Server ausgeführt werden. Verwenden Sie das Cmdlet Get-AdfsSyncProperties, um zu überprüfen, ob Ihr Server der primäre Server ist.
  • Eine Wiederherstellung muss auf einem AD FS-Server ausgeführt werden, dessen Version der Version des Sicherungsservers entspricht. Außerdem muss das gleiche Active Directory-Konto als AD FS-Dienstkonto verwendet werden.

Gehen Sie zum Einrichten des Tools wie folgt vor:

  1. Laden Sie hier die MSI-Datei auf Ihren AD FS-Server herunter, und installieren Sie sie.

  2. Führen Sie nach der Installation des Tools an einer PowerShell-Eingabeaufforderung den folgenden Befehl aus:

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

Erstellen von Sicherungen: Backup-ADFS

Verwenden Sie zum Erstellen einer Sicherung das PowerShell-Cmdlet „Backup-ADFS“. Das Sicherungs-Cmdlet sichert AD FS-Konfiguration, Datenbank, SSL-Zertifikate und so weiter.

Überprüfen Sie vor der Verwendung des Sicherungs-Cmdlets die folgenden Zugriffs- und Berechtigungsanforderungen:

  • Als lokale*r Administrator*in ausführen: Zum Ausführen des Sicherungs-Cmdlets müssen Benutzer*innen mindestens lokale Administrator*innen sein.

  • Als Domänenadministrator*in sichern: Zum Sichern des Active Directory-DKM-Containers (in der AD FS-Standardkonfiguration erforderlich) müssen die Benutzerberechtigungen mindestens eines der folgenden Kriterien erfüllen:

    • Die Benutzer*innen müssen Domänenadministrator*innen sein.
    • Die Benutzer*innen müssen die Kontoanmeldeinformationen des AD FS-Diensts übergeben.
    • Die Benutzer*innen müssen Zugriff auf den DKM-Container haben.
  • gMSA-Konto als Domänenadministrator*in verwenden: Für ein über Gruppen verwaltetes Dienstkonto (Group Managed Service Account, gMSA) müssen Benutzer*innen Domänenadministrator*innen sein oder über Berechtigungen für den Container verfügen. Die gMSA-Anmeldeinformationen können nicht von Benutzer*innen angegeben werden.

Parameter für das Cmdlet „Backup-ADFS“

Jede Sicherung wird nach dem Muster adfsBackup_ID_Date-Time benannt. Der Name enthält die Versionsnummer, das Datum und die Uhrzeit der Sicherung.

Hier sehen Sie die Parameter für das Cmdlet „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>]

In der folgenden Liste werden die Parameterdetails für das Cmdlet „Backup-ADFS“ beschrieben:

  • BackupDKM: Sichert den Active Directory-DKM-Container, der die AD FS-Schlüssel in der Standardkonfiguration enthält (automatisch generierte Zertifikate für Tokensignatur und -entschlüsselung). Dieser Ansatz verwendet das Tool ldifde von Microsoft Entra, um den Microsoft Entra-Container und alle seine Unterstrukturen zu exportieren.

  • StorageType <string>: Der Sicherungsspeicherort wird beim Ausführen der Sicherung durch den Benutzer bzw. die Benutzerin ausgewählt:

    • FileSystem gibt an, dass die Sicherung in einem lokalen Ordner oder im Netzwerk gespeichert werden soll. Wenn die Sicherung im Dateisystem gespeichert werden soll, müssen Benutzer*innen folgende Anforderungen erfüllen:

      • Ein Speicherpfad muss angegeben werden.

      Im Pfadverzeichnis wird für jede Sicherung ein neues Verzeichnis erstellt. Jedes erstellte Verzeichnis enthält die gesicherten Dateien.

    • Azure gibt an, dass die Sicherung im Azure Storage-Container gespeichert werden soll. Wenn die Sicherung in der Cloud gespeichert werden soll, müssen Benutzer*innen folgende Anforderungen erfüllen:

      • An das Cmdlet müssen Azure Storage-Anmeldeinformationen übergeben werden. Die Speicheranmeldeinformationen enthalten den Namen und den Schlüssel des Kontos.
      • Außerdem muss ein Containername übergeben werden. Wenn der Container nicht vorhanden ist, wird er während der Sicherung erstellt.
  • EncryptionPassword <string>: Das Kennwort, das zum Verschlüsseln aller gesicherten Dateien verwendet werden soll, bevor sie gespeichert werden.

  • AzureConnectionCredentials <pscredential>: Der Kontoname und der Schlüssel für das Azure-Speicherkonto.

  • AzureStorageContainer <string>: Der Speichercontainer für die Sicherung in Azure.

  • StoragePath <string>: Der Speicherort für die Sicherungen.

  • ServiceAccountCredential <pscredential>: Das Dienstkonto, das für den aktuell ausgeführten AD FS-Dienst verwendet wird. Dieser Parameter wird nur benötigt, wenn Benutzer*innen die den DKM sichern möchten und keine Domänenadministrator*innen sind oder nicht auf den Containerinhalt zugreifen können.

  • BackupComment <string[]>: Eine sicherungsbezogene Informationszeichenfolge, die während der Wiederherstellung angezeigt werden soll. Diese Zeichenfolge ähnelt dem Konzept der Hyper-V-Prüfpunktbenennung. Der Standardwert ist eine leere Zeichenfolge.

Beispiele für Sicherungen

Die folgenden PowerShell-Beispiele veranschaulichen Sicherungsoptionen für eine AD FS-Konfiguration mit dem AD FS-Tool für die schnelle Wiederherstellung und dem Cmdlet „Backup-ADFS“:

Sichern im Dateisystem mit DKM als Domänenadministrator*in

Das folgende Cmdlet sichert die AD FS-Konfiguration unter Verwendung des Parameters -BackupDKM mit dem DKM im Dateisystem. Dieser Ansatz ermöglicht den Zugriff auf den DKM-Containerinhalt als Domänenadministrator*in oder als Benutzer*in mit delegierten Berechtigungen.

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

Sichern im Dateisystem mit DKM als lokale*r Administrator*in

Das folgende Cmdlet sichert die AD FS-Konfiguration ebenfalls mit dem DKM im Dateisystem, verwendet dabei aber einen etwas anderen Ansatz. In dieser Option werden mithilfe des Parameters -ServiceAccountCredential $cred die Anmeldeinformationen des Dienstkontos angegeben, und der Vorgang wird als lokale*r Administrator*in ausgeführt.

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

Sichern im Azure Storage-Container ohne DKM

Das folgende Cmdlet sichert die AD FS-Konfiguration ohne den DKM im Azure Storage-Container. Verwenden Sie den Parameter -AzureStorageContainer "adfsbackups", um den Container anzugeben.

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

Sichern im Dateisystem ohne DKM

Das folgende Cmdlet sichert die AD FS-Konfiguration ohne den DKM im Dateisystem. Beachten Sie, dass der Parameter -BackupDKM nicht angegeben ist.

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

Wiederherstellen von Sicherungen: Restore-ADFS

Wenn Sie eine mithilfe des Cmdlets „Backup-ADFS“ erstellte Konfiguration auf eine neue AD FS-Installation anwenden möchten, verwenden Sie das Cmdlet „Restore-ADFS“. Das Wiederherstellungs-Cmdlet erstellt mithilfe des Cmdlets Install-AdfsFarm eine neue AD FS-Farm und stellt die AD FS-Konfiguration, die Datenbank, die Zertifikate usw. wieder her.

Das Wiederherstellungs-Cmdlet überprüft den Wiederherstellungsspeicherort auf bereits vorhandene Sicherungen. Benutzer*innen werden aufgefordert, anhand von Datum und Uhrzeit der Erstellung sowie anhand von ggf. angefügten Kommentaren eine geeignete Sicherung auszuwählen. Sind mehrere AD FS-Konfigurationen mit unterschiedlichen Verbunddienstnamen vorhanden, werden Benutzer*innen zunächst aufgefordert, die entsprechende AD FS-Konfiguration auszuwählen.

Überprüfen Sie vor der Verwendung des Wiederherstellungs-Cmdlets die folgenden Anforderungen:

  • Wenn die AD FS-Rolle nicht auf dem Server installiert ist, wird sie vom Cmdlet installiert.
  • Benutzer*innen müssen sowohl lokale*r Administrator*in als auch Domänenadministrator*in sein, um dieses Cmdlet ausführen zu können.

Wichtig

Stellen Sie sicher, dass der Server in die Domäne eingebunden ist, bevor Sie das AD FS-Tool für die schnelle Wiederherstellung verwenden, um eine Sicherung wiederherzustellen.

Parameter für das Cmdlet „Restore-ADFS“

Hier sehen Sie die Parameter für das Cmdlet „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>]

In der folgenden Liste werden die Parameterdetails für das Cmdlet „Restore-ADFS“ beschrieben:

  • StorageType <string>: Der zu verwendende Speichertyp:

    • Mit FileSystem wird die Sicherung in einem lokalen Ordner oder im Netzwerk gespeichert.
    • Mit Azure wird die Sicherung im Azure Storage-Container gespeichert.
  • DecryptionPassword <string>: Das Kennwort für die Verschlüsselung aller gesicherten Dateien.

  • AzureConnectionCredentials <pscredential>: Der Kontoname und der Schlüssel für das Azure-Speicherkonto.

  • AzureStorageContainer <string>: Der Speichercontainer zum Speichern der Sicherung in Azure.

  • StoragePath <string>: Der Speicherort für die Sicherung.

  • ADFSName <string>: Der Name des Verbunds, der gesichert wurde und jetzt wiederhergestellt werden soll.

    • Wenn kein Name angegeben wird und nur ein einzelner Verbunddienstname vorhanden ist, wird dieser Verbunddienstname verwendet.
    • Wurden an dem Speicherort mehrere Verbunddienste gesichert, wird der Benutzer bzw. die Benutzerin aufgefordert, einen gesicherten Verbunddienst auszuwählen.
  • ServiceAccountCredential <pscredential>: Gibt das Dienstkonto an, das für den neuen AD FS-Dienst verwendet werden soll, der wiederhergestellt wird.

  • GroupServiceAccountIdentifier <string>: Das gMSA, das für den neuen AD FS-Dienst verwendet werden soll, der wiederhergestellt wird.

    • Ist kein Wert angegeben, wird standardmäßig der Name des gesicherten Kontos verwendet, wenn es sich bei dem Konto um ein gMSA handelt.
    • Wenn kein Wert angegeben ist und es sich nicht um ein gMSA handelt, werden Benutzer*innen zur Angabe eines Dienstkontos aufgefordert.
  • DBConnectionString <string>: Wenn Sie eine andere Datenbank für die Wiederherstellung verwenden möchten, können Sie die SQL-Verbindungszeichenfolge angeben oder „WID“ eingeben.

  • Force <bool>: Überspringt alle Eingabeaufforderungen des Tools, nachdem der Sicherungsprozess ausgewählt wurde.

  • RestoreDKM <bool>: Stellt den DKM-Container in Active Directory wieder her. Legen Sie diese Option fest, wenn Sie eine Wiederherstellung in einer neuen Active Directory-Instanz durchführen und der DKM anfänglich gesichert wurde.

Beispiele für Wiederherstellungen

Die folgenden PowerShell-Beispiele veranschaulichen Wiederherstellungsoptionen für eine AD FS-Konfiguration mit dem AD FS-Tool für die schnelle Wiederherstellung und dem Cmdlet „Restore-ADFS“:

Wiederherstellen im Dateisystem mit DKM als Domänenadministrator*in

Das folgende Cmdlet stellt die AD FS-Konfiguration unter Verwendung des Parameters -RestoreDKM mit dem DKM im Dateisystem wieder her.

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

Wiederherstellen im Dateisystem ohne DKM

Das folgende Cmdlet stellt die AD FS-Konfiguration ohne den DKM im Dateisystem wieder her. Beachten Sie, dass der Parameter -RestoreDKM nicht angegeben ist.

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

Wiederherstellen im Azure Storage-Container ohne DKM

Das folgende Cmdlet stellt die AD FS-Konfiguration ohne den DKM im Azure Storage-Container wieder her. Verwenden Sie den Parameter -AzureStorageContainer "adfsbackups", um den Container anzugeben.

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

Wiederherstellen in WID

Das folgende Cmdlet stellt die AD FS-Konfiguration in WID wieder her. Beachten Sie den an den Parameter -DBConnectionString übergebenen Wert WID.

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

Wiederherstellen in SQL

Das folgende Cmdlet stellt die AD FS-Konfiguration in SQL wieder her. Beachten Sie die an den Parameter -DBConnectionString übergebenen Werte Data Source und Integrated Security.

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

Wiederherstellungen mit angegebenem gMSA

Das folgende Cmdlet stellt die AD FS-Konfiguration wieder her und verwendet ein angegebenes gMSA. Beachten Sie die Verwendung des Parameters -GroupServiceAccountIdentifier.

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

Wiederherstellen mit angegebenen Dienstkonto-Anmeldeinformationen

Das folgende Cmdlet stellt die AD FS-Konfiguration wieder her und verwendet die angegebenen Dienstkonto-Anmeldeinformationen. Beachten Sie die Verwendung des Parameters -ServiceAccountCredential.

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

Protokolldateien

Für jeden Sicherungs- und Wiederherstellungsvorgang wird eine Protokolldatei erstellt. Die Protokolldateien befinden sich unter %LOCALAPPDATA%\ADFSRapidRecreationTool.

Hinweis

Wenn Sie eine Wiederherstellung durchführen, wird möglicherweise eine Datei namens PostRestore_Instructions erstellt. Diese Datei enthält eine Übersicht über die zusätzlichen Daten oder Dienste, die vor dem Starten des AD FS-Diensts manuell installiert werden müssen. Die Datei gibt die Authentifizierungsanbieter, Attributspeicher und lokalen Anspruchsanbieter-Vertrauensstellungen an.

Versionsverlauf

Die folgenden Abschnitte enthalten Versionsdetails für das AD FS-Tool für die schnelle Wiederherstellung:

Version 2.0.2464.1

Release: Dezember 2023

Behobene Probleme:

  • Fehlerkorrektur: Unterscheiden von CNG- und CSP-Schlüsseln während der Wiederherstellung

Version 1.0.82.3

Veröffentlichung: April 2020

Behobene Probleme:

  • Unterstützung für CNG-basierte Zertifikate hinzugefügt

Version 1.0.82.0

Veröffentlichung: Juli 2019

Behobene Probleme:

  • Fehlerkorrektur für AD FS-Dienstkontonamen, die LDAP-Escapezeichen enthalten

Version 1.0.81.0

Veröffentlichung: April 2019

Behobene Probleme:

  • Fehlerkorrekturen für die Zertifikatsicherung und -wiederherstellung
  • Weitere Ablaufverfolgungsinformationen zur Protokolldatei hinzugefügt

Version 1.0.75.0

Veröffentlichung: August 2018

Behobene Probleme:

  • Das Cmdlet „Backup-ADFS“ wurde für den Switch „-BackupDKM“ aktualisiert. Das Tool ermittelt, ob der aktuelle Kontext Zugriff auf den DKM-Container hat. Ist Zugriff verfügbar, benötigt das Tool keine Domänenadministratorberechtigungen oder Dienstkonto-Anmeldeinformationen. Dieses Update ermöglicht automatisierte Sicherungen, bei denen Benutzer*innen nicht explizit Anmeldeinformationen angeben oder den Vorgang als Domänenadministratorkonto ausführen müssen.

Version 1.0.73.0

Veröffentlichung: August 2018

Behobene Probleme:

  • Verschlüsselungsalgorithmen aktualisiert, um die Anwendung FIPS-konform zu machen

    Wichtig

    Altere Sicherungen können aufgrund von Änderungen an den Verschlüsselungsalgorithmen für die FIPS-Konformität nicht mit der neuesten Version des Tools verwendet werden.

  • Unterstützung für SQL-Cluster hinzugefügt, die die Mergereplikation verwenden

Version 1.0.72.0

Veröffentlichung: Juli 2018

Behobene Probleme:

  • Fehlerkorrektur: MSI-Installationsprogramms zur Unterstützung direkter Upgrades korrigiert

Version 1.0.18.0

Veröffentlichung: Juli 2018

Behobene Probleme:

  • Fehlerkorrektur: Behandlung von Dienstkontokennwörtern mit Sonderzeichen ('&')
  • Fehlerkorrektur: Problemen im Zusammenhang mit Wiederherstellungsfehlern behoben, die auftreten, wenn „Microsoft.IdentityServer.Servicehost.exe.config“ von einem anderen Prozess verwendet wird

Version 1.0.0.0

Release: Oktober 2016

Erstveröffentlichung des AD FS-Tools für die schnelle Wiederherstellung