デフォルトでは、Java アプリケーションは、Java API が要求するアクティビティーに対してセキュリティーの制限を課しません。Java セキュリティーを使用して、Java アプリケーションが安全でない可能性のあるアクションを実行しないようにするには、アプリケーションが実行される JVM でセキュリティー・マネージャーを使用可能にしてください。
このタスクについて
セキュリティー・マネージャーはセキュリティー・ポリシーを実施します。セキュリティー・ポリシーとは、コード・ソースに割り当てられた許可 (システム・アクセス権) のセットです。デフォルトのポリシー・ファイルは、Java プラットフォームで提供されています。
しかし、Java セキュリティーがアクティブのときに Java アプリケーションが CICS で正しく実行されるようにするには、アプリケーションを実行するのに必要な許可を CICS に与える追加のポリシー・ファイルを指定する必要があります。
この追加のポリシー・ファイルは、セキュリティー・マネージャーが有効になっている各種の JVM に対して指定する必要があります。CICS には、独自のポリシーを作成するために使用できるサンプルが用意されています。
手順
JVM サーバーの OSGi フレームワークで実行されるアプリケーションの場合:- CICS Explorer® SDK でプラグイン・プロジェクトを作成して、提供される OSGi セキュリティー・エージェントのサンプルを選択します。 このサンプルは、プロジェクトに com.ibm.cics.server.examples.security という名前の OSGi ミドルウェア・バンドルを作成します。この中にセキュリティー・プロファイルが入っています。このプロファイルは、それが置かれているフレームワーク内のすべての OSGi バンドルに適用されます。
- プロジェクトで、example.permissions ファイルを選択して、セキュリティー・ポリシーの許可を編集します。 このファイルには、JVM サーバーで実行中のアプリケーションに固有の許可が含まれています。その中には、アプリケーションが System.exit() メソッドを使用しないことを確認することなどが含まれます。
- OSGi バンドルを zFS の適切なディレクトリーに配置します。 CICS には、このディレクトリーに対する読み取り権限および実行権限が必要です。
- JVM サーバーの JVM プロファイルを編集して、以下のようにOSGi バンドルを OSGI_BUNDLES オプションの他のバンドルの前に追加します。
OSGI_BUNDLES=/u/bundles/com.ibm.cics.server.examples.security_1.0.0.jar,/usr/lpp/cicsts42/lib/com.ibm.cics.db2.jcc.jar
- 以下の Java 環境変数を JVM プロファイルに追加して、OSGi フレームワークでのセキュリティーを有効にします。
org.osgi.framework.security=osgi
- 変更を保存し、JVMSERVER リソースを使用可能にして、ミドルウェア・バンドルを JVM サーバーにインストールします。
タスクの結果
Java アプリケーションが呼び出されると、JVM はそのクラスのコード・ソースを判別し、セキュリティー・ポリシーに基づいて、クラスに適切な許可を与えます。