フェデレーション サーバー ファームのサービス アカウントを手動で構成する

Active Directory フェデレーション サービス (AD FS) でフェデレーション サーバー ファーム環境を構成する場合は、ファームを常駐させる Active Directory ドメイン サービス (AD DS) 内で専用のサービス アカウントを作成して構成する必要があります。 次に、このアカウントを使用するために、ファーム内の各フェデレーション サーバーを構成します。 企業ネットワーク上のクライアント コンピューターが Windows 統合認証を使って AD FS ファーム内の任意のフェデレーション サーバーの認証を受けることができるようにする場合は、次のタスクを実行する必要があります。

重要

AD FS 3.0 (Windows Server 2012 R2) の時点で、AD FS は、サービス アカウントとしてグループの管理されたサービス アカウント (gMSA) を使用することをサポートします。 サービス アカウント パスワードを継続的に管理する必要がなくなるため、これは推奨されるオプションです。 このドキュメントでは、Windows Server 2008 R2 以前のドメインの機能レベル (DFL) をまだ実行しているドメインなどで、従来のサービス アカウントを使用する代替のケースについて説明します。

注意

この手順のタスクは、フェデレーション サーバー ファーム全体で 1 回のみ実行する必要があります。 後になって、AD FS フェデレーション サーバーの構成ウィザードを使ってフェデレーション サーバーを作成する場合、ファーム内のフェデレーション サーバーごとに、[サービス アカウント] ウィザード ページでこれと同じアカウントを指定する必要があります。

専用のサービス アカウントを作成する

  1. ID プロバイダー組織に配置されている Active Directory フォレスト内で専用のユーザー/サービス アカウントを作成します。 このアカウントは、ファーム シナリオで Kerberos 認証プロトコルが動作できるようにするため、および各フェデレーション サーバー上でパススルー認証を行えるようにするために必要です。 このアカウントはフェデレーション サーバー ファームの目的でのみ使用します。

  2. ユーザー アカウントのプロパティを編集し、[パスワードを無期限にする] チェック ボックスをオンにします。 この操作によって、ドメイン パスワードの変更要件によってサービス アカウントの機能が中断されることはなくなります。

    注意

    この専用アカウントの Network Service アカウントを使用する場合、Windows 統合認証経由でアクセスを試みると、ランダムに失敗する結果となります。これは、Kerberos チケットがサーバー間で検証されないことが原因です。

サービス アカウントの SPN を設定するには

  1. AD FS AppPool のアプリケーション プール ID はドメイン ユーザー/サービス アカウントとして実行されるので、Setspn.exe コマンドライン ツールを使って、ドメイン内のそのアカウントのサービス プリンシパル名 (SPN) を構成する必要があります。 Setspn.exe は Windows Server 2008 搭載コンピューターに既定でインストールされています。 ユーザー/サービス アカウントが常駐する同じドメインに参加させるコンピューター上で次のコマンドを実行します。

    setspn -a host/<server name> <service account>
    

    たとえば、すべてのフェデレーション サーバーをドメイン ネーム システム (DNS) ホスト名 fs.fabrikam.com でクラスター化し、AD FS AppPool に割り当てるサービス アカウント名を adfs2farm にするシナリオでは、次のようにコマンドを入力し、Enter キーを押します。

    setspn -a host/fs.fabrikam.com adfs2farm
    

    このタスクはこのアカウントについて 1 回だけ実行する必要があります。

  2. AD FS AppPool ID がサービス アカウントに変更されたら、この新しいアカウントへの読み取りアクセスを許可するために SQL Server データベースのアクセス制御リストを設定します。これで AD FS AppPool はポリシー データを読み取ることができるようになります。