LDAP データ のPostgreSQL インターフェースを作成

詳細情報をご希望ですか?

無償トライアル:

ダウンロードへ

製品の詳細情報へ:

LDAP JDBC Driver

LDAP ディレクトリサービスを組み込んだパワフルなJava アプリケーションを短時間・低コストで作成して配布できます。



LDAP JDBC Driver のリモート機能を使用し、データアクセス用のPostgreSQL エントリポイントを作成します。

インターネット上には、多くのPostgreSQL クライアントがあります。標準のドライバーからBI、アナリティクスツールまで、PostgreSQL はデータアクセスのための一般的なインターフェースです。 JDBC ドライバーを使用することで、簡単に任意の標準クライアントから接続できるPostgreSQL エントリポイントを作成できます。

LDAP にPostgreSQL データベースとしてアクセスするには、CData JDBC Driver for LDAP とJDBC foreign data wrapper (FDW) を使用します。ここでは、FDW をコンパイルしてインストールし、PostgreSQL サーバーからLDAP にクエリを実行します。

JDBC データソースとしてLDAP データに接続する

JDBC データソースとしてLDAP に接続するには、以下が必要です。

  • Driver JAR path:
  • JAR は、インストールディレクトリのlib サブフォルダにあります。
  • Driver class: cdata.jdbc.ldap.LDAPDriver

  • JDBC URL: URL は、"jdbc:ldap:" で始まり、セミコロンで区切られた名前と値の組み合わせで任意の接続プロパティを含めることができます。

    リクエストを認証するには、User およびPassword プロパティを有効なLDAP クレデンシャル(例えば、User を"Domain\BobF" または"cn=Bob F,ou=Employees,dc=Domain")に設定します。 本製品は、デフォルトでプレーンテキスト認証を使用します。これは、本製品がサーバーとTLS/SSL のネゴシエーションを試みるためです。 AuthMechanism を使って別の認証方法を指定できます。 TLS/SSL コンフィギュレーションについて詳しくは、ヘルプドキュメントの「高度な設定」を参照してください。

      基本接続には、Server およびPort を設定します。さらに、次のように接続を微調整できます。
    • FollowReferrals:設定すると、本製品は参照サーバーのデータもビューとして表示します。参照サーバー上のデータを変更するには、このサーバーをServer およびPort で指定する必要があります。
    • LDAPVersion:サーバーが実装するプロトコルのバージョンに設定します。デフォルトでは、本製品はversion 2 を使用します。
    • BaseDN は、LDAP 検索の範囲を指定された識別名の高さに限定します。BaseDN の範囲を絞ることはパフォーマンスを劇的に向上させます。例えば、"cn=users,dc=domain" の値は、"cn=users" およびその子に含まれる結果のみを返します。
    • Scope:このプロパティを使用すると、サブツリーから返されるデータをより細かく制御できます。

    ビルトイン接続文字列デザイナ

    JDBC URL の構成については、LDAP JDBC Driver に組み込まれている接続文字列デザイナを使用してください。JAR ファイルのダブルクリック、またはコマンドラインからJAR ファイルを実行します。

    java -jar cdata.jdbc.ldap.jar

    接続プロパティを入力し、接続文字列をクリップボードにコピーします。

    以下は一般的なJDBC URL です。

    jdbc:ldap:User=Domain\BobF;Password=bob123456;Server=10.0.1.1;Port=389;

JDBC FDW を構築する

FDW は、PostgreSQL を再コンパイルせずに、PostgreSQL の拡張機能としてインストールできます。例としてjdbc2_fdw 拡張子を使用します。

  1. ご使用のバージョンのJRE 共有オブジェクトから、/usr/lib/libjvm.so にシンボリックリンクを追加します。例: ln -s /usr/lib/jvm/java-6-openjdk/jre/lib/amd64/server/libjvm.so /usr/lib/libjvm.so
  2. ビルドを開始する: make install USE_PGXS=1

LDAP データをPostgreSQL データベースとしてクエリする

拡張機能をインストールした後、以下のステップに従ってLDAP へのクエリの実行を開始します。

  1. データベースにログインします。
  2. データベースの拡張機能をロードする: CREATE EXTENSION jdbc2_fdw;
  3. LDAP のオブジェクトを作成する: CREATE SERVER LDAP FOREIGN DATA WRAPPER jdbc2_fdw OPTIONS ( drivername 'cdata.jdbc.ldap.LDAPDriver', url 'jdbc:ldap:User=Domain\BobF;Password=bob123456;Server=10.0.1.1;Port=389;', querytimeout '15', jarfile '/home/MyUser/CData/CData\ JDBC\ Driver\ for\ Salesforce MyDriverEdition/lib/cdata.jdbc.ldap.jar');
  4. MySQL デーモンに認識されているユーザーのユーザー名とパスワードのユーザーマッピングを作成します。 CREATE USER MAPPING for postgres SERVER LDAP OPTIONS ( username 'admin', password 'test');
  5. ローカルデータベースに外部テーブルを作成する: postgres=# CREATE FOREIGN TABLE user ( user_id text, user_Id text, user_LogonCount numeric) SERVER LDAP OPTIONS ( table_name 'user');
LDAP に対して 読み取り/書き込みコマンドを実行可能にする: postgres=# SELECT * FROM user;