Kerberosアプリケーションのトラブルシューティングとベストプラクティス

一般的なKerberosアプリケーションの構成、問題のトラブルシュートとベストプラクティスについては、ここに記載の情報をご利用いただけます。

トピック

Kerberosタイムアウトのトラブルシューティング

問題:Kerberos KDCにアクセスする間にタイムアウトが発生し、以下のようなエラーが返される:

以下の解決策を試してください:

  1. Access GatewayおよびKerberosサーバー(Active DirectoryがAccess Gateway Kerberosサービスとして実行)との間でファイアウォールのポートTCP/88およびUDP/88が開いていることを確認します。

  2. use kdc hostオプションが有効であり、関連するActive DirectoryサーバーがIP アドレスとして入力されているか確認します。

親-子/兄弟ADドメインのトラブルシューティング

問題:組織に、親ドメインと複数の子ドメインを持つADフォレストがある。IIS/Sharepointサーバーインスタンスが子ドメインの一部である。

Kerberos認証がOAGで機能するように構成するには

以下の解決策を試してください:

  • IISサーバーの子ドメインでAccess Gateway SPNアカウントを作成します。デフォルトではActive Directoryフォレストのすべてのドメインは互いに信頼しているため、この解決策が機能します。

    その他の場合、1つのADドメイン手順に進みます。

    メモ

    メモ

    親ドメインでSPNアカウントを作成する場合、SPNは子ドメインのサービスを見ることができません。

401認証エラーのトラブルシューティング

問題:Access Gateway保護対象アプリケーションで401認証エラーが発生する。

通常は以下の3つのうちのいずれかが間違っています:

  1. IISがKerberosプロバイダーを有効化していない。
    IISでKerberosプロバイダーが認証のために有効化されているか確認します。
  2. IWA_USERNAMEヘッダーで有効なユーザー名を送信していない。
    IWA_USERNAMEヘッダーが正しく設定されているか確認するをご覧ください。

  3. 保護されたホスト名がIIS Windowsホスト名と同じ値でない。
    アプリケーションの [Protected Web Resource(保護対象Webリソース)]フィールドがIIS Windowsのホスト名と一致しているか確認します。

Kerberos Simulatorを使用して常にユーザーおよびサーバーを検証する

ベストプラクティス:Access GatewayでKerberosサービスを構成する際に、最初に検証します。

例:

メモ

メモ

Kerberosアプリの[Protected Web Resource(保護対象Webリソース)]がKerberosシミュレターでテストされる値と一致するか確認します。

Access Gatewayに追加したIWAアプリのすべてにsetspnを実行するべきか?

問題:Access Gatewayに追加したIWAアプリのすべてにsetspnを実行するべきですか?

  • いいえ、ただし、ドメインごとに各IISサーバーをサービスアカウントに追加する必要があります。

Kerberos認証がIISサーバーで有効化されているか確認する

IIS サーバーでKerberos認証が有効化されているか確認します。
例:

IWA_USERNAMEヘッダーが正しく設定されているか確認する

IWA_USERNAMEヘッダー属性を構成する場合

  • はじめに静的な値でテストします。
  • ドメイン名がすべて大文字であることを確認します。

例:

兄弟ドメインでKerberosをサポートする

問題:親ドメインと複数の子ドメインがあり、それぞれの子ドメインがIISまたはSharepointサーバーに接続されている。ADドメイン間にSSOがなければなりません。ベストプラクティスは、すべてのIISおよびSharepointサーバーが親ドメインに接続されていることです。ただし、これが不可能な場合、一意のサービス プリンシパル名(SPN)を使用してAccess Gatewayで複数の領域を作成する必要があります。

問題

例:

  1. ドメイン1 - サービス プリンシパル名 - Access Gatewayコンソール ウィザードの手順に従います。
    ドメイン1 - キータブ
    - Access Gatewayコンソール ウィザードの手順に従います。
  2. ドメイン2- サービス プリンシパル名 - OAGコンソール ウィザードの手順に従いますが、“host/”の値を一意な値に変更します。
    ドメイン2 - キータブ
    Access Gatewayコンソール ウィザードの手順に従いますが、“host/”の値を一意な値に変更します。

例:

setspn -s host/gwelvis.adlab.com ELVIS\oagelvis
ktpass /princ host/gwelvis.adlab.com@ELVIS.ADLAB.COM /mapuser oagelvis@elvis.adlab.com /out c:\oagelvis.keytab /rndPass /pType KRB5_NT_PRINCIPAL /crypto All

(missing or bad snippet)