通信アダプタ用 Java CAPS プロジェクトコンポーネントの構成

LDAP アダプタの接続マッププロパティーの設定

接続マップからアクセスされる LDAP アダプタの構成パラメータは、次の各セクションに編成されています。

「コネクタ」セクションのプロパティー

LDAP アダプタの「コネクタ」セクションのプロパティーには、次のパラメータが含まれています。

表 1–50 LDAP アダプタ — 「コネクタ」設定

名前 

説明 

必要な値 

コネクタタイプ 

コネクタのタイプを表示します 

デフォルトは「LDAP コネクタ」です。

コネクタクラス 

コネクタクラスを表示します。 

デフォルトのコネクタクラスは、com.stc.connector.ldapadapter.LDAPadapterConnection です。 

「接続」セクションのプロパティー

LDAP アダプタの「接続」セクションのプロパティーを使えば、LDAP システムへの接続を定義できます。

表 1–51 LDAP アダプタ — 「接続」設定

名前 

説明 

必要な値 

認証 

使用する認証 (「なし」または「シンプル」) を選択できるようにします。次のように目的の認証を選択します。 

  • なし: 認証なし。つまり、匿名ログオン。この設定を使用する場合は、LDAP サーバーが匿名ログオンをサポートしていることを確認してください。

  • シンプル: 認証がユーザー名とパスワードに基づきます。ユーザー名とパスワードを対応するフィールド (「主体」と「資格」) に指定する必要があります。

なし」または「シンプル」を選択します。デフォルトは「なし」です。

資格 

匿名ログイン (「認証」が「なし」の場合) 以外の認証機構を使用する際に必要となる資格を入力できるようにします。

有効なパスワードとしての適切な資格。 

初期コンテキストファクトリ 

LDAP サーバーの初期コンテキストを作成するために使用されるファクトリを入力できるようにします。デフォルトでは、Sun が Java Software Developers’ Kit (SDK) の一部として提供する LDAP サービスプロバイダが使用されます。 

有効な Java ファクトリ名。デフォルトは次のとおりです。 

com.sun.jndi.ldap.LdapCtxFactory。 

Sun が提供する LDAP サービスプロバイダ以外のプロバイダを使用する必要がある場合を除き、この値を変更しないことをお勧めします。 

主体 

匿名ログイン (「認証」が「なし」の場合) 以外の認証機構を使用する際に必要となる主体を指定できるようにします。

ユーザーの完全修飾識別名 (DN)。次に例を示します。 


CN=Administrator,CN=Users,DC=stc,dc=com

プロバイダ URL 

LDAP サーバーの URL を指定できるようにします。 

有効な URL。プロトコルとして ldap を含めます。

「リフェラル」セクションのプロパティー

LDAP アダプタの「リフェラル」セクションのプロパティーを使えば、LDAP リフェラル情報を入力できます。

表 1–52 LDAP アダプタ — 「リフェラル」設定

名前 

説明 

必要な値 

資格 

ディレクトリで任意のリフェラルを追跡する際に使用する資格ファイルを指定できるようにします。資格ファイルは RCF コマンド行ユーティリティーを使って作成されます。 

サービスバスから使用できる有効なファイルとパス名。 

追跡 

LDAP サーバーから返されたリフェラルを追跡する必要があるかどうかを選択できるようにします。 

はい」または「いいえ」を選択します。デフォルトは「はい」です。次のように目的の値を入力します。

  • はい: リフェラルを追跡します。

  • いいえ: リフェラルは追跡されません。

「リフェラル」セクションに関する追加の注意事項

次に、「リフェラル」セクションに含まれるプロパティーに関する追加の注意事項を示します。

リフェラルとは、クライアントの要求を別のサーバーにリダイレクトするために使用される構成要素のことです。リフェラルには、ほかのオブジェクトの名前と場所が含まれます。これは、クライアントから要求された情報が 1 つ以上の別の場所、おそらく 1 つ以上の別のサーバー上に存在していることを示すために、サーバーによって送信されます。

