Google Cloud Directory Sync (GCDS)ログファイルに、証明書に関する次のエラーが表示されることがあります。
- sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
- ldap_simple_bind_s() failed: Strong Authentication Required
これらのエラーは下記の手順に沿って解決してください。
目次
証明書に関するエラーを修正する
Microsoft Windows の場合の手順vmoption ファイルを更新する
- 設定マネージャーを閉じます。
- GCDS のインストール ディレクトリにある sync-cmd.vmoptions ファイルと config-manager.vmoptions ファイルを開きます。
通常、インストール ディレクトリは C:\Program Files\Google Cloud Directory Sync です。
- ファイルを編集して次の行を追加します。
-Djavax.net.ssl.trustStoreProvider=SunMSCAPI
-Djavax.net.ssl.trustStoreType=Windows-ROOT
-Dcom.sun.jndi.ldap.connect.pool.protocol=plain ssl
-Dcom.sun.jndi.ldap.connect.pool.authentication=none simple - 設定マネージャーを再起動し、[LDAP Configuration] ページに移動します。
- [Connection type] に [LDAP+SSL] を指定します。
- [ポート] で、次のいずれかを選択します。
- 以前に 389 を使用していた場合は、636 を指定します。
- 以前に 3268 を使用していた場合は、3269 を指定します。
- [Test connection] をクリックします。
- 以下が表示される場合は、次のように対応します。
- 証明書エラー - GCDS を実行しているパソコンで、証明書が Windows によって信頼されていることを確認します。次に、ステップ 2: サーバー証明書を読み込む(このページの下部)に進みます。
- 証明書失効チェックのエラー - GCDS による証明書失効リストの確認の手順に沿って対応します。
- その他のエラー(ネットワーク エラーなど)- GCDS の一般的な問題のトラブルシューティングに進みます。
サーバー証明書を読み込む
自己署名証明書を使用する LDAP サーバーや HTTP プロキシについても、この手順で証明書を読み込むことができます。
- ドメイン コントローラにログインし、コマンド プロンプトを開きます。
- ドメイン コントローラの証明書を書き出すには、次のコマンドを入力します。
certutil -store My DomainController dccert.cer
- dccert.cer ファイルを、GCDS がインストールされているサーバーにコピーします。
- コマンド プロンプトを管理者として開きます。
- GCDS Java Runtime Environment(JRE)のインストール フォルダを開くには、次のコマンドを入力します。
cd "c:\Program Files\Google Cloud Directory Sync\jre"
64 ビット版の Windows システムにインストールされている 32 ビット版の GCDS を実行している場合は、cd "c:\Program Files (x86)\Google Cloud Directory Sync\jre" を使用します。
- ドメイン コントローラの証明書を読み込むには、次のコマンドを入力します。
bin\keytool -keystore lib\security\cacerts -storepass changeit -import -file c:\dccert.cer -alias mydc
複数の証明書を読み込む必要がある場合は、このコマンドを証明書ごとに実行します。その際、「mydc」の部分は別のエイリアスを指定します。
- 「はい」と入力して証明書を信頼します。
- 設定マネージャーを閉じます。
- テキスト エディタを使用して、GCDS のインストール ディレクトリにある sync-cmd.vmoptions ファイルと config-manager.vmoptions ファイルを開きます。
- 各ファイルで、次の行を削除します。
-Djavax.net.ssl.trustStoreProvider=SunMSCAPI
-Djavax.net.ssl.trustStoreType=Windows-ROOTこれらの行を削除すると、GCDS は Windows システム ストアではなくlib/security/cacertsの証明書ストアを使用します。
- 設定マネージャーを開き、[LDAP Configuration] ページに移動して [Test Connections] をクリックします。
- 引き続き証明書に関するエラーが表示される場合は、ドメイン コントローラの証明書ではなく、組織の認証局(CA)の証明書を読み込む必要があります。組織の CA 証明書を読み込むには、上記の手順をもう一度実施します。その際に、ドメイン コントローラの証明書の代わりに CA 証明書を書き出して読み込みます。
自己署名証明書を使用する LDAP サーバーや HTTP プロキシについても、この手順で証明書を読み込むことができます。
- ドメイン コントローラにログインし、コマンド プロンプトを開きます。
- ドメイン証明書を確認するには、次のコマンドを入力します。
certutil -store My DomainController dccert.cer
- dccert.cer ファイルを、GCDS がインストールされているサーバーにコピーします。
- GCDS Java Runtime Environment(JRE)のインストール フォルダを開くには、コマンド プロンプトを開いて次のコマンドを入力します。
cd ~/GoogleCloudDirSync/jre
- ドメイン コントローラの証明書をインポートするには、次のコマンドを入力します。
bin/keytool -keystore lib/security/cacerts -storepass changeit -import -file ~/dccert.cer -alias mydc
複数の証明書を読み込む必要がある場合は、このコマンドを証明書ごとに実行します。その際、「mydc」の部分は別のエイリアスを指定します。
- 「はい」と入力して証明書を信頼します。
- 設定マネージャーを閉じます。
- テキスト エディタを使用して、GCDS のインストール ディレクトリにある sync-cmd.vmoptions ファイルと config-manager.vmoptions ファイルを開きます。
通常、インストール ディレクトリは ~/GoogleCloudDirSync です。
- 各ファイルで、次の行を削除します。
-Djavax.net.ssl.trustStoreProvider=SunMSCAPI
-Djavax.net.ssl.trustStoreType=Windows-ROOTこれらの行を削除すると、GCDS は Windows システム ストアではなくlib/security/cacertsの証明書ストアを使用します。
- 設定マネージャーを開き、[LDAP Configuration] ページに移動して [Test Connections] をクリックします。
- 引き続き証明書に関するエラーが表示される場合は、ドメイン コントローラの証明書ではなく、組織の認証局(CA)の証明書を読み込む必要があります。組織の CA 証明書を読み込むには、上記の手順をもう一度実施します。その際に、ドメイン コントローラの証明書の代わりに CA 証明書を書き出して読み込みます。
GCDS による証明書失効リストの確認
Google API(HTTPS 経由)に接続する際や LDAP over SSL に接続する際、GCDS は SSL 証明書を検証する必要があります。GCDS はこのために HTTP 経由で認証局から証明書失効リスト(CRL)を受け取ります。この検証は失敗することがありますが、たいていはプロキシやファイアウォールで HTTP リクエストがブロックされることが原因です。
GCDS サーバーが HTTP(ポート 80)経由で次の URL にアクセスできることを確認してください。
- http://crl.pki.goog
- http://crls.pki.goog
- http://c.pki.goog
現行の CRL について詳しくは、CRL チェックをご確認ください。 SSL 経由の LDAP で独自の証明書を使用している場合は、追加の URL が必要になることがあります。
CRL アクセスを許可できない場合は、CRL チェックを無効にできます。
- テキスト エディタを使用して、GCDS のインストール ディレクトリにある sync-cmd.vmoptions ファイルと config-manager.vmoptions ファイルを開きます。
通常、インストール ディレクトリは C:\Program Files\Google Cloud Directory Sync(Windows の場合)または ~/GoogleCloudDirSync(Linux の場合)です。
- 次の行をファイルに追加します。
-Dcom.sun.net.ssl.checkRevocation=false
-Dcom.sun.security.enableCRLDP=false
SSL 経由の LDAP に切り替えた後の同期の処理速度が遅い
SSL 経由の LDAP に切り替えて同期の処理速度が遅くなった場合は、以下の手順をお試しください。
- 設定マネージャーを閉じます。
- テキスト エディタを使用して、GCDS のインストール ディレクトリにある sync-cmd.vmoptions ファイルと config-manager.vmoptions ファイルを開きます。
通常、インストール ディレクトリは C:\Program Files\Google Cloud Directory Sync(Windows の場合)または ~/GoogleCloudDirSync(Linux の場合)です。
- ファイルを編集して次の行を追加します。
-Dcom.sun.jndi.ldap.connect.pool.protocol=plain ssl
-Dcom.sun.jndi.ldap.connect.pool.authentication=none simple - ファイルを保存して同期を再試行します。
Microsoft ADV190023 更新後の認証を確認する
ご利用の Microsoft Active Directory でチャンネル バインディングと LDAP 署名が有効になっている場合、GCDS の認証に SSL 経由の LDAP を使用するように設定を追加する必要があります。SSL 経由の LDAP を使用しない場合、GCDS は Active Directory に接続できず、同期が失敗します。これまで標準 LDAP 認証を使用して同期を実行していた場合でも、これらの対策を取る必要があります。Microsoft アドバイザリ ADV190023 の詳細については、Microsoft のドキュメントをご覧ください。
すでに SSL 経由の LDAP を使用している場合、対応は不要です。
手順 1: Active Directory で TLS を有効にする多くの場合、TLS と SSL という用語は同じ意味で使用されます。
Active Directory で TLS を有効にするには、以下の Microsoft の記事を参照してください。
- サードパーティの認証局を使用して LDAP over SSL を有効にする
- Creating Custom Secure LDAP Certificates for Domain Controllers with Auto Renewal
- Troubleshoot LDAP over SSL connection problems
ドメイン コントローラの証明書に署名した認証局(CA)は、GCDS によって信頼されている必要があります。Verisign、Comodo、Let's Encrypt などの有名なインターネット CA のほとんどは信頼されているので、これらの CA を使用する場合は、この手順をスキップできます。
CA が信頼されていない場合、または独自のルート CA を使用している場合は、上述の証明書に関するエラーを修正するの手順で操作します。- 設定マネージャーを開き、[LDAP Configuration] ページに移動します。
- [Connection type] に [LDAP+SSL] を指定します。
- [Port] に「636」(以前に 389 を使用していた場合)または「3269」(以前に 3268 を使用した場合)を指定します。
- [Test connection] をクリックします。
Google、Google Workspace、および関連するマークとロゴは、Google LLC の商標です。その他すべての企業名および商品名は、関連各社の商標または登録商標です。