次の方法で共有


イベントとログ記録を使用した Active Directory フェデレーション サービスのトラブルシューティング

Active Directory フェデレーション サービス (AD FS) には、トラブルシューティングに使用できる 2 つのプライマリ ログが用意されています。 これらは次のとおりです。

  • 管理者ログ。
  • Tracelog。

管理者ログを表示する

管理者ログには、発生していて、既定で有効になっている問題に関する概要情報が表示されます。 管理者ログを表示するには:

  1. イベント ビューアーを開きます。

  2. [ アプリケーションとサービス ログ] を展開します。

  3. AD FS を展開します。

  4. [ 管理者] を選択します

    [管理者] オプションが強調表示されているイベント ビューアーのスクリーンショット。

Tracelog を使用する

Tracelog は詳細なメッセージが記録される場所であり、トラブルシューティングの際に最も役立つログです。 多くの Tracelog 情報は短時間で生成できるため、システムのパフォーマンスに影響を与える可能性があるため、ログは既定で無効になっています。

Tracelog を有効にして表示するには

  1. イベント ビューアーを開き、[アプリケーションとサービス ログ] を展開します。

  2. アプリケーションとサービス ログを右クリックし、[表示] を選択します。 次に、[ 分析ログとデバッグ ログの表示] を選択します。 このウィンドウには、さらに多くのノードが表示されます。

    ユーザーがアプリケーションとサービス ログを右クリックし、[分析ログとデバッグ ログの表示] オプションが強調表示された [表示] を選択したことを示すイベント ビューアーのスクリーンショット。

  3. AD FS トレースを展開します

  4. [デバッグ] を右クリックし、[ログの有効化] を選択します。

    [ログを有効にする] オプションが強調表示された状態でユーザーが右クリックした [デバッグ] を示すイベント ビューアーのスクリーンショット。

Windows Server 2016 での AD FS のイベント監査情報

既定では、Windows Server 2016 の AD FS では、基本的なレベルの監査が有効になっています。 基本的な監査では、管理者は 1 つの要求に対して 5 つ以下のイベントを表示します。 この情報により、管理者が 1 つの要求を表示するために確認する必要があるイベントの数が大幅に減少します。 PowerShell コマンドレットを使用して、監査レベルを上げたり下げたりすることができます。

Set-AdfsProperties -AuditLevel

次の表では、使用可能な監査レベルについて説明します。

監査レベル PowerShell 構文 説明
無し Set-AdfsProperties -AuditLevel なし 監査は無効になっており、イベントはログに記録されません。
Basic (既定値) Set-AdfsProperties -AuditLevel ベーシック 1 つの要求に対してログに記録されるイベントは 5 つ以下です。
詳細 Set-AdfsProperties -AuditLevel 詳細 すべてのイベントがログに記録されます。 このレベルでは、要求ごとに大量の情報がログに記録されます。

現在の監査レベルを表示するには、PowerShell コマンドレット ( Get-AdfsProperties) を使用します。

監査レベル プロパティが呼び出された Get-AdfsProperties コマンドレットの結果を示す PowerShell ウィンドウのスクリーンショット。

PowerShell コマンドレット ( Set-AdfsProperties -AuditLevel) を使用して、監査レベルを上げたり下げたりすることができます。

コマンド プロンプトに入力された Set-AdfsProperties -AuditLevel Verbose コマンドレットを示す PowerShell ウィンドウのスクリーンショット。

イベントの種類

AD FS イベントの種類は、AD FS によって処理される要求の種類によって異なります。 イベントの種類ごとに、特定のデータが関連付けられています。 イベントの種類は、ログイン要求とシステム要求の間で区別できます。 ログイン要求はトークン要求である可能性があり、システム要求はサーバーとサーバーの呼び出し (構成情報のフェッチを含む) である可能性があります。

次の表では、基本的な種類のイベントについて説明します。