検索処理を実行すると、リフェラルエントリが検出される可能性がありますが、このエントリは、その情報が格納されている場所へのポインタにすぎません。このポインタの形式は通常、このアダプタの「プロバイダ URL」設定と似たものになります。その構成要素は次のとおりです。

リフェラル検出時の選択肢は、次のとおりです。

LDAP アダプタで、リフェラル使用時に設定する必要のあるプロパティーは、次のとおりです。

次の表に示す各シナリオが発生する可能性がありますが、どのシナリオが発生するかは、リフェラル用に指定されたプロパティーとアダプタの動作に依存します。それらについて、シナリオごとに説明します。

表 1–53 リフェラルのシナリオ

「追跡」の設定 

資格ファイル 

アダプタの動作 

追跡」が「はい」に設定されている。

資格ファイルが提供されていない。

アダプタは、初期サーバーで入力された元の資格 (ユーザー名とパスワード) を使用して、参照先システムへの接続を試みます。参照先システムが同じ資格を持たない場合、接続が失敗する可能性があります。 

 

資格ファイルが提供され、そのファイル内に参照先ホストの資格エントリが含まれている。 

リフェラル検出時に LdapReferralException をスローするように、初期サーバーへの接続が設定されます。この例外はその後、アダプタによってキャッチされます。続いて、アダプタは、資格ファイル内に指定された資格情報を使って参照先システムへの接続を確立します。

 

提供された資格ファイル内に、参照先ホストの資格エントリが含まれていない。

リフェラル検出時に LdapReferralException をスローするように、初期サーバーへの接続が設定されます。この例外はその後、アダプタによってキャッチされます。続いて、アダプタは、匿名ログインを使って参照先システムへの接続を確立します。参照先システムが匿名ログインを許可していない場合、接続が失敗する可能性があります。

追跡」が「いいえ」に設定されている。

資格ファイルが存在しない。 

リフェラルは追跡されません。つまり、アダプタはリフェラルを無視します。 

資格ファイルを作成するには、RCF (Referral Credentials File) コマンド行ユーティリティーを使用できます。


注 –

コマンド行からパラメータを 1 つも指定しないで RCF ユーティリティーを実行すると、ユーティリティーの使用方法が表示されます。


ProcedureRCF ユーティリティーを使って資格ファイルを作成するには

  1. RCF ユーティリティーで使用されるファイルは、次の場所に格納されています。


    netbeans_home\usrdir\modules\ext\ldapadapter\stcldap13.jar

    または


    <netbeans_home>\usrdir\modules\ext\ldapadapter\
    stcldap14.jar
  2. 上記ファイルのいずれかをあるフォルダにコピー & ペーストし、そのフォルダから次のようにしてユーティリティーを実行します。


    netbeans_home\jdk\bin\java -cp ./stcldap13.jar
    com.stc.connector.ldapadapter.utils.RCFUtil

    次のメニューが表示されます。


          C:\temp>java -cp ./stcldap13.jar
          com.stc.connector.ldapadapter.utils.RCFUtil
          
          Please specify the operation.
          
          ---+ RCFUtil +---
          
          Interactive command line utility for creating and managing
           file(s) containing credentials information to follow LDAP
           referrals. File(s) generated can be used by the Java LDAP Adapter
           for following referrals that required credentials different
           from those used to create the connection to the initial LDAP
           server.
          
          Usage : java com.stc.connector.ldapadapter.utils.RCFUtilOPTIONS       -- <filename>
          
          OPTIONS:
          
          --create Create a new referral credentials file.
          --add Add an entry to the referral credentials file.
          --list Print a list of entries in the referral credentials file.
          --remove Remove an entry from the referral credentials file.
          --modify Modify an entry in the referral credentials file.
          --decrypt When displaying credentials, decrypt the credentials.
          --username <username>  Specify the username; if not specified,         it’ll be prompted.
          --password <password>  Specify the password; if not specified,         it’ll be prompted.
          --help Print this usage.
          
          filename:
          
          The full path to the referral credentials file.
  3. samplercf.txt という名前の新しいリフェラルファイルを作成するには、コマンド行で次のパラメータを入力します。


    netbeans_home\jdk\bin\java -cp ./stcldap13.jar
    com.stc.connector.ldapadapter.utils.RCFUtil --create -- samplercf.txt

    すると、ユーザー名とパスワードが要求されます。ユーザー名とパスワードを入力します。このユーザー名とパスワードは、ファイル自体を保護するためのものです。というのも、このファイルには、ほかの LDAP サーバーに関する機密性の高い資格情報が含まれているからです。次に例を示します。


          C:\temp>c:\JavaCAPS6\netbeans\jdk\bin\java -cp .\stcldap13.jar       com.stc.connector.ldapadapter.
    utils.RCFUtil
          --create -- samplercf.txt
          Creating file samplercf.txt...
          Enter username >> test
          Enter password >> test
          File created!

    「File created!」というメッセージが表示されます。この場合のファイル名は、samplercf.txt です。拡張子は何でもかまいません。

Procedure資格情報をファイルに追加するには

  1. samplercf.txt という名前のリフェラルファイルに LDAP サーバー接続情報を追加するには、コマンド行で次のパラメータを入力します。


          
    netbeans_home\jdk\bin\java -cp ./stcldap13.jar
          com.stc.connector.ldapadapter.utils.RCFUtil --add --
           samplercf.txt
  2. ファイルにアクセスするには、ユーザー名とパスワードが必要になります。以前にファイルを作成する際に指定したユーザー名とパスワードを入力します。

  3. 次のプロンプトが表示されたら、次の情報を指示どおりに入力します。

  4. ホスト名のプロンプト: ホスト名を入力します。

  5. ポート番号のプロンプト: LDAP ポート番号を入力します。

  6. 主体のプロンプト: ユーザーの完全修飾 DN を入力します。

  7. パスワードのプロンプト: 以前に指定した、DN のパスワードを入力します。

    次に例を示します。


          C:\temp>c:\JavaCAPS6\netbeans\jdk\bin\java -cp .\stcldap13.jar
           com.stc.connector.ldapadapter.utils.RCFUtil --add --
           samplercf.txt
          Adding a referral credentials entry...
          Enter username >> test
          Enter password >> test
          Enter LDAP Host >> localhost.stc.com
          Enter LDAP Port >> 389
          Enter the Principal >> cn=Manager,dc=stc,dc=com
          Enter the Credentials >> secret
          
          Done.

Procedure資格ファイルの内容を表示するには

  1. 「samplercf.txt」という名前のリフェラルファイル内の LDAP サーバー接続情報を表示するには、コマンド行で次のパラメータを入力します。


          <netbeans_home>\jdk\bin\java -cp ./stcldap13.jar
          com.stc.connector.ldapadapter.utils.RCFUtil --list --
           samplercf.txt
  2. ファイルにアクセスするには、ユーザー名とパスワードが必要になります。以前にファイルを作成する際に指定したユーザー名とパスワードを入力します。

  3. 次の単一エントリの例に示すように、ファイル内のエントリが一覧表示されます。


          1> localhost.stc.com | 389 | cn=Manager,dc=stc,dc=com | l/
          ZRt1cfNKc=
  4. パスワードは暗号化されています。パスワードを復号化された形式で表示するには、1 つ前のコマンドに --decrypt を追加します。出力は次のようになります。


          1> localhost.stc.com | 389 | cn=Manager,dc=stc,dc=com | secret

    次に例を示します。


          C:\temp>c:\JavaCAPS6\netbeans\jdk\bin\java -cp .\stcldap13.jar
           com.stc.connector.ldapadapter.utils.RCFUtil --list --
           samplercf.txt
          Listing entries in the referral credentials file...
          Enter username >> test
          Enter password >> test
          1> localhost.stc.com | 389 | cn=Manager,dc=stc,dc=com | l/
          ZRt1cfNKc=
          
          C:\temp>c:\JavaCAPS6\netbeans\jdk\bin\java -cp .\stcldap13.jar
           com.stc.connector.ldapadapter.utils.RCFUtil --list --decrypt --
           samplercf.txt
          Listing entries in the referral credentials file...
          Enter username >> test
          Enter password >> test
          1> localhost.stc.com | 389 | cn=Manager,dc=stc,dc=com | secret

    資格エントリの削除や資格エントリの変更といったその他の操作も、RCF ユーティリティーを使って同様に行えます。

    次の例は、説明用のコメント付きで、資格ファイル samplercf.txt の内容を示したものです。


          ###This properties file was generated by
          #com.stc.connector.ldapadapter.utils.RCFUtil.
          #Do NOT modify this file "by hand" if you don’t understand the
           nature
          #or format of this file. Use the utility to create and
          #manage this file.
          #
          #Tue Feb 14 17:49:17 PST 2006
          password=P9He6eCUY6Q\=
          localhost.stc.com\:389=test;P9He6eCUY6Q\=
          username=test
          #New credentials entry that was created.

「セキュリティー/SSL」セクションのプロパティー

LDAP アダプタの「セキュリティー/SSL」セクションのプロパティーは、SSL の基本的なセキュリティー機能を設定するために使用されます。

表 1–54 LDAP アダプタ — 「セキュリティー/SSL」設定

名前 

説明 

必要な値 

JSSE プロバイダクラス 

JSSE プロバイダクラスの完全修飾名を指定します。詳細については、Sun Microsystems の次の Java サイトを参照してください。 

http://java.sun.com

有効な JSSE プロバイダクラスの名前。デフォルトは次のとおりです。 

com.sun.net.ssl.internal.ssl.Provider 

AIX 上でインテグレーションサーバーを実行している場合は、次の名前を指定します。 

com.ibm.jsse.IBMJSSEProvider 

キーストア 

デフォルトのキーストアファイルを指定します。キーストアは、SSL 接続確立時の鍵/証明書管理に使用されます。 

有効なパッケージの場所。デフォルト値はありません。次のファイルを使用することをお勧めします。 


c:\JavaCAPS\appserver\is\domainsMyDomain
\config\keystore.jks

項目の意味を次に示します。 


c:\JavaCAPS
 is the directory where the Sun Java Composite 
Application Platform Suite is installed and 
MyDomain
 is the name of your domain.

キーストアパスワード 

デフォルトのキーストアパスワードを指定します。このパスワードは、SSL 接続確立時の鍵/証明書管理に使用されるキーストアにアクセスする際に使用されます。デフォルトはありません。 

有効なキーストアパスワード。デフォルト値はありません。

キーストアタイプ 

デフォルトのキーストアタイプを指定できるようにします。キーストアタイプは、SSL 接続確立時の鍵/証明書管理に使用されます。キーストアタイプが指定されなかった場合、デフォルトのキーストアタイプである JKS が使用されます。 

有効なキーストアタイプ。

キーストアユーザー名 

SSL 接続確立時の鍵/証明書管理に使用されるキーストアにアクセスするためのユーザー名。 


注 –

キーストアタイプが PKCS12 または JKS の場合、キーストアユーザー名のプロパティーは使用されません。PKCS12 および JKS のキーストアタイプでは、アクセス時にパスワードが必要になりますが、ユーザー名は必要ありません。このプロパティーに値を入力しても、PKCS12 および JKS ではその値は無視されます。


有効なキーストアユーザー名。 

SSL 接続タイプ 

使用される SSL 接続のタイプを指定できるようにします。 

「なし」、「SSL を有効化」、または「TLS オンデマンド」を選択します。次のように目的の値を入力します。 

なし: SSL を使用しない、単純なプレーン接続。

SSL を有効化: SSL が有効化されます。LDAP サーバーへのすべての通信で、セキュリティー保護された通信チャネルが使用されます。


注 –

「SSL の有効化」オプションを使用する場合、「プロバイダ URL」プロパティーが、セキュリティー保護された LDAP ポート (デフォルトは 636) を指している必要があります。


このプロパティーの必要な値に関する追加情報については、「SSL 接続タイプ」を参照してください。

SSL プロトコル 

LDAP サーバーとの SSL 接続を確立する際に使用する SSL プロトコル。アプリケーションサーバーのプラットフォームについては、JSSE のマニュアルを参照してください。 

TLS」、「TLSv1」、「SSLv3」、「SSLv2」、または「SSL」を選択します。

トラストストア 

デフォルトのトラストストアを指定します。トラストストアは、SSL 接続確立時の CA 証明書管理に使用されます。 

有効なトラストストアファイル。デフォルトはありません。 

トラストストアパスワード 

デフォルトのトラストストアパスワードを指定できるようにします。このパスワードは、SSL 接続確立時の CA 証明書管理に使用されるトラストストアにアクセスするためのものです。 

有効なトラストストアパスワード。デフォルトはありません。 

トラストストアタイプ 

SSL 接続確立時の CA 証明書管理に使用されるトラストストアのトラストストアタイプを指定できるようにします。トラストストアタイプが指定されなかった場合、デフォルトのトラストストアタイプである JKS が使用されます。 

有効なトラストストアタイプ。 

ホスト名の検証 

SSL ハンドシェーク中にサーバー証明書に対してホスト名検証を行うかどうかを判定します。 

このプロパティーを使えば、要求 URL 内のサーバーホスト名と受信されたサーバー証明書内のホスト名について、厳格なチェックを行えます。 

true または false。デフォルトは false です。

このプロパティーの必要な値に関する追加情報については、「ホスト名の検証」を参照してください。

X509 アルゴリズム名 

信頼マネージャーファクトリと鍵マネージャーファクトリで使用する X509 アルゴリズムの名前を指定します。 

有効な X509 アルゴリズム名前。デフォルトは「SunX509」です。AIX 上でインテグレーションサーバーを実行している場合は、「IbmX509」を指定します。

「セキュリティー/SSL」プロパティーに関する追加の注意事項

次に示すのは、「セキュリティー/SSL」セクションの次のプロパティーに関する追加の注意事項です。

SSL 接続タイプ

現在の LDAP サーバーで、セキュリティー証明書のインストールやポート番号などの SSL プロパティーが正しく設定されていることを確認してください。

Transport Layer Security (TLS) は、インターネット経由で通信するクライアント/サーバーアプリケーション間で機密性とデータの完全性を保証するプロトコルです。 このアダプタの TLS 動作では、セキュリティー保護された通信とされていない通信の両方が同じ接続上でサポートされます。

ただし、LDAP サーバーの中には、セキュリティー保護されていない設定済みのポート上で起動しなければならず、セキュリティー保護されたポート上では起動できないものもあります。詳細については、LDAP サーバーの関連するマニュアルを参照してください。

次の例では、performAddEntry 呼び出しはセキュリティー保護された通信チャネルを経由しますが、performRename 呼び出しはセキュリティー保護されていないプレーン通信チャネルを経由します。


   startTLS();
   performAddEntry();
   stopTLS();
   
   performRename();
   

現在の LDAP サーバーで (SSL 設定に加えて) TLS 設定が正しく設定されていることを確認してください。


注 –

stopTLS メソッドを使用すると、一部の LDAP サーバーで予期しない動作が発生する可能性があります。コラボレーション定義からこのメソッドを削除しなければいけない可能性があります。たとえば、Sun ONE Directory Server への接続時には stopTLS メソッドを使用できません。詳細については、LDAP サーバーの関連するマニュアルを参照してください。

ユーザーが複数の値を持つ単一の属性を TLS 接続経由で繰り返し追加すると、Active Directory はコンテキストを解放しません。ただし、TLS を開始し、属性処理を追加してから TLS を停止する、という回避方法をとれば、コンテキストが解放されます。


LDAP OTD でこの機能を使用する方法については、「TLS 拡張ノード」を参照してください。

ホスト名の検証

いくつかの環境下で、このプロパティーを truefalse のどちらに設定するかによって、さまざまな Java 例外が発生する可能性があります。ここでは、それらの例外の原因について説明します。

たとえば、URL に含まれるホスト名が localhost、サーバー証明書に含まれるホスト名が localhost.stc.com であるととします。このとき、次の条件が適用されます。