デフォルトでは、Java アプリケーションは、Java API が要求するアクティビティーに対してセキュリティーの制限を課しません。Java セキュリティーを使用して、Java アプリケーションが安全でない可能性のあるアクションを実行しないようにするには、アプリケーションが実行される JVM でセキュリティー・マネージャーを使用可能にしてください。
このタスクについて
セキュリティー・マネージャーはセキュリティー・ポリシーを実施します。セキュリティー・ポリシーとは、コード・ソースに割り当てられた許可 (システム・アクセス権) のセットです。デフォルトのポリシー・ファイルは、Java プラットフォームで提供されています。
しかし、Java セキュリティーがアクティブのときに Java アプリケーションが CICS で正しく実行されるようにするには、アプリケーションを実行するのに必要な許可を CICS に与える追加のポリシー・ファイルを指定する必要があります。
この追加のポリシー・ファイルは、セキュリティー・マネージャーが有効になっている各種の JVM に対して指定する必要があります。CICS には、独自のポリシーを作成するために使用できるサンプルが用意されています。
注: - OSGi セキュリティー・エージェントのサンプルは、プロジェクトに com.ibm.cics.server.examples.security という名前の OSGi ミドルウェア・バンドルを作成します。
その中には、セキュリティー・プロファイルが含まれています。
このプロファイルは、それが置かれているフレームワーク内のすべての OSGi バンドルに適用されます。
- example.permissions ファイルには、JVM サーバーで実行中のアプリケーションに固有の許可が含まれています。
それには、アプリケーションが System.exit() メソッドを使用していないことを確認するチェックが含まれます。
- CICS に、zFS の中で OSGi バンドルの配置先となるディレクトリーに対する読み取りアクセス権限と実行アクセス権限が必要です。
JVM サーバーの OSGi フレームワークで実行されるアプリケーションの場合:
手順
- CICS Explorer® SDK でプラグイン・プロジェクトを作成して、提供される OSGi セキュリティー・エージェントのサンプルを選択します。
- プロジェクトで、example.permissions ファイルを選択して、セキュリティー・ポリシーの許可を編集します。
- OSGi バンドルを zFS の適切なディレクトリーに配置します。
- 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 はそのクラスのコード・ソースを判別し、セキュリティー・ポリシーに基づいて、クラスに適切な許可を与えます。