イベントの種類 イベント ID 説明
資格情報の新規検証が成功しました 1202 フェデレーション サービスが新しい資格情報を正常に検証する要求。 このイベントには、WS-Trust、WS-Federation、SAML-P (SSO を生成するための最初のレグ)、OAuth 承認エンドポイントが含まれます。
新しい資格情報の検証エラー 1203 フェデレーション サービスで新しい資格情報の検証が失敗したリクエスト。 このイベントには、WS-Trust、WS-Fed、SAML-P (SSO を生成するための最初のレグ)、OAuth 承認エンドポイントが含まれます。
アプリケーション トークンの成功 1200 フェデレーション サービスがセキュリティ トークンを正常に発行する要求。 WS-Federation と SAML-P の場合、このイベントは、SSO アーティファクト (SSO Cookie など) を使用して要求が処理されるときにログに記録されます。
アプリケーション トークンエラー 1201 フェデレーション サービスでセキュリティ トークンの発行に失敗した要求。 WS-Federation と SAML-P の場合、このイベントは、SSO アーティファクト (SSO Cookie など) で要求が処理されたときにログに記録されます。
パスワード変更要求の成功 1204 フェデレーション サービスがパスワード変更要求を正常に処理するトランザクション。
パスワード変更要求エラー 1205 フェデレーション サービスがパスワード変更要求の処理に失敗したトランザクション。
サインアウトに成功しました 1206 サインアウト要求の成功について説明します。
サインアウトエラー 1207 失敗したサインアウト要求について説明します。

セキュリティ監査

AD FS サービス アカウントのセキュリティ監査は、パスワードの更新、要求/応答のログ記録、要求コンテンツ ヘッダー、デバイス登録の結果に関する問題の追跡に役立つ場合があります。 AD FS サービス アカウントの監査は、既定では無効になっています。

セキュリティ監査を有効にする

  1. [スタート] を選択します。 次に、[ プログラム>管理者ツール] に移動し、[ ローカル セキュリティ ポリシー] を選択します。

  2. [セキュリティ設定]、[ローカル ポリシー]、[User Rights Management] フォルダーの順に移動し、[セキュリティ監査の生成] をダブルクリックします。

  3. [ ローカル セキュリティ設定 ] タブで、AD FS サービス アカウントが一覧表示されていることを確認します。 存在しない場合は、[ユーザーまたはグループ追加] を選択し、一覧に追加します。 次に、[ OK] を選択します

  4. 管理者特権でコマンド プロンプトを開き、次のコマンドを実行して監査を有効にします。 auditpol.exe /set /subcategory:"Application Generated" /failure:enable /success:enable

  5. ローカル セキュリティ ポリシーを閉じ、AD FS 管理スナップインを開きます。

  6. AD FS 管理スナップインを開くには、[開始] を選択 します[プログラム>管理ツール] に移動し、[AD FS 管理] を選択します。

  7. [操作] ウィンドウで、[フェデレーション サービスのプロパティの編集] を選択します。

  8. [ フェデレーション サービスのプロパティ ] ダイアログ ボックスで、[ イベント ] タブを選択します。

  9. [ 成功の監査 ] チェック ボックスと [ 失敗の監査 ] チェック ボックスをオンにします。

  10. [ OK] を選択します

    [フェデレーション サービスのプロパティ] ダイアログ ボックスの [イベント] タブのスクリーンショット。[成功の監査] オプションと [失敗の監査] オプションが選択されていることを示しています。

前の手順は、AD FS がスタンドアロン メンバー サーバー上にある場合にのみ使用されます。 AD FS がローカル セキュリティ ポリシーではなくドメイン コントローラーで実行されている場合は、グループ ポリシー管理/フォレスト/ドメイン/ドメイン コントローラーにある既定のドメインコントローラー ポリシーを使用します。 [編集] を選択し、[コンピューターの構成]、[ポリシー]、[Windows の設定]、[セキュリティの設定]、[ローカル ポリシー]、[User Rights Management] に移動します。

Windows Communication Foundation と Windows Identity Foundation のメッセージ

