AD/LDAPコネクタのトラブルシューティング
AD/LDAPコネクタで問題が発生している場合は、以下をお読みいただいて、一般的な問題のトラブルシューティング方法を確認してください。
トラブルシューティングツールを実行
トラブルシューティングツールは、AD/LDAPコネクタ管理コンソールで実行することも、Admin Consoleの外部でプログラムを手動で実行することもできます。
証明書の問題を検出するには、AD/LDAPコネクタ構成ファイルでCONNECTIONS_API_V2_KEY
変数を設定します。
Admin Consoleでの操作
トラブルシューティングツールは、Admin Consoleで実行できます。
トラブルシューティングビューに切り替えて、ログをお読みください。
[Run(実行)]を選択して、AD/LDAPコネクタに関連する最も一般的な問題を検出します。
Admin Consoleの外部
Admin Consoleの外部でトラブルシューティングツールを起動できます。
Windows
Windowsマシンで、提供されたコマンドファイルを実行してトラブルシューティングツールを起動します。
AD/LDAP Connectorフォルダー(
AD LDAP Connector
)を見つけます。troubleshoot.cmd
ファイルを実行します。
例:C:\Program Files (x86)\Auth0\AD LDAP Connector\troubleshoot.cmd
.

Linux
Linuxマシンで、提供されているNode.jsプログラムを実行して、トラブルシューティングツールを起動します。
新しいターミナルウィンドウを開きます。
作業ディレクトリをAD/LDAP Connectorフォルダー(
AD LDAP Connector
)に変更します。Node Troubleshoot.js
コマンドを実行します。
インストールと構成の問題
[Save(保存)]をクリックすると、AD/LDAP Connector Admin Consoleによって一連のテストが実行され、提供された情報が検証されます。テストの結果は、[Configuration log(構成ログ)]の見出しの下に表示されます。
Admin Consoleは、次のテストを実行します
Test 1(テスト1):指定されたLDAPサーバーおよびポートへのTCP接続の確立を試みます。テスト1が失敗した場合は、このような接続を妨げる可能性のある基本的なネットワーク接続とファイアウォール設定を確認します。
Test 2(テスト2):指定されたLDAPサーバーおよびポートで、指定されたユーザー名とパスワードを使用してLDAPバインドの実行を試みます。テスト2が失敗した場合は、LDAP接続文字列、検索パス、ユーザー名、およびパスワードを確認します。
Test 3(テスト3):指定されたユーザー名の権限を確認するために、ディレクトリに対してLDAP検索を試行します。テスト3が失敗した場合は、ターゲットディレクトリ内のユーザー名の権限を確認します。
Test 4(テスト4):Auth0サーバーへの接続確立を試行します。テスト4が失敗した場合は、このような接続を妨げる可能性のあるネットワーク接続とファイアウォール設定を確認します。
一般的な問題と解決策
いくつかの一般的な問題とその解決策について説明します。
認証要求の処理に時間がかかりすぎます
デフォルトでは、Auth0 AD/LDAPコネクタは、Active Directoryからユーザーのグループメンバーシップをインポートし、[user(ユーザー)]
オブジェクトにそれらを含めます。
この動作では、AD/LDAPコネクタがActive Directoryに対して追加のクエリを実行する必要があります。これにより、認証プロセスの時間が大幅に長くなる可能性があります。
ユーザープロファイルにグループを返す必要がない場合、Auth0は、AD/LDAP Connector構成ファイルでGROUPS
変数を明示的に無効にすることを推奨します。
ホストのCPU使用率が高い
AD/LDAPコネクタをホストするマシンのCPU使用率が常に高い場合(例えば、使用率が60%以上持続する場合)、いくつかの緩和策があります。
重要でないサービスのアンインストール
CPUサイクルを消費している可能性のあるホストマシン上の重要でないサービスをアンインストールします。
グループインポート構成の変更
ユーザープロファイルでグループを返す必要がない場合は、[Authentication requests take too long to process(認証要求の処理に時間がかかりすぎる)]の説明に従ってグループインポートを無効にします。
ユーザープロファイルでグループを返す必要がある場合は、Auth0ユーザープロファイルで返されるグループを調査します。ネストされたグループと再帰グループに対するクエリは、高いCPU利用を引き起こす可能性があります。可能であれば、グループインポートを無効にしてテストして、グループクエリの影響を評価します。
影響を軽減するには、AD/LDAPサーバーで再帰的または問題のあるグループ割り当てを修正するか、AD/LDAPコネクタ構成ファイルのGROUPS_CACHE_SECONDS
変数の値を増やします。
アクティブユーザーのボリュームを評価
最初にAD/LDAPコネクタを展開してから、アクティブユーザーの数が増加しているかどうかを確認します。これは、独自の監視ソリューションを使用して評価することも、Auth0アクティブユーザーレポートから推定値を取得することもできます。
アクティブユーザーの数が増加し、上記のすべての手順が既に実行されている場合は、ホストマシンのハードウェア仕様をアップグレードするか、高可用性環境を構成する必要があります。
クロックスキュー
コネクタでは、サーバー上のクロックをAuth0サービスと同期する必要があります。許容される最大しきい値は5秒です。
クロックスキューがある場合は、トラブルシューターとコネクタログにこのような出力が表示されます。
12:18:55 - info: * Testing clock skew...
12:18:55 - error: × Clock skew detected:
12:18:55 - error: > Local time: 2020-05-04 12:18:55
12:18:55 - error: > Auth0 time: 2020-05-04 12:19:10
Was this helpful?
サーバーのクロックが最新であることを確認します。時間が正しくない場合、認証要求が失敗します。これは、ネットワークタイムプロトコル (NTP) を使用して同期サーバーをポーリングするようにシステムが適切に構成されていることを確認することで解決できます。Windows環境では、NTPプロバイダーは通常、同じドメインコントローラです。ドメインコントローラが外部サービスと同期されていることを確認します。
Active Directory環境を外部タイムサーバーと同期する方法については、renanrodrigues.comの[How to configure NTP server in Active Directory(Active DirectoryでNTPサーバーを構成する方法)]をお読みください。
サーバーの時計がNTPと同期しているかどうかがわからない場合は、https://nist.time.govに移動して、そのページの時間と、コネクタが実行されているサーバーの時間を比較します。両者の間に1秒以上の差はありません。
Active Directoryへの接続がありません
AD/LDAPコネクタは、LDAPサーバーに到達できるサーバーにインストールする必要があります。AD/LDAPコネクタとLDAPサーバーの間にファイアウォールとVPN接続を配置すると、接続の問題が発生する可能性があります。
Active Directoryを使用してWindowsネットワークを構成する場合は、nltest
コマンドを使用します。たとえば、特定のマシンがFabrikam.local
ドメインに到達できるかどうかをテストするには、nltest/dsgetdc:fabrikam.local
を使用します。
現在のサーバーがどのドメインに接続されているかを確認するには、nltest/dsgetdc:
を使用します。
ドメインが存在しないか、到達できない場合、nltest
はエラーメッセージを返します:DC名の取得に失敗しました:Status = 1355 0x54b ERROR_NO_SUCH_DOMAIN
.
UNABLE_TO_VERIFY_LEAF_SIGNATUREエラーメッセージ(プライベートクラウド)
このエラーは、プライベートクラウドと組み合わせたAD/LDAPコネクタに適用されます。
このエラーメッセージは、AD/LDAP Connectorがプライベートクラウドで構成されたSSL証明書を検証できない場合に、その起動に失敗したときに発生します。これは、ルート証明書(または中間証明書)がマシンの証明書ストア(Windows)にない場合に発生する可能性があります。これを解決するには、AD/LDAPコネクタがインストールされているマシンの[Local Machine(ローカルマシン)]>[Trusted Root(信頼ルート)]証明書ストアに証明書チェーンをインポートします。
プロキシの背後にあるコネクタ
コネクタをホストしているコンピューターがプロキシの背後にある場合は、HTTP_PROXY
システム環境変数を設定するか、AD/LDAPコネクタ構成ファイルでHTTP_PROXY
変数を設定できます。認証されたプロキシを使用する場合、URLは http://USERNAME:PASSWORD@SERVER_URL:PORT
の形式にする必要があります。
HTTP_PROXY
URLはプロキシ自体のURLである必要があり、.pac
(自動構成)ファイルを指すことはできません。プロキシが.pac
ファイルを使用して構成されている場合は、.pac
ファイルをダウンロードし、そこでプロキシ URL を見つけます。
プロキシが正しく構成されていないと、Auth0サーバーに到達できない
およびSELF_SIGNED_CERT_IN_CHAIN
エラーなど、いくつかのエラーが発生する可能性があります。
プロキシURLを構成し、AD/LDAPコネクタを再起動してもSELF_SIGNED_CERT_IN_CHAIN
エラーが発生する場合は、サーバーがプロキシのルート証明書を信頼していることを確認してください。Windowsコンピューターでは、certmgr.msc
を開いてプロキシの証明書を検索することで、これを確認できます。詳細については、[ウィキペディアのプロキシAuto Config(PAC)]をお読みください。
インターネット接続がありません
サーバーがAuth0テナント(https://{yourDomain}
)に接続できることを確認します。
これを確認するには、ブラウザを開き、https://{yourDomain}/テスト
に移動します。
サービスアカウントの権限
AD/LDAPコネクタを構成するために使用されるサービスアカウントは、AD/LDAP サーバー上でread
権限を持っている必要があり、ユーザーのグループを照会できる必要があります。
Kerberosの問題
Kerberos要求の詳細ログを有効にするには:
システム環境変数として
DEBUG=kerberos-server
を追加します。AD/LDAPコネクタを再起動します。
ログインします。
詳細については、ログを確認してください。
Kerberosが有効になっているにもかかわらず、ユーザーがユーザー名/パスワードを要求される場合は、IPアドレス設定が適切に構成されていることを確認します。詳細については、[Configure AD/LDAP Connector Authentication with Kerberos(Kerberosを使用したAD/LDAPコネクタ認証の構成)]を参照してください。
ADのユーザープロファイルの変更は、アプリにすぐに反映されません
AD/LDAPコネクタでは、次の2つのレベルの構成可能なキャッシュが使用されます:
Auth0サーバー:ユーザーの資格情報とプロファイルの両方をキャッシュします。
AD/LDAPコネクタ:ユーザーのグループメンバーシップをキャッシュします。
これらの設定の構成により、ユーザーがアプリケーションにログインしたときにディレクトリの変更がユーザーのプロファイルに反映される即時性が決まります。一部のAD/LDAPインストールでは、ユーザー属性の同期に数分かかる場合があります。
Auth0サーバーでのキャッシュ
Auth0サーバーは、ユーザー名とパスワードのハッシュを含む、ユーザーの最後に正常に認証されたプロファイルをキャッシュします。デフォルトで有効になっていますが、無効にすることもできます。
この第1レベルのキャッシュの目的は、ネットワークの停止中など、ADが使用できない場合に認証トランザクションの可用性を最大化することです。AD/LDAPコネクタまたはAD/LDAPサーバーが使用できない場合にのみアクティブになります。
AD/LDAPコネクタでのキャッシュ
AD/LDAPコネクタは、ユーザーのグループメンバーシップをキャッシュします。このキャッシュの有効期限はAD/LDAPコネクタ設定ファイルのGROUPS_CACHE_SECONDS
変数によって決定され、デフォルト値は600(秒)です。
このセカンドレベルキャッシュの目的は実行時間を最小化することです。デフォルトでは、AD/LDAPコネクタはユーザーのすべてのグループメンバーシップを再帰的に取得します。これは、一部のAD/LDAPインストールでは負荷の高いプロセスになる可能性があります。このキャッシュは、AD/LDAPコネクタを再起動するたびに削除されます。
ログに[auth0:Connection closed.]というメッセージが表示された後にコネクタが再起動します。
サーバーのオープンインバウンドポートの要件を回避するために、AD/LDAPコネクタはAuth0のサーバークラスター内の利用可能なノードにWebソケット接続を作成し、Auth0からの受信メッセージをリッスンするためにオープン状態を維持します。
約1日1回(ただし、状況により頻度が異なる場合がある)、各サーバーノードは接続を終了し、内部導入プロセスを実行できるようにします。AD/LDAPコネクタは閉じた接続を検出してプロセスを終了し、サービススタックがプロセスを再起動し、使用可能なノードへの新しい接続を作成し、操作を再開できるようにします。
ダウンタイムを回避するには、キャッシュを有効にします。
[Auth0 Dashboard]>[Authentication(認証)]>[Enterprise(エンタープライズ)]に移動して、[Active Directory/LDAP]の接続タイプを選択します。
AD/LDAP接続を選択します。
[Applications(アプリケーション)]ビューに切り替え、目的のアプリケーションの接続を有効にします。
[Save(保存)]を選択します。
[postUrl is required(posturlが必要)]エラーを受信します
カスタムドメインの追加の構成を完了していない場合、このエラーが発生することがあります。
KerberosをサポートするAD/LDAP接続を使用するには、カスタムドメインで動作するように[Ticket(チケット)]エンドポイントを更新する必要があります。
AD/LDAPコネクタ構成ファイルを開きます。
PROVISIONING_TICKET
構成変数をhttps://{yourDomain}/p/ad/jUG0dN0R
に設定します。AD/LDAPコネクタを再起動します。
発行者証明書をローカルに確認できません
AD/LDAP Connectorの構成後に、UNABLE_TO_GET_ISSUER_CERT_LOCALLY
エラーが表示される場合、認証局がマシンから見つからない可能性があります。
テナントがパブリッククラウド環境にある場合、AD/LDAP Connectorがインストールされたマシンの信頼できるストアにISRG Root X1証明書があることを確認します。
統合プラットフォーム環境を使用している場合は、AD/LDAPコネクタがインストールされているマシンの信頼済みストアにISRGルートX2証明書を追加します。
高可用性環境を構成しており、追加マシンでこのエラーが発生する場合、追加マシンの信頼されたルート認証機関が初期マシンの信頼されたルート認証機関と一致していることを確認してください。
Auth0サポートにお問い合わせ
これらの問題を自分で解決できない場合は、Auth0サポートにお問い合わせください。
サポートチームが問題をトラブルシューティングできるように、サポートチケットに次の項目を含めてください。
課題の説明。
サービスログファイルのコピー:
Windows:
C:\Program Files (x86)\Auth0\AD LDAP Connector\logs.log
Linux:
/var/log/auth0-adldap.log
AD/LDAPコネクタのバージョン番号。