次の方法で共有


AD FS 構成データベースの役割

AD FS 構成データベースには、Active Directory フェデレーション サービス (AD FS) の単一インスタンス (つまり、フェデレーション サービス) を表すすべての構成データが格納されます。 AD FS 構成データベースは、フェデレーション サービスがパートナー、証明書、属性ストア、クレーム、およびこれらの関連エンティティに関するさまざまなデータを識別するために必要なパラメーターのセットを定義します。 この構成データは、Microsoft SQL Server データベースまたは Windows Server® 2012 以降に含まれる Windows 内部データベース (WID) 機能のいずれかに格納できます。

AD FS 構成データベースの内容全体は、WID のインスタンスまたは SQL データベースのインスタンスに格納できますが、両方に格納することはできません。 つまり、同じ AD FS 構成データベース インスタンスに対して、WID を使用したフェデレーション サーバーと SQL Server データベースを使用したフェデレーション サーバーを併用することはできません。

このトピックの次の情報と 、AD FS 展開トポロジに関する考慮事項 に記載されている内容を使用して、AD FS 構成データベースを格納するために WID または SQL Server を選択する利点と欠点について説明します。

WID はリレーショナル データ ストアを使用し、独自の管理ユーザー インターフェイス (UI) を持っていません。 代わりに、管理者は、AD FS 管理スナップイン、Fsconfig.exe、または Windows PowerShell™ コマンドレットを使用して、AD FS 構成データベースの内容を変更できます。

WID を使用して AD FS 構成データベースを格納する

Fsconfig.exe コマンド ライン ツールまたは AD FS フェデレーション サーバー構成ウィザードを使用して、ストアとして WID を使用して AD FS 構成データベースを作成できます。 これらのツールのいずれかを使用する場合は、次のいずれかのオプションを選択して、フェデレーション サーバー トポロジを作成できます。 これらの各オプションでは、AD FS 構成データベースを格納するために WID が使用されます。

  • スタンドアロン フェデレーション サーバーを作成する

  • フェデレーション サーバー ファームに最初のフェデレーション サーバーを作成する

  • フェデレーション サーバー ファームにフェデレーション サーバーを追加する

スタンドアロン オプションを選択した場合、WID は AD FS 構成データベースの 1 つのインスタンスを格納するために使用されます。 このインスタンスを複数のフェデレーション サーバー間で共有することはできません。 これは、テスト ラボ環境のみを対象としています。 スタンドアロン フェデレーション サーバー オプションまたはセットアップ方法の詳細については、「 WID を使用したフェデレーション サーバーのStand-Alone 」または「 Stand-Alone フェデレーション サーバーの作成」を参照してください。

フェデレーション サーバー ファーム オプションで最初のフェデレーション サーバーを選択した場合、WID はスケーラビリティのために構成され、後で追加のフェデレーション サーバーをファームに追加できるようになります。 WID ファームの展開または設定方法の詳細については、「WID を使用したフェデレーション サーバー ファーム」または「フェデレーション サーバー ファームでの最初のフェデレーション サーバーの作成」を参照してください。

[フェデレーション サーバーの追加] オプションを選択すると、設定された間隔で構成データベースの変更を新しいフェデレーション サーバーにレプリケートするように WID が構成されます。 WID ファームへのフェデレーション サーバーの追加の詳細については、「WID を 使用したフェデレーション サーバー ファーム 」または「 フェデレーション サーバー ファームへのフェデレーション サーバーの追加」を参照してください。

WID を使用してフェデレーション サーバー ファームを展開すると、AD FS の一部の機能が使用できない場合があります。 サーバー ファームを構成するときに完全な機能セットにアクセスできるようにするには、代わりに Microsoft SQL Server を使用して AD FS 構成データベースを格納することを検討してください。 詳細については、「 AD FS 展開トポロジに関する考慮事項」を参照してください

WID フェデレーション サーバー ファームのしくみ

このセクションでは、WID フェデレーション サーバー ファームがプライマリ フェデレーション サーバーとセカンダリ フェデレーション サーバーの間でデータをレプリケートする方法について説明する重要な概念について説明します。 .

プライマリ フェデレーション サーバー

プライマリ フェデレーション サーバーは、AD FS フェデレーション サーバー構成ウィザードを使用してフェデレーション サーバーの役割が構成されており、AD FS 構成データベースの読み取り/書き込みコピーを持つ Windows Server 2012 以降を実行しているコンピューターです。 AD FS フェデレーション サーバー構成ウィザードを使用し、新しいフェデレーション サービスを作成し、そのコンピューターをファーム内の最初のフェデレーション サーバーにするオプションを選択すると、プライマリ フェデレーション サーバーが常に作成されます。 このファーム内の他のすべてのフェデレーション サーバー (セカンダリ フェデレーション サーバーとも呼ばれます) は、プライマリ フェデレーション サーバーで行われた変更を、ローカルに格納されている AD FS 構成データベースのコピーと同期する必要があります。

セカンダリ フェデレーション サーバー

セカンダリ フェデレーション サーバーは、プライマリ フェデレーション サーバーから AD FS 構成データベースのコピーを格納しますが、これらのコピーは読み取り専用です。 セカンダリ フェデレーション サーバーは、定期的にポーリングしてデータが変更されたかどうかを確認することで、ファーム内のプライマリ フェデレーション サーバーに接続し、データを同期します。 セカンダリ フェデレーション サーバーは、プライマリ フェデレーション サーバーのフォールト トレランスを提供し、ネットワーク環境全体のさまざまなサイトで行われるアクセス要求を負荷分散するために機能します。

AD FS 構成データベースの同期方法

AD FS 構成データベースは重要な役割を果たすので、要求の処理時 (ネットワーク ロード バランサーが使用されている場合) にフォールト トレランスと負荷分散機能を提供するために、ネットワーク内のすべてのフェデレーション サーバーで使用できるようになります。 ただし、セカンダリ フェデレーション サーバーがこの容量で機能するためには、プライマリ フェデレーション サーバーに格納されている AD FS 構成データベースを同期する必要があります。

フェデレーション サーバーをファームに追加すると、セカンダリ フェデレーション サーバーになる新しいコンピューターがプライマリ フェデレーション サーバーに接続し、AD FS 構成データベースのコピーをレプリケートします。 この時点から、次の図に示すように、新しいフェデレーション サーバーはプライマリ フェデレーション サーバーから定期的に更新プログラムを引き続きプルします。

AD FS の構成

各セカンダリ フェデレーション サーバーは、プライマリ フェデレーション サーバーを 5 分ごとにポーリングして変更を受け取ります。 Windows PowerShell コマンドレットを使用すると、この既定の 5 分間の値を調整したり、いつでも即時同期を強制したりすることができます。 これを行う方法の詳細については、「 Windows PowerShell を使用した AD FS の管理」を参照してください。

WID 同期プロセスでは、中間の変更をより効率的に転送するための増分転送もサポートされています。 増分転送プロセスでは、ネットワーク上のトラフィックが大幅に少なくなり、転送がはるかに高速に完了します。

AD FS 構成データベースの WID から SQL Server のインスタンスへの移行がサポートされています。 これを行う方法の詳細については、「 AD FS: Ad FS 構成データベースを TechNet Wiki サイトの SQL Server に移行する 」を参照してください。

AD FS 同期プロパティを管理する方法

このセクションでは、AD FS 構成データベース同期プロパティを表示および編集する方法について説明します。 .

Get-ADFSSyncProperties コマンドレットは、Active Directory フェデレーション サービス (AD FS) の構成データベースの同期プロパティを取得します。

PS C:\> Get-ADFSSyncProperties

プライマリ AD FS サーバーでは、このコマンドレットは役割がプライマリ コンピューターであることを示すだけです。 セカンダリ メンバーでは、プライマリ コンピューターからの最終同期の完全修飾ドメイン名、最終同期の状態と時刻、ポーリング期間、現在構成されているプライマリ コンピューター名、プライマリ コンピューター ポート、セカンダリ コンピューターの役割など、構成の残りの部分が表示されます。

Set-ADFSSyncProperties コマンドレットは、Active Directory フェデレーション サービス (AD FS) 構成データベースの同期の頻度を変更します。 また、このコマンドレットでは、フェデレーション サーバー ファーム内のプライマリ サーバーであるフェデレーション サーバーも指定します。

プライマリ フェデレーション サーバーがクラッシュしてオフラインの場合、すべてのセカンダリ フェデレーション サーバーは通常どおり要求を処理し続けます。 ただし、プライマリ フェデレーション サーバーがオンラインに戻されるまで、フェデレーション サービスに新しい変更を加えすることはできません。 Windows PowerShell を使用して、セカンダリ フェデレーション サーバーをプライマリ フェデレーション サーバーとして指名することもできます。 新しいプライマリ サーバーを指定する場合、残りのサーバーは新しいプライマリ サーバーを反映するように変更する必要があります。 WID ファームにプライマリが 2 つあると、ファームの安定性に影響し、データが失われる可能性があります。

ファームのポーリング期間を変更する

PS C:\> Set-AdfsSyncProperties -PollDuration 3600 -PrimaryComputerName "FederationServerPrimary"

このコマンドは、データベース同期を 3600 秒に変更します。 このコマンドは、プライマリ フェデレーション サーバーに変更を行います。

サーバーをセカンダリからプライマリに変更する

PS C:\> Set-AdfsSyncProperties -Role "PrimaryComputer"

このコマンドは、WID ファーム内の AD FS サーバーをセカンダリからプライマリに変更します。

プライマリ サーバーをセカンダリ サーバーに変更する

PS C:\> Set-AdfsSyncProperties -Role "SecondaryComputer" -PrimaryComputerName "<FQDN of primary server>"

このコマンドは、WID ファーム内のプライマリ AD FS サーバーをセカンダリ サーバーに変更します。 プライマリ サーバーの完全修飾ドメイン名を指定する必要があります。 これを行わないと、すべてのセカンダリ AD FS サーバーが正しく同期されない可能性があります。 注: プライマリ サーバーには、セカンダリ サーバーからポート 80 の HTTP 経由でアクセスできる必要があります。

詳細については、「Set-AdfsSyncProperties」を参照してください。

SQL Server を使用した AD FS 構成データベースの格納

Fsconfig.exe コマンド ライン ツールを使用して、単一の SQL Server データベース インスタンスをストアとして使用して AD FS 構成データベースを作成できます。 AD FS 構成データベースとして SQL Server データベースを使用すると、WID よりも次の利点があります。

  • 管理者は SQL Server の高可用性機能を利用できます

  • トラフィックが多い場合は、パフォーマンスが向上します。

  • これは、SAML アーティファクト解決と SAML/WS-Federation トークンリプレイ検出の機能サポートを提供します (後述)。

次の図に示すように、すべてのフェデレーション サーバーが同じクラスター化された SQL Server インスタンスを使用している AD FS 構成データベースに対して均等に読み取りと書き込みを行うことができるため、AD FS 構成データベースが SQL データベース インスタンスに格納されている場合、"プライマリ フェデレーション サーバー" という用語は適用されません。

AD FS の役割

SQL Server を使用して、2 つ以上のサーバーをサーバー クラスターとして連携するように構成し、受信クライアント要求に対して AD FS を高可用性にすることができます。 高可用性は、サーバーを追加することでサーバーの容量を増やすことができるスケールアウト アーキテクチャを提供します。 単一障害点は、クラスターの自動フェールオーバーによって軽減されます。

SQL クラスタリング テクノロジによって提供されるネットワーク負荷分散とフェールオーバー サービスを使用して、高可用性を実現できます。 高可用性のために SQL Server を構成する方法の詳細については、「高可用性ソリューションの 概要」を参照してください。

SAML アーティファクト解決

Security Assertion Markup Language (SAML) アーティファクト解決は、証明書利用者がクレーム プロバイダーからトークンを直接取得する方法を説明する SAML 2.0 プロトコルの一部に基づくエンドポイントです。 解決プロセスの最初の段階では、ブラウザー クライアントがリソース フェデレーション サーバーに接続し、成果物を提供します。 第 2 段階では、リソース フェデレーション サーバーは、アーティファクト メッセージを解決するために、アカウント パートナー組織のどこかでホストされている SAML アーティファクト エンドポイント URL に成果物を送信します。 最後のステージでは、アカウント フェデレーション サーバーがブラウザー クライアントの代わりにフェデレーション サーバーにトークンを発行します。

アカウント パートナー組織の管理者である場合は、Windows ルート証明書プログラムのメンバーのルート証明書にチェーンされている SSL 証明書を、ファーム内のすべてのアカウントフェデレーション サーバー上の IIS (<ComputerName>\Sites\Default Web Site\adfs\ls) のフェデレーション パッシブ Web サイトに割り当てるかバインドしてください。 これは、リソース フェデレーション サーバーが SSL 証明書をローカル コンピューターの信頼されたユーザー証明書ストアに手動で追加したり、組織内で発行された成果物を解決できないようにするために重要です。

SAML/WS - フェデレーション トークンリプレイ検出

トークンリプレイという用語は、アカウント パートナー組織のブラウザー クライアントが、アカウントフェデレーション サーバーから受信したのと同じトークンを複数回送信してリソース フェデレーション サーバーに認証しようとする行為を指します。 この操作は、ユーザーが認証ページを再送信する際にブラウザーの [戻る ] ボタンをクリックしたときに発生します。

AD FS には、同じトークンを使用する複数のトークン要求を検出して破棄できる、トークン 再生検出 と呼ばれる機能が用意されています。 この機能を有効にすると、トークンリプレイ検出では、同じトークンが複数回使用されないようにすることで、WS-Federation パッシブ プロファイルと SAML WebSSO プロファイルの両方の認証要求の整合性が保護されます。 この機能は、キオスクを使用する場合など、セキュリティが非常に高い懸念がある場合に有効にする必要があります。

キオスクの例では、ユーザーはすべての Web サイトからログオフでき、その後、悪意のあるユーザーがブラウザー履歴を使用して、前のユーザーによって読み込まれたフェデレーション認証ページを再送信できます。 この機能は、トークンの後続の再生を検出し、複数の認証試行が成功するのを防ぐために、アカウント パートナー組織によって行われた各認証に関する追加情報を格納することで、この問題を軽減します。