トレース ログに加えて、問題のトラブルシューティングを行うために、Windows Communication Foundation (WCF) メッセージと Windows Identity Foundation (WIF) メッセージの表示が必要になる場合があります。 これらのメッセージを表示するには、AD FS サーバー上の Microsoft.IdentityServer.ServiceHost.Exe.Config ファイルを変更します。

このファイルはルート <%system%>\Windows\ADFS にあり、XML 形式です。 ファイルの関連部分を次の例に示します。

<!-- To enable WIF tracing, change the following switchValue to the desired trace level - Verbose, Information, Warning, Error, Critical -->

<source name="Microsoft.IdentityModel" switchValue="Off"> … </source>

<!-- To enable WCF tracing, change the following switchValue to the desired trace level - Verbose, Information, Warning, Error, Critical -->

<source name="System.ServiceModel" switchValue="Off" > … </source>

これらの変更を適用したら、構成を保存し、AD FS サービスを再起動します。 適切なスイッチを設定してこれらのトレースを有効にすると、Windows イベント ビューアーの AD FS トレースログに表示されます。

イベントの関連付け

トラブルシューティングが最も難しいことの 1 つは、多数のエラーやデバッグ イベントを生成するアクセスの問題です。

これを支援するために、AD FS は、管理者とデバッグ ログの両方で、イベント ビューアーに記録されたすべてのイベントを関連付けます。 これらの各ログは、アクティビティ ID と呼ばれる一意のグローバル一意識別子 (GUID) を使用して、特定の要求に対応します。 AD FS は、パッシブ リクエスタ プロファイルを使用するアプリケーションの Web アプリケーションにトークン発行要求を提示するときに、この ID を生成します。 AD FS は、WS-Trust を使用してアプリケーションの要求プロバイダーに直接要求を送信するときにも ID を生成します。

ActivityID 値が呼び出されたイベントの [プロパティ] ダイアログ ボックスの [詳細] タブのスクリーンショット。

このアクティビティ ID は、要求の期間全体で同じままであり、その要求のイベント ビューアーに記録されたすべてのイベントの一部としてログに記録されます。 これは、以下のようなことを意味します。

  • このアクティビティ ID を使用してイベント ビューアーをフィルター処理または検索すると、トークン要求に対応するすべての関連イベントを追跡するのに役立ちます。
  • 同じアクティビティ ID が異なるマシン間でログに記録されるため、フェデレーション サーバー プロキシ (FSP) などの複数のマシンでユーザー要求のトラブルシューティングを行うことができます。
  • AD FS 要求が何らかの方法で失敗した場合は、ユーザーのブラウザーにもアクティビティ ID が表示されるため、ユーザーはこの ID をヘルプ デスクまたは IT サポートに通知できます。

クライアント要求 ID の値が呼び出されたイベントの [プロパティ] ダイアログ ボックスの [詳細] タブのスクリーンショット。

トラブルシューティング プロセスを支援するために、AD FS サーバーでトークン発行プロセスが失敗するたびに、AD FS によって呼び出し元 ID イベントもログに記録されます。 このイベントには、この情報がトークン要求の一部としてフェデレーション サービスに渡されたと仮定して、次のいずれかの要求の種類と値が含まれます。

  • https://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountnameh
  • http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier
  • http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upnh
  • https://schemas.microsoft.com/ws/2008/06/identity/claims/upn
  • http://schemas.xmlsoap.org/claims/UPN
  • http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddressh
  • https://schemas.microsoft.com/ws/2008/06/identity/claims/emailaddress
  • http://schemas.xmlsoap.org/claims/EmailAddress
  • http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name
  • https://schemas.microsoft.com/ws/2008/06/identity/claims/name
  • http://schemas.xmlsoap.org/ws/2005/05/identity/claims/privatepersonalidentifier

呼び出し元 ID イベントでは、アクティビティ ID もログに記録され、そのアクティビティ ID を使用して、イベント ログで特定の要求をフィルター処理または検索できます。

次のステップ