LDAP ユーザー ディレクトリに接続する場合、以下の制限事項と推奨事項を検討してください。

LDAP ディレクトリのユーザーとグループの最適数

ご使用の LDAP ディレクトリへ接続することで、 LDAP ディレクトリサーバーへの接続、設定、および管理に関して強力で柔軟なサポートが得られます。最適なパフォーマンスを実現するために、バックグラウンドの同期タスクは必要なユーザーとグループを LDAP サーバーからアプリケーションのデータベースにロードし、LDAP サーバーから定期的に更新情報を取り出してデータの同期を維持します。ユーザーとグループのコピーに必要な時間は、ユーザー、グループ、およびグループのメンバーシップの数に伴って増加します。このため、以下の説明では、ユーザーとグループの最大数を推奨しています。

この推奨事項は以下の LDAP ディレクトリへの接続に影響します。

  • Microsoft Active Directory
  • その他のすべての LDAP ディレクトリサーバー

次の LDAP 設定は影響を受けません。

  • LDAP 認証を使用した内部ディレクトリ
  • 「認証専用、最初のログイン時にユーザーをコピー」に設定された LDAP ディレクトリ

LDAP ディレクトリのユーザー、グループおよびメンバーシップの数に応じて次のソリューションのいずれかを選択してください。

お客様の環境

推奨事項

最大 10 000 ユーザー、1000 グループ、およびユーザーあたり 20 グループ

LDAP」または「Microsoft Active Directory」のディレクトリ タイプを選択します。完全同期オプションを利用することができます。アプリケーションのデータベースはご利用の LDAP サーバのユーザとグループをすべて格納しています。

上記を超える場合

LDAP フィルターを使用して同期タスクに表示されるユーザーおよびグループの数を減らします。

弊社のテスト結果

10 000 ユーザー、1000 グループおよび200 000 メンバーシップで構成される弊社のローカルネットワーク上で AD サーバーとの同期について社内でテストを実施しました。

最初の同期には約 5 分かかりました。その後の、AD サーバー上の 100 個の変更との同期は、数秒で完了しました。

同期処理のパフォーマンスの調整を試みる場合、以下のような多数の要因が関与することを銘記してください。

  • ユーザーベースの規模。 LDAP フィルターを使用して、これをお客様の要件に適合する最小規模に維持します。
  • LDAP サーバーのタイプ。 現在、AD の変更検出をサポートしているため、後続の AD との同期は、他の LDAP サーバーとの同期よりもかなり高速です。
  • ネットワークトポロジー。 LDAP サーバーと、ご使用のアプリケーションサーバー間の距離が離れるほど、潜在的な LDAP クエリが増加します。
  • データベース パフォーマンス。 同期処理では、データベース内のデータをキャッシュするため、データベースのパフォーマンスが同期パフォーマンスに影響を与えます。
  • JVM ヒープサイズ。 ユーザーベースに対してヒープサイズが小さすぎると、同期処理中にガーベッジコレクションが重くなる場合があり、それによって同期速度が遅くなる可能性があります。

冗長 LDAP には非対応

LDAP 接続では、冗長性のための複数の LDAPサーバーの構成 (一方のサーバーが停止した場合の自動フェイルオーバー) はサポートされていません。

Active Directory に接続するための具体的な注意事項

アプリケーションを Active Directory (AD) に同期している場合、同期タスクではユーザーベース全体ではなく LDAP サーバーからの変更のみがリクエストされます。これによって同期プロセスが最適化され、2番目以降のリクエストでパフィーマンスが大幅に向上します。

一方、この同期方式にはいくつかの制限事項があります。

  1. オブジェクトを範囲外に移動したり、名前の変更を行ったりすると、AD で問題が発生します。AD の範囲外にオブジェクトをいどう すると、キャッシュの整合性が失われます。アプリケーションのディレクトリ設定画面で定義されているように、オブジェクトをサブツリーの範囲外に移動するために外部 LDAP インターフェイスを使用しないことをお勧めします。LDAP ディレクトリ構造を変更する必要がある場合は、変更を行った途にディレクトリキャッシュを手動で同期し、キャッシュの整合性を確保してください。
  2. AD サーバー間での同期はサポートされていません。Microsoft Active Directory では、インスタンス間で uSNChanged 属性が複製されません。そのため、同期のための異なる AD サーバーの接続はサポートしていません (もちろん、それぞれが異なる AD サーバーを参照する複数の異なるディレクトリを定義することは可能です)。
  3. バックアップから AD を復元した後、アプリケーションの再起動が日著うです。バックアップから AD サーバーを復元すると、uSNChanged タイムスタンプはバックアップ時刻に戻ります。混乱を避けるために、Active Directory の復元操作の後はディレクトリキャッシュを消去します。
  4. Obtaining AD object deletions requires administrator access. Active Directory stores deleted objects in a special container called cn=Deleted Objects. By default, to access this container you need to connect as an administrator and so, for the synchronization task to be aware of deletions, you must use administrator credentials. Alternatively, it is possible to change the permissions on the cn=Deleted Objects container. If you wish to do so, please see this Microsoft KB article.
  5. AD との接続に使用されるユーザー DN はuSNChanged 属性を参照できる必要があります。 同期タスクは変更を検知するのに uSNChanged 属性を使用しているため、サブツリーのすべての LDAP について、この属性を参照するために適切な AD セキュリティ グループに属する必要があります。
  • ラベルなし