始める前に
Java 2 セキュリティーは Java 2 Platform, Enterprise Edition (J2EE) の役割ベースのセキュリティーと直交しているため、管理セキュリティーとは別個に使用不可または使用可能にすることができます。
Java 2 セキュリティーは、J2EE 役割ベースの許可の上部に、アクセス制御保護の追加のレベルを提供しています。
特に、システム・リソースおよびアプリケーション・プログラミング・インターフェース (API) の保護に対応しています。
管理者は、Java 2 セキュリティーを使用不可にした場合のリスクに対する利点を比較検討する必要があります。
以下に示した推奨事項は、テスト環境または実稼働環境において Java 2 セキュリティーを使用可能にするのに役立ちます。
- アプリケーションは必ず、Java 2 セキュリティー・プログラミング・モデルにより開発してください。
開発者は、アプリケーションで使用されている API が Java 2 セキュリティーによって保護されているかどうかを
把握しておく必要があります。
使用されている API に必要なアクセス権が、ポリシー・ファイル (was.policy) で宣言されていることが非常に重要です。これが宣言されていないアプリケーションは、Java 2 セキュリティーが使用可能な場合に実行に失敗します。
開発者は、Java 2 セキュリティーで保護されている Development Kit API の Web サイトを参照することができます。
この Web サイトを参照するには、トピックセキュリティー: 学習用リソース
のプログラミング・モデルおよび決定のセクションを参照してください。
- 前のリリースからマイグレーションされたアプリケーションに、必要なアクセス権が与えられていることを確認してください。
Java 2 セキュリティーは、WebSphere Application Server の前のリリースではサポートされていないか、あるいは部分的にしかサポートされていないため、バージョン 5 より以前に開発されたアプリケーションは、ほとんど Java 2 セキュリティー・プログラミング・モデルを使用していません。
そのアプリケーションに必要なアクセス権をすべて検出するのは、容易ではありません。
以下のアクティビティーを実行すると、アプリケーションに必要な追加のアクセス権を判別できます。
アプリケーションのデフォルトのアクセス権セットは、J2EE 1.3 仕様で定義された、推奨されるアクセス権セットです。
このデフォルトは、全ユーザーにアクセス権を認可する Development Kit ポリシー・ファイルに定義されているアクセス権を持つ profile_root/config/cells/cell_name/nodes/node_name/app.policy ポリシー・ファイルで宣言されています。java.policy ファイルは、
/QIBM/ProdData/Java400/jdk15/lib/security/ ディレクトリーにあり、システム全体で使用されます。サーバーで java.policy ファイルを編集しないでください。
アプリケーションでは、profile_root/config/cells/cell_name/filter.policy ファイルで宣言されるアクセス権は拒否されます。filter.policy ファイルで宣言されている、アプリケーションに対するアクセス権は、アクセス権の検証中に、フィルター操作により除外されます。
アプリケーションに必要なアクセス権を was.policy ファイルに定義し、その was.policy ファイルを YOURAPP.ear/META-INF/was.policy としてアプリケーション・エンタープライズ・アーカイブ (EAR) ファイルに組み込みます。詳しくは、Java 2 セキュリティー・ポリシー・ファイルの構成
を参照してください。
以下のステップは、WebSphere Application Server Network Deployment のセル・レベル、および WebSphere Application Server および WebSphere Application Server Express のサーバー・レベルで、Java 2 セキュリティーを強制する方法について説明しています。
次の作業
以下のステップを完了して、
WebSphere Application Server Network Deployment のサーバー・レベルでの Java 2 セキュリティーを強制にすることができます。
注: サーバー・レベルで Java 2 セキュリティー設定を変更すると、セル・レベルでの設定がオーバーライドされます。
- 「サーバー」>「アプリケーション・サーバー」>「server_name」をクリックします。
-
「セキュリティー」の下の「サーバー・セキュリティー」をクリックします。
- 「Security settings for this server override cell settings」オプションを選択します。
- 「Java 2 セキュリティーを使用してアプリケーションのアクセスをローカル・リソースに制限する」オプションを選択します。
- 「OK」または「適用」をクリックします。
- 「保管」をクリックして、変更を保管します。
- 変更を有効にするには、サーバーを再始動してください。
Java 2 Security Manager の拡張により、アプリケーションがリソースへのアクセスを拒否された場合に、呼び出しスタック上のすべてのクラスに認可されている Java 2 セキュリティー・アクセス権がダンプされます。
java.security.AccessControlException 例外が作成されます。ただし、このトレース機能は、デフォルトでは使用不可になっています。
トレースの指定が
com.ibm.ws.security.core.SecurityManager=all=enabled になっているサーバー・トレース・サービスを指定して、この機能を使用可能にすることができます。
例外が作成されると、トレース・ダンプは、Java 2 が保護しているリソースにアクセスする際に、アプリケーションのアクセス権が欠落しているのか、または使用されている製品のランタイム・コードかサード・パーティー・ライブラリーが正しく
特権ありとマークされていないのかどうかを判断するヒントを提供します。
詳しくは、
セキュリティー問題判別ガイドを参照してください。