J2C クライアント接続の保護

[Version 8.5 and later] Java 2 Connector (J2C) アーキテクチャーを使用して、WebSphere® eXtreme Scale クライアントとアプリケーションの間の接続を保護します。

このタスクについて

アプリケーションが接続ファクトリーを参照し、接続ファクトリーがリモート・データ・グリッドへの接続を確立します。 各接続ファクトリーは単一の eXtreme Scale クライアント接続をホストし、この接続がすべてのアプリケーション・コンポーネントに対して再利用されます。
重要: eXtreme Scale クライアント接続にはニア・キャッシュが含まれることがあるため、アプリケーションが接続を共有しないことが重要です。 アプリケーション間でオブジェクトを共有する問題を回避するためには、単一のアプリケーション・インスタンスに対して接続ファクトリーが存在する必要があります。
資格情報生成プログラムは、API を使用するか、クライアント・プロパティー・ファイルの中で設定できます。クライアント・プロパティー・ファイルの中で、securityEnabled プロパティーと credentialGenerator プロパティーが使用されます。以下のコード例は、印刷の都合上、複数行で表示されています。
securityEnabled=true
credentialGeneratorClass=com.ibm.websphere.objectgrid.security.plugins.builtins.
     UserPasswordCredentialGenerator
credentialGeneratorProps=operator XXXXXX

クライアント・プロパティー・ファイルの中の資格情報生成プログラムと資格情報は、eXtreme Scale 接続操作と、デフォルトの J2C 資格情報に使用されます。 したがって、API で指定された資格情報は、J2C の接続時に、J2C 接続のために使用されます。ただし、J2C 接続時に資格情報が指定されなければ、クライアント・プロパティー・ファイルの中の資格情報生成プログラムが使用されます。

手順

  1. J2C 接続が eXtreme Scale クライアントを表す場所のセキュア・アクセスをセットアップします。 ClientPropertiesResource 接続ファクトリー・プロパティーまたは ClientPropertiesURL 接続ファクトリー・プロパティーを使用して、クライアント認証を構成します。
  2. eXtreme Scale の適切な資格情報生成プログラム・オブジェクトを参照する接続ファクトリーを使用するように、クライアント・セキュリティー・プロパティーを構成します。 これらのプロパティーは、eXtreme Scale サーバー・セキュリティーとも互換性があります。 例えば、eXtreme Scale が WebSphere Application Server にインストールされている場合、WebSphere 資格情報には WSTokenCredentialGenerator 資格情報生成プログラムを使用します。 あるいは、スタンドアロン環境で eXtreme Scale を実行するときは、UserPasswordCredentialGenerator 資格情報生成プログラムを使用します。 次の例では、資格情報は、クライアント・プロパティー内の構成を使用するのではなく、API 呼び出しを使用して、プログラマチックに渡されます。
    XSConnectionSpec spec = new XSConnectionSpec();
    spec.setCredentialGenerator(new UserPasswordCredentialGenerator("operator", "xxxxxx"));
    Connection conn = connectionFactory.getConnection(spec);
  3. (オプション) 必要であれば、ニア・キャッシュを使用不可にします。

    単一の接続ファクトリーからのすべての J2C 接続は、単一のニア・キャッシュを共有します。グリッド・エントリー許可とマップ許可はサーバーで検証されますが、ニア・キャッシュでは検証されません。 アプリケーションが J2C 接続を作成するために複数の資格情報を使用し、これらの資格情報に対して、構成が特定のグリッド・エントリー許可およびマップ許可を使用する場合、ニア・キャッシュを使用不可にします。 接続ファクトリー・プロパティー ObjectGridResource または ObjectGridURL を使用して、ニア・キャッシュを使用不可にします。 numberOfBuckets プロパティーを 0 に設定します。

  4. (オプション) 必要であれば、セキュリティー・ポリシー設定を設定します。
    J2EE アプリケーションに組み込みの eXtreme Scale リソース・アダプター・アーカイブ (RAR) ファイル構成が含まれる場合、アプリケーションのセキュリティー・ポリシー・ファイルの中に、追加のセキュリティー・ポリシー設定を設定することが必要な場合もあります。 例えば、次のポリシーが必要です。
    permission com.ibm.websphere.security.WebSphereRuntimePermission "accessRuntimeClasses";
    permission java.lang.RuntimePermission "accessDeclaredMembers";
    permission javax.management.MBeanTrustPermission "register";
    permission java.lang.RuntimePermission "getClassLoader";

    さらに、接続ファクトリーが使用するすべてのプロパティー・ファイルまたはリソース・ファイルには、ファイルまたは他の許可 (permission java.io.FilePermission "filePath"; など) が必要です。 WebSphere Application Server の場合、ポリシー・ファイルは META-INF/was.policy で、これは J2EE EAR ファイルの中にあります。

タスクの結果

カタログ・サービス・ドメインで構成したクライアント・セキュリティー・プロパティーが、デフォルト値として 使用されます。ユーザーが指定する値は、client.properties ファイルに定義されているプロパティーをオーバーライドします。

次のタスク

eXtreme Scale データ・アクセス API を使用して、トランザクションに使用するクライアント・コンポーネントを開発します。