フェデレーション サービスは、Active Directory フェデレーション サービス (AD FS) の役割サービスの 1 つで、AD FS の他の役割サービスとは別にインストールできます。フェデレーション サービスは、セキュリティ トークン サービスとして機能します。コンピューター上にフェデレーション サービス役割サービスをインストールすることにより、そのコンピューターはフェデレーション サーバーとなります。またそのコンピューターでは、[管理ツール] メニューから Active Directory フェデレーション サービス スナップインを利用できるようになります。AD FS スナップインの詳細については、「Active Directory フェデレーション サービス スナップインを使用する」を参照してください。

フェデレーション サービスは、Active Directory ドメイン サービス (AD DS) を使用して、セキュリティ トークンの要求に対する応答でトークンを提供するように設計されています。これにより、Active Directory のドメインとフォレストが次のように機能します。

  • 準拠アカウント パートナーおよびリソース パートナーのフェデレーション対象となることができる ID プロバイダー。ID プロバイダーとしてのフェデレーション サービスでは、インターネット全体にわたって Active Directory ID を予測し、準拠サービス プロバイダーでアプリケーションとの対話を行うことができます。

  • 準拠アカウント パートナーおよびリソース パートナーのフェデレーション対象となることができるサービス プロバイダー。サービス プロバイダーとしてのフェデレーション サービスでは、別の組織からの ID に対して、パートナーの Windows ベースのアプリケーションと ASP.NET ベースのアプリケーションへのアクセスを許可できます。

  • WS-Federation のパッシブな要求側プロファイル (WS-F PRP) 仕様に準拠するアプリケーション向けのセキュリティ トークン プロバイダー。

アカウント パートナーとしてのフェデレーション サービスでは、ユーザーは、パートナー組織にあるリソースへアクセスできます。リソース パートナーからの要求に対して応答するとき、フェデレーション サービスでは、AD DS と照合して、または Active Directory ライトウェイト ディレクトリ サービス (AD LDS) のインスタンスと照合して、ユーザー資格情報の収集と検証が行われます。フェデレーション サービスでは、ユーザー アカウントのライトウェイト ディレクトリ アクセス プロトコル (LDAP) 属性に基づいて、組織の要求のセットが生成されます。次に、組織の要求はリソース パートナーに対する適切な要求にマップされ、フェデレーション サービスのトークン署名証明書によって署名されているセキュリティ トークンにパッケージされます。作成されたセキュリティ トークンは、リソース パートナーの元の要求に対する応答として送信されます。その後、リソース パートナーはこのトークンを使用して、ユーザーにアクセスを許可します。

リソース パートナーとしてのフェデレーション サービスは、これと反対の役割を果たします。ユーザーが AD FS で保護されたアプリケーションにアクセスしようとすると、フェデレーション サービスでは、どのアカウント パートナーがユーザーを認証するかを判断します。そして、そのパートナーに認証要求を送信します。ユーザーがセキュリティ トークンを提示すると、フェデレーション サービスでは、そのトークンがパートナーによって正しく署名されているかどうかが確認されます。そして、トークンから要求を抽出します。要求は組織の要求にマップされ、特定のアプリケーションに対するフィルター ポリシーが適用されます。フィルターされた組織の要求は、フェデレーション サービスのトークン署名証明書によって署名されているセキュリティ トークン、または Web アプリケーションの Kerberos セッション キーによって保護されているセキュリティ トークンにパッケージされます。作成されたセキュリティ トークンは、元のアプリケーションの Uniform Resource Locator (URL) に再度送信されます。アプリケーションはこのトークンを使用して、ユーザーにアクセスを許可します。

AD FS では、WS-F PRP プロトコルを利用し、フェデレーション サービスから Web アプリケーションへ発行されるセキュリティ トークンを使用して要求が伝送されます。WS-F PRP 仕様の詳細については、「AD FS の参照情報」を参照してください。

これらの要求は最初、AD DS アカウント ストア、または AD LDS アカウント ストアのいずれかのアカウント ストアから生成されます。フェデレーション サービスでは、提供される資格情報に基づいて、トークンが発行されます。アカウント ストアによってユーザーの資格情報が検証された後、信頼ポリシーの規則に従って、ユーザーに対する要求が生成されます。フェデレーション サービスでは、入力方向の要求が、リソース パートナーに適した出力方向の要求にマップされます。作成される要求マッピングは、リソース パートナーへ発行されるセキュリティ トークンに追加されます。要求の詳細については、「要求とは」を参照してください。

フェデレーション サービスによってトークンが検証された後、認証 Cookie が発行され、クライアント ブラウザーに書き込まれます。クライアントの認証が必要となるたびに、そのクライアントが資格情報を再入力しないで済むように、フェデレーション サービスではこの Cookie が使用されます。これにより、シングル サインオン (SSO) が可能になります。Cookie の詳細については、「AD FS で使用される Cookie とは」を参照してください。

フェデレーション サービス Web ページ

フェデレーション サービスでは、ユーザーが認証できる適切なアカウント パートナーの選択を要求する Web ページが提供されます。またフェデレーション サービスでは、フォーム ベースの認証のために、ユーザー名やパスワードなどのユーザーの資格情報の入力を要求する Web ページも提供されます。Windows 統合認証をサポートしている Web ページも提供されます。

Web ページのバックグラウンドでは、フェデレーション サービスによって、クライアントからの要求またはフェデレーション サーバー プロキシからの要求を処理する Microsoft ASP.NET Web サービスが実行されます。フェデレーション サーバー プロキシは、境界ネットワーク内にあります。このプロキシは、インターネット クライアントとイントラネット内のフェデレーション サービスとの間の仲介者として動作します。フェデレーション サーバー プロキシの役割の詳細については、「フェデレーション サービス プロキシ役割サービスとは」を参照してください。

フェデレーション サービスが応答する要求には、次の 2 つの基本的な種類があります。

  • セキュリティ トークンの発行を求める要求

  • 信頼ポリシー データの取得を求める要求

アカウント パートナーの検出

アカウント パートナーの検出とは、複数のアカウント パートナーが構成されている場合、ユーザーが認証のためにどのアカウント パートナーを優先するかを特定できるプロセスです。フェデレーション サーバーによってアカウント パートナーの選択肢がクライアント ブラウザーに提供されます。この選択肢は、信頼ポリシーで構成されているとおりのアカウント パートナー名を含むドロップ ボックスとして利用できます。

アカウント パートナーの検出を回避するためのメカニズムの 1 つとして、アクセスされるリソースに対するクエリ文字列に whr パラメーターを含める方法があります。例を次に示します。

https://webserver/testapp/testpage.aspx?whr=urn:federation:<accountpartner>

ここで、<accountpartner> は、クライアントのアカウント パートナー領域を示します。

whr パラメーターを使用した場合、リソース フェデレーション サーバーではこのパラメーターが削除され、今後の要求に備えてこの設定を記録しておくために、Cookie がクライアント ブラウザーに書き込まれます。その後、要求はパラメーターが提供されなかった場合と同じ方法で処理されます。


目次