Kerberosアプリケーションのトラブルシューティングとベストプラクティス
一般的なKerberosアプリケーションの構成、問題のトラブルシュートとベストプラクティスについては、ここに記載の情報をご利用いただけます。
トピック
- Kerberosタイムアウトのトラブルシューティング
- 親-子/兄弟ADドメインのトラブルシューティング
- 401認証エラーのトラブルシューティング
- Access Gatewayに追加したIWAアプリのすべてに
- Kerberos Simulatorを使用して常にユーザーおよびサーバーを検証する
- Kerberos認証がIISサーバーで有効化されているか確認する
- IWA_USERNAMEヘッダーが正しく設定されているか確認する
- 兄弟ドメインでKerberosをサポートする
Kerberosタイムアウトのトラブルシューティング
問題:Kerberos KDCにアクセスする間にタイムアウトが発生し、以下のようなエラーが返される:
以下の解決策を試してください:
-
Access GatewayおよびKerberosサーバー(Active DirectoryがAccess Gateway Kerberosサービスとして実行)との間でファイアウォールのポートTCP/88およびUDP/88が開いていることを確認します。
-
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つのうちのいずれかが間違っています:
- IISがKerberosプロバイダーを有効化していない。
IISでKerberosプロバイダーが認証のために有効化されているか確認します。 -
IWA_USERNAMEヘッダーで有効なユーザー名を送信していない。
IWA_USERNAMEヘッダーが正しく設定されているか確認するをご覧ください。 - 保護されたホスト名が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サーバーをサービスアカウントに追加する必要があります。
IWA_USERNAMEヘッダーが正しく設定されているか確認する
IWA_USERNAMEヘッダー属性を構成する場合
- はじめに静的な値でテストします。
- ドメイン名がすべて大文字であることを確認します。
例:
兄弟ドメインでKerberosをサポートする
問題:親ドメインと複数の子ドメインがあり、それぞれの子ドメインがIISまたはSharepointサーバーに接続されている。ADドメイン間にSSOがなければなりません。ベストプラクティスは、すべてのIISおよびSharepointサーバーが親ドメインに接続されていることです。ただし、これが不可能な場合、一意のサービス プリンシパル名(SPN)を使用してAccess Gatewayで複数の領域を作成する必要があります。
問題
例:
- ドメイン1 - サービス プリンシパル名 - Access Gatewayコンソール ウィザードの手順に従います。
ドメイン1 - キータブ
- Access Gatewayコンソール ウィザードの手順に従います。 - ドメイン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)