Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - データベース管理 » データベースの起動とデータベースへの接続 » クライアント/サーバ通信 » TCP/IP プロトコルの使用

 

LDAP サーバを使用した接続

Windows (Windows Mobileを除く) または UNIX プラットフォーム上で動作している場合、中央 LDAP サーバを指定して企業内の全データベース・サーバを追跡できます。データベース・サーバ自体を LDAP サーバに登録する場合、クライアントは LDAP サーバに問い合わせてデータベース・サーバを検索できます。この場合、サーバが WAN 上、LAN 上、またはファイアウォールの外側にあっても検索できます。クライアントは、IP アドレス (HOST=) を指定する必要はありません。サーバ列挙ユーティリティ (dblocate) も LDAP サーバを使用してそのようなサーバを検索できます。

LDAP は TCP/IP とともに使用し、ネットワーク・データベース・サーバ上でのみ使用されます。

AIX での SQL Anywhere と LDAP サーバの使用

AIX 6 で SQL Anywhere 11 を使用するには、/usr/lib にリンクを作成するか、LDAP ライブラリが含まれるディレクトリが LIBPATH に含まれていることを確認し、LDAP のシステム・ライブラリが見つかるようにします。

♦  /usr/lib にリンクを作成するには、次の手順に従います。
♦  LDAP ライブラリが含まれるディレクトリを LIBPATH に追加するには、次の手順に従います。
  1. ルート・ユーザで次のコマンドを実行して /usr/lib にリンクを作成します。

    cd /usr/lib
    ln -s /opt/IBM/ldap/V6.1/lib64/libibmldap.a libibmldap64.a
    ln -s /opt/IBM/ldap/V6.1/lib/libibmldap.a
  2. LDAP ライブラリが含まれるディレクトリが LIBPATH に含まれていることを確認します。

    たとえば、64 ビットのライブラリの場合は、次のように入力します。

    export LIBPATH=/opt/IBM/ldap/V6.1/lib64:$LIBPATH

    たとえば、32 ビットのライブラリの場合は、次のように入力します。

    export LIBPATH=/opt/IBM/ldap/V6.1/lib:$LIBPATH
saldap.ini ファイルの設定

この機能を有効にするには、LDAP サーバの検索方法と接続方法に関する情報を含むファイルをデータベース・サーバ・コンピュータと各クライアント・コンピュータに作成してください。デフォルトで、このファイル名は saldap.ini ですが、これは設定可能です。このファイルがない場合、LDAP のサポートは何も通知されず無効になっています。

LDAP パラメータにファイルの完全なパスを指定していない場合、このファイルは SQL Anywhere 実行プログラムと同じディレクトリ (Windows の場合は install-dir\bin32 など) に置く必要があります。このファイルは、次のフォーマットになります。

[LDAP]
server=computer-running-LDAP-server
port=port-number-of-LDAP-server
basedn=Base-DN
authdn=Authentication-DN
password=password-for-authdn
search_timeout=age-of-timestamps-to-be-ignored
update_timeout=frequency-of-timestamp-updates
read_authdn=read-only-authentication-domain-name
read_password=password-for-authdn

ファイル難読化ユーティリティ (dbfhide) を使用して、単純暗号化によって saldap.ini ファイルの内容を難読化することができます。ファイル難読化ユーティリティ (dbfhide)を参照してください。

ファイルの名前が ldap.ini でない場合は、LDAP パラメータを使用してファイル名を指定する必要があります。

server   LDAP サーバを実行中のコンピュータの名前または IP アドレス。この値は UNIX で必要です。このエントリが Windows にない場合、Windows がローカルのドメイン・コントローラで動作中の LDAP サーバを検索します。

port   LDAP サーバで使用されるポート番号。デフォルトは 389 です。

basedn   SQL Anywhere エントリが格納されているサブツリーのドメイン名。この値はデフォルトでツリーのルートになります。

authdn   認証ドメイン名。ドメイン名は、LDAP ディレクトリにある既存のユーザ・オブジェクトである必要があります。このディレクトリには basedn への書き込みアクセスがあります。これはデータベース・サーバで必要ですが、クライアントでは無視されます。

password   authdn のパスワード。これはデータベース・サーバで必要ですが、クライアントでは無視されます。

search_timeout   タイムスタンプがクライアントまたはサーバ列挙 (dblocate) ユーティリティで無視されるタイムスタンプの経過時間。値 0 はこのオプションを無効にして、すべてのエントリが現在のものと見なされます。デフォルト値は 600 秒 (10 分) です。

update_timeout   LDAP ディレクトリ内のタイムスタンプの更新頻度。値として 0 を指定するとこのオプションは無効になり、データベース・サーバはタイムスタンプを更新しません。デフォルト値は 120 秒 (2 分) です。

read_authdn   読み取り専用の認証ドメイン名。ドメイン名は、LDAP ディレクトリにある既存のユーザ・オブジェクトを指定します。このディレクトリには basedn への読み取りアクセスがあります。このパラメータが必要なのは、検索の実行前に LDAP サーバで非匿名バインドが必要な場合だけです。たとえば、Active Directory が LDAP サーバとして使用されている場合、通常はこのフィールドが必要です。このパラメータが指定されていない場合、バインドは匿名になります。

read_password   authdn のパスワード。クライアントにこのパラメータが必要なのは、read_authdn パラメータが指定されている場合だけです。

次に、saldap.ini ファイルの例を示します。

[LDAP]
server=ldapserver
basedn=dc=iAnywhere,dc=com
authdn=cn=SAServer,ou=iAnywhereASA,dc=iAnywhere,dc=com
password=secret

エントリが iAnywhereASA と呼ばれる basedn のサブツリーに保管されます。このエントリは SQL Anywhere が LDAP を使用できるようになる前に作成します。サブツリーを作成するには、LDAPADD ユーティリティを使用します。次のような情報を提供します。

dn: ou=iAnywhereASA,basedn
objectClass: organizationalUnit
objectClass: top
ou: iAnywhereASA

サーバは、起動時に、LDAP ファイル内で同じ名前を持つ既存のエントリがないかどうかを確認します。そのようなエントリが見つかると、LDAP のロケーション・エントリと起動しようとしているデータベース・サーバとが一致した場合、または LDAP エントリのタイムスタンプ・フィールドが 10 分より前 (タイムアウト値は設定可能) の場合に、エントリは置き換えられます。

このいずれのエントリも該当しない場合、起動しようとしているデータベース・サーバと同じ名前の別のサーバが存在することになり、起動が失敗します。

LDAP のエントリを確実に最新のものにするために、データベース・サーバは LDAP エントリ内のタイムスタンプ・フィールドを 2 分ごとに更新します。エントリのタイムスタンプが 10 分以上古い場合、クライアントは LDAP エントリを無視します。これらの設定はいずれも変更可能です。

クライアントでは、ブロードキャストを実行する前に LDAP ディレクトリが検索されるので、データベース・サーバが見つかるとブロードキャストは送信されません。LDAP 検索は非常に高速なので、失敗しても認識できるほどの遅延は発生しません。

サーバ列挙ユーティリティ (dblocate) も LDAP を使用します。LDAP にリストされているすべてのデータベース・サーバが、返されるデータベース・サーバのリストに追加されます。これにより、サーバ列挙ユーティリティ (dblocate) が、たとえばブロードキャストが到達しなかったデータベース・サーバなど、通常どおりに返されなかったサーバをリストします。10 分以上古いタイムスタンプを持つエントリは含まれません。