次の方法で共有


Active Directory フェデレーション サービスの高速復元ツール

Active Directory フェデレーション サービス (AD FS) は、AD FS ファームを設定することで高可用性を実現します。 一部の組織では、複数の AD FS サーバーとネットワーク負荷分散インフラストラクチャの必要性を排除するために、単一サーバーの AD FS 展開を好みます。 このアプローチは、潜在的な問題を解決した後にサービスを迅速に復元するのに役立ちます。

AD FS Rapid Restore ツールを使用すると、オペレーティング システムまたはシステムの状態の完全バックアップと復元を必要とせずに AD FS データを復元できます。 このツールを使用して、AD FS 構成を Azure またはオンプレミスの場所にエクスポートします。 エクスポートしたデータを新しい AD FS インストールに適用し、AD FS 環境を再作成または複製できます。

ユース ケース シナリオ

AD FS Rapid Restore ツールは、さまざまなシナリオで使用できます。

  • 問題が発生した後、AD FS の機能をすばやく復元します。 Rapid Restore ツールを使用して、オンライン AD FS サーバーの代わりに迅速に展開できる AD FS のコールド スタンバイ インストールを作成します。

  • 同じテスト環境と運用環境をデプロイします。 テスト環境で運用 AD FS の正確なコピーをすばやく作成します。 また、Rapid Restore ツールを使用して、検証済みのテスト構成を運用環境に迅速にデプロイすることもできます。

  • SQL および Windows 統合データベース (WID) 構成を移行します。 Rapid Restore ツールを使用してデータを移行し、SQL ベースのファーム構成から WID またはその逆に移行します。

SQL マージ レプリケーションまたは Always on 可用性グループを使用する場合、高速復元ツールはサポートされていません。 SQL ベースのバックアップと SSL 証明書のバックアップをお勧めします。

バックアップの内容

Rapid Restore ツールは、次の AD FS 構成をバックアップします。

  • AD FS 構成データベース (SQL または WID)
  • 構成ファイル (AD FS フォルダーにあります)
  • インストールされているカスタム認証プロバイダー、属性ストア、およびローカルクレームプロバイダーの信頼の一覧
  • Active Directory 分散キー マネージャー (DKM) コンテナーから自動的に生成されたトークン署名と証明書と秘密キーの暗号化解除
  • SSL 証明書および外部に登録された証明書 (トークン署名、トークンの暗号化解除、サービス通信) および対応する秘密キー

秘密キーはエクスポート可能である必要があります。 スクリプトを実行しているユーザーには、キーにアクセスするためのアクセス許可が必要です。

バックアップの暗号化

すべてのバックアップ データは、クラウドにプッシュされる前、またはファイル システムに格納される前に暗号化されます。

バックアップの一部として作成された各ドキュメントは、AES-256 を使用して暗号化されます。 Rapid Restore ツールに指定されたパスワードは、 Rfc2898DeriveBytes クラスを介して新しいパスワードを生成するためのパス フレーズとして使用されます。

RngCryptoServiceProvider クラスは、AES と Rfc2898DeriveBytes クラスで使用される salt (バイナリ BLOB) を生成します。

始めましょう

AD FS Rapid Restore ツールの使用を開始するには、まず、次のシステムとツールの要件を確認します。

  • このツールは、Windows Server 2016 以降の AD FS で動作します。
  • このツールには.NET Framework 4.6 以降が必要です。
  • WID を使用する場合は、プライマリ AD FS サーバーでツールを実行する必要があります。 Get-AdfsSyncProperties コマンドレットを使用して、サーバーがプライマリ サーバーであるかどうかを確認します。
  • 復元は、バックアップ サーバーと同じバージョンの AD FS サーバーで実行し、AD FS サービス アカウントと同じ Active Directory アカウントを使用する必要があります。

ツールを設定するには、次の手順に従います。

  1. MSI をダウンロードして AD FS サーバーにインストールします。

  2. ツールをインストールしたら、PowerShell プロンプトから次のコマンドを実行します。

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

バックアップの作成: Backup-ADFS

バックアップを作成するには、Backup-ADFS PowerShell コマンドレットを使用します。 バックアップ コマンドレットは、AD FS の構成、データベース、SSL 証明書などをバックアップします。

バックアップ コマンドレットを使用する前に、次のアクセスとアクセス許可の要件を確認します。

  • ローカル管理者として実行します。バックアップ コマンドレットを実行するには、ユーザーが少なくともローカル管理者である必要があります。

  • ドメイン管理者としてバックアップします。Active Directory DKM コンテナー (既定の AD FS 構成で必要) をバックアップするには、ユーザー特権が次の条件の 1 つ以上を満たす必要があります。

    • ユーザーはドメイン管理者である必要があります。
    • ユーザーは、AD FS サービス アカウントの資格情報を渡す必要があります。
    • ユーザーは DKM コンテナーにアクセスできる必要があります。
  • ドメイン管理者として gMSA アカウントを使用します。グループ管理サービス アカウント (gMSA) の場合、ユーザーはドメイン管理者であるか、コンテナーへのアクセス許可を持っている必要があります。 ユーザーは gMSA 資格情報を指定できません。

コマンドレット パラメーター Backup-ADFS

各バックアップには、パターン adfsBackup_ID_Date-Timeに従って名前が付けられます。 名前には、バックアップのバージョン番号、日付、時刻が含まれます。

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>]

次の一覧では、Backup-ADFS コマンドレットのパラメーターの詳細について説明します。

  • BackupDKM: 既定の構成で AD FS キーを含む Active Directory DKM コンテナーをバックアップします (自動的に生成されたトークン署名と証明書の暗号化解除)。 この方法では、Microsoft Entra ldifde ツールを使用して、Microsoft Entra コンテナーとそのすべてのサブツリーをエクスポートします。

  • StorageType <string>: ユーザーがバックアップを実行するときに、バックアップの場所を選択します。

    • FileSystem は、ユーザーがバックアップをローカル フォルダーまたはネットワークに格納することを示します。 ファイル システムにバックアップを格納するには、ユーザーが次の要件を満たす必要があります。

      • ストレージ パスを指定する必要があります。

      パス ディレクトリには、バックアップごとに新しいディレクトリが作成されます。 作成された各ディレクトリには、バックアップされたファイルが含まれています。

    • Azure は、ユーザーがバックアップを Azure Storage コンテナーに格納することを示します。 バックアップをクラウドに格納するには、ユーザーが次の要件を満たす必要があります。

      • Azure Storage の資格情報をコマンドレットに渡す必要があります。 ストレージ資格情報には、アカウント名とキーが含まれています。
      • コンテナー名も渡す必要があります。 コンテナーが存在しない場合は、バックアップ中に作成されます。
  • EncryptionPassword <string>: バックアップされたすべてのファイルを保存する前に暗号化するために使用するパスワード。

  • AzureConnectionCredentials <pscredential>: Azure ストレージ アカウントのアカウント名とキー。

  • AzureStorageContainer <string>: Azure のバックアップ用のストレージ コンテナー。

  • StoragePath <string>: バックアップの保存場所。

  • ServiceAccountCredential <pscredential>: 現在実行中の AD FS サービスに使用されるサービス アカウント。 このパラメーターは、ユーザーが DKM をバックアップする必要があり、ドメイン管理者ではない場合、またはコンテナーの内容にアクセスできない場合にのみ必要です。

  • BackupComment <string[]>: 復元中に表示するバックアップに関する情報文字列。 この文字列は、チェックポイントの名前付けの概念 Hyper-V 似ています。 既定値は空の文字列です。

バックアップの例

次の PowerShell の例は、AD FS Rapid Restore ツールと Backup-ADFS コマンドレットを使用した AD FS 構成のバックアップ オプションを示しています。

ドメイン管理者として DKM を使用してファイル システムにバックアップする

次のコマンドレットは、 -BackupDKM パラメーターを使用して、DKM を使用して AD FS 構成をファイル システムにバックアップします。 この方法では、ドメイン管理者または委任されたアクセス許可を持つユーザーとして、DKM コンテナーの内容にアクセスできます。

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

ローカル管理者として DKM を使用してファイル システムにバックアップする

次のコマンドレットは、DKM を使用して AD FS 構成をファイル システムにバックアップしますが、少し異なる方法を使用します。 このオプションでは、 -ServiceAccountCredential $cred パラメーターを使用してサービス アカウントの資格情報を指定し、ローカル管理者として操作を実行します。

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

DKM を使用せずに Azure Storage コンテナーにバックアップする

次のコマンドレットは、DKM を使用せずに、AD FS 構成を Azure Storage コンテナーにバックアップします。 コンテナーを指定するには、 -AzureStorageContainer "adfsbackups" パラメーターを使用します。

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

DKM を使用せずにファイル システムにバックアップする

次のコマンドレットは、DKM を使用せずに、AD FS 構成をファイル システムにバックアップします。 -BackupDKM パラメーターが指定されていないことに注意してください。

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

バックアップの復元: Restore-ADFS

Backup-ADFS コマンドレットを使用して作成した構成を新しい AD FS インストールに適用するには、Restore-ADFS コマンドレットを使用します。 復元コマンドレットは、 Install-AdfsFarm コマンドレットを使用して新しい AD FS ファームを作成し、AD FS の構成、データベース、証明書などを復元します。

復元コマンドレットは、既存のバックアップの復元場所を確認します。 このコマンドレットは、取得された日時と、ユーザーがバックアップにアタッチした可能性があるバックアップ コメントに基づいて、適切なバックアップを選択するようユーザーに求めます。 フェデレーション サービス名が異なる複数の AD FS 構成がある場合、ユーザーは最初に適切な AD FS 構成を選択するように求められます。

復元コマンドレットを使用する前に、次の要件を確認してください。

  • AD FS ロールがサーバーにインストールされていない場合、コマンドレットによってロールがインストールされます。
  • このコマンドレットを実行するには、ユーザーがローカル管理者とドメイン管理者の両方である必要があります。

重要

AD FS Rapid Restore ツールを使用してバックアップを復元する前に、サーバーがドメインに参加していることを確認してください。

コマンドレット パラメーター Restore-ADFS

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>]

次の一覧では、Restore-ADFS コマンドレットのパラメーターの詳細について説明します。

  • StorageType <string>: 使用するストレージの種類:

    • FileSystem は、バックアップをローカル フォルダーまたはネットワークに格納します。
    • Azure では、バックアップが Azure Storage コンテナーに格納されます。
  • DecryptionPassword <string>: バックアップされたすべてのファイルを暗号化するために使用されるパスワード。

  • AzureConnectionCredentials <pscredential>: Azure ストレージ アカウントのアカウント名とキー。

  • AzureStorageContainer <string>: Azure にバックアップを格納するストレージ コンテナー。

  • StoragePath <string>: バックアップの保存場所。

  • ADFSName <string>: バックアップされた、今から復元するフェデレーションの名前。

    • 名前が指定されておらず、フェデレーション サービス名が 1 つだけ存在する場合は、そのフェデレーション サービス名が使用されます。
    • 複数のフェデレーション サービスが場所にバックアップされている場合、ユーザーはバックアップされたフェデレーション サービスを選択するように求められます。
  • ServiceAccountCredential <pscredential>: 復元する新しい AD FS サービスに使用するサービス アカウントを指定します。

  • GroupServiceAccountIdentifier <string>: 復元される新しい AD FS サービスにユーザーが使用する gMSA。

    • 既定では、値が指定されていない場合、アカウントが gMSA の場合、バックアップされたアカウント名が使用されます。
    • 値が指定されておらず、アカウントが gMSA でない場合、ユーザーはサービス アカウントの指定を求められます。
  • DBConnectionString <string>: 復元に別のデータベースを使用するには、SQL 接続文字列を指定するか、「WID」と入力します。

  • Force <bool>: バックアップ プロセスを選択した後、ツールからプロンプトをスキップします。

  • RestoreDKM <bool>: DKM コンテナーを Active Directory に復元します。 新しい Active Directory に復元し、DKM が最初にバックアップされたときに、このオプションを設定します。

復元の例

次の PowerShell の例は、AD FS Rapid Restore ツールと Restore-ADFS コマンドレットを使用した AD FS 構成の復元オプションを示しています。

ドメイン管理者として DKM を使用してファイル システムに復元する

次のコマンドレットは、 -RestoreDKM パラメーターを使用して、DKM を使用して AD FS 構成をファイル システムに復元します。

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

DKM を使用せずにファイル システムに復元する

次のコマンドレットは、DKM を使用せずに、AD FS 構成をファイル システムに復元します。 -RestoreDKM パラメーターが指定されていないことに注意してください。

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

DKM を使用せずに Azure Storage コンテナーに復元する

次のコマンドレットは、DKM を使用せずに、AD FS 構成を Azure Storage コンテナーに復元します。 コンテナーを指定するには、 -AzureStorageContainer "adfsbackups" パラメーターを使用します。

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

WID に復元する

次のコマンドレットは、AD FS 構成を WID に復元します。 -DBConnectionString パラメーターに渡されたWID値に注目してください。

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

SQL への復元

次のコマンドレットは、AD FS 構成を SQL に復元します。 -DBConnectionString パラメーターに渡されたData Source値とIntegrated Security値に注目してください。

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

指定された gMSA アカウントを使用した復元

次のコマンドレットは、AD FS 構成を復元し、指定された gMSA アカウントを使用します。 -GroupServiceAccountIdentifier パラメーターの使用に注意してください。

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

指定されたサービス アカウント資格情報を使用して復元する

次のコマンドレットは、AD FS 構成を復元し、指定されたサービス アカウントの資格情報を使用します。 -ServiceAccountCredential パラメーターの使用に注意してください。

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

ログ ファイル

バックアップ操作と復元操作ごとにログ ファイルが作成されます。 ログ ファイルは 、\ADFSRapidRecreationTool%LOCALAPPDATA% にあります。

復元を実行すると、 PostRestore_Instructions ファイルが作成される可能性があります。 このファイルには、AD FS サービスを開始する前に手動でインストールする必要がある追加のデータまたはサービスの概要が含まれています。 このファイルは、認証プロバイダー、属性ストア、およびローカルクレームプロバイダーの信頼を指定します。

バージョン リリース履歴

次のセクションでは、AD FS Rapid Restore ツールのバージョンの詳細について説明します。

バージョン 2.0.2464.1

リリース: 2023 年 12 月

修正された問題:

  • バグ修正: 復元中に CNG キーと CSP キーを区別する

バージョン 1.0.82.3

リリース: 2020 年 4 月

修正された問題:

  • CNG ベースの証明書のサポートを追加する

バージョン 1.0.82.0

リリース: 2019 年 7 月

修正された問題:

  • LDAP エスケープ文字を含む AD FS サービス アカウント名のバグ修正

バージョン 1.0.81.0

リリース: 2019 年 4 月

修正された問題:

  • 証明書のバックアップと復元のバグ修正
  • ログ ファイルにトレース情報を追加する

バージョン 1.0.75.0

リリース: 2018 年 8 月

修正された問題:

  • -BackupDKM スイッチの Backup-ADFS コマンドレットを更新します。 ツールは、現在のコンテキストが DKM コンテナーにアクセスできるかどうかを判断します。 アクセスが使用可能な場合、ツールにはドメイン管理者特権やサービス アカウントの資格情報は必要ありません。 この更新により、ユーザーが資格情報を明示的に指定したり、ドメイン管理者アカウントとして操作を実行したりしない自動バックアップが有効になります。

バージョン 1.0.73.0

リリース: 2018 年 8 月

修正された問題:

  • 暗号化アルゴリズムを更新して、アプリケーションが FIPS に準拠していることを確認する

    重要

    FIPS 準拠の暗号化アルゴリズムが変更されたため、以前のバックアップは最新バージョンのツールでは機能しません。

  • マージ レプリケーションを使用する SQL クラスターのサポートを追加する

バージョン 1.0.72.0

リリース: 2018 年 7 月

修正された問題:

  • バグ修正: .MSIインストーラーを修正してインプレース アップグレードをサポートする

バージョン 1.0.18.0

リリース: 2018 年 7 月

修正された問題:

  • バグ修正: サービス アカウントのパスワードを特殊文字 (つまり '>) で処理する
  • バグ修正: Microsoft.IdentityServer.Servicehost.exe.config が別のプロセスで使用されているため、復元エラーに関連する問題を解決する

バージョン 1.0.0.0

リリース: 2016 年 10 月

AD FS Rapid Restore Tool の初期リリース