WebSphere Application Server Version 6.1 Feature Pack for Web Services   
             オペレーティング・システム: AIX , HP-UX, i5/OS, Linux, Solaris, Windows, Windows Vista, z/OS

             目次と検索結果のパーソナライズ化

システム・リソースおよび API の保護 (Java 2 セキュリティー)

Java 2 セキュリティーは、非常に汎用性の高いプログラミング・モデルで、アプリケーション開発に多大な影響を与えます。

始める前に

Java 2 セキュリティーは Java 2 Platform, Enterprise Edition (J2EE) の役割ベースのセキュリティーと直交しているため、管理セキュリティーとは別個に使用不可または使用可能にすることができます。

Java 2 セキュリティーは、J2EE 役割ベースの許可の上部に、アクセス制御保護の追加のレベルを提供しています。 特に、システム・リソースおよびアプリケーション・プログラミング・インターフェース (API) の保護に対応しています。 管理者は、Java 2 セキュリティーを使用不可にした場合のリスクに対する利点を比較検討する必要があります。

以下に示した推奨事項は、テスト環境または実稼働環境において Java 2 セキュリティーを使用可能にするのに役立ちます。
  1. アプリケーションは必ず、Java 2 セキュリティー・プログラミング・モデルにより開発してください。 開発者は、アプリケーションで使用されている API が Java 2 セキュリティーによって保護されているかどうかを 把握しておく必要があります。 使用されている API に必要なアクセス権が、ポリシー・ファイル (was.policy) で宣言されていることが非常に重要です。これが宣言されていないアプリケーションは、Java 2 セキュリティーが使用可能な場合に実行に失敗します。 開発者は、Java 2 セキュリティーで保護されている Development Kit API の Web サイトを参照することができます。 この Web サイトを参照するには、トピックセキュリティー: 学習用リソース のプログラミング・モデルおよび決定のセクションを参照してください。
  2. 前のリリースからマイグレーションされたアプリケーションに、必要なアクセス権が与えられていることを確認してください。 Java 2 セキュリティーは、WebSphere Application Server の前のリリースではサポートされていないか、あるいは部分的にしかサポートされていないため、バージョン 5 より以前に開発されたアプリケーションは、ほとんど Java 2 セキュリティー・プログラミング・モデルを使用していません。 そのアプリケーションに必要なアクセス権をすべて検出するのは、容易ではありません。 以下のアクティビティーを実行すると、アプリケーションに必要な追加のアクセス権を判別できます。
    • コードの検討およびコードの検査
    • アプリケーション資料の検討
    • 実動前の環境で Java 2 セキュリティーが使用可能になっているマイグレーション済みエンタープライズ・アプリケーションのサンドボックス・テスト。 WebSphere Java 2 セキュリティー・マネージャーでトレースを使用可能にすると、アプリケーション・ポリシー・ファイルに不足しているアクセス権を判別するのに役立ちます。 トレースの指定は、com.ibm.ws.security.core.SecurityManager=all=enabled です。
    • com.ibm.websphere.java2secman.norethrow システム・プロパティーを使用して、デバッグを補助します。 このプロパティーは、実稼働環境では使用しないでください。

      Java 2 セキュリティー を参照してください。

[AIX HP-UX Linux Solaris Windows] [z/OS] アプリケーションのデフォルトのアクセス権セットは、J2EE 1.3 仕様で定義された、推奨されるアクセス権セットです。 このデフォルトは、全ユーザーにアクセス権を認可する Development Kit ポリシー・ファイル (JAVA_HOME/jre/lib/security/java.policy) に定義されているアクセス権を持つ app_server_root/profiles/profile_name/config/cells/cell_name/nodes/node_name/app.policy ポリシー・ファイルで宣言されています。ただし、アプリケーションでは、profiles/profile_name/config/cells/cell_name/filter.policy ファイルで宣言されるアクセス権は拒否されます。 filter.policy ファイルで宣言されている、アプリケーションに対するアクセス権は、アクセス権の検証中に、フィルター操作により除外されます。

[i5/OS] アプリケーションのデフォルトのアクセス権セットは、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 セキュリティーを強制する方法について説明しています。

プロシージャー

  1. セキュリティー」>「管理、アプリケーション、およびインフラストラクチャーの保護」をクリックします。 「セキュア管理、アプリケーション、およびインフラストラクチャー 」パネルが表示されます。
  2. Java 2 セキュリティーを使用してアプリケーションのアクセスをローカル・リソースに制限する」オプションを選択します。
  3. OK」または「適用」をクリックします。
  4. 保管」をクリックして、変更を保管します。
  5. 変更を有効にするには、サーバーを再始動してください。

結果

Java 2 セキュリティーが使用可能になり、サーバーに対して実施されます。 Java 2 セキュリティー・アクセス権は、Java 2 セキュリティーによって保護されている API が呼び出されたときに、選択されます。
Java 2 セキュリティーは、以下の場合に使用します。
  1. システム・リソースの保護を使用可能にします。例えば、ソケット接続のオープンまたは listen 時、オペレーティング・システムのファイル・システムへの読み取りまたは書き込み時、Java 仮想マシンのシステム・プロパティーの読み取りまたは書き込み時などです。
  2. アプリケーション・コードが破壊 API を呼び出さないようにします。例えば、System.exit メソッドを呼び出すと、アプリケーション・サーバーがダウンします。
  3. アプリケーション・コードが、特権情報 (パスワード) を取得したり、あるいは追加特権を取得する (サーバー・クレデンシャルを取得する) のを防ぎます。

次の作業

以下のステップを完了して、 WebSphere Application Server Network Deployment のサーバー・レベルでの Java 2 セキュリティーを強制にすることができます。
注: サーバー・レベルで Java 2 セキュリティー設定を変更すると、セル・レベルでの設定がオーバーライドされます。
  1. サーバー」>「アプリケーション・サーバー」>「server_name」をクリックします。
  2. 「セキュリティー」の下の「サーバー・セキュリティー」をクリックします。
  3. Security settings for this server override cell settings」オプションを選択します。
  4. Java 2 セキュリティーを使用してアプリケーションのアクセスをローカル・リソースに制限する」オプションを選択します。
  5. OK」または「適用」をクリックします。
  6. 保管」をクリックして、変更を保管します。
  7. 変更を有効にするには、サーバーを再始動してください。
Java 2 Security Manager の拡張により、アプリケーションがリソースへのアクセスを拒否された場合に、呼び出しスタック上のすべてのクラスに認可されている Java 2 セキュリティー・アクセス権がダンプされます。 java.security.AccessControlException 例外が作成されます。ただし、このトレース機能は、デフォルトでは使用不可になっています。 トレースの指定が com.ibm.ws.security.core.SecurityManager=all=enabled になっているサーバー・トレース・サービスを指定して、この機能を使用可能にすることができます。 例外が作成されると、トレース・ダンプは、Java 2 が保護しているリソースにアクセスする際に、アプリケーションのアクセス権が欠落しているのか、または使用されている製品のランタイム・コードかサード・パーティー・ライブラリーが正しく特権ありとマークされていないのかどうかを判断するヒントを提供します。 詳しくは、セキュリティー問題判別ガイドを参照してください。



サブトピック
PolicyTool を使用したポリシー・ファイルの編集
Java 2 セキュリティー・ポリシー・ファイルの構成
静的ポリシー・ファイルの構成
関連タスク
Java 2 セキュリティー・ポリシーのマイグレーション
マイグレーション、共存、および相互運用 - セキュリティーに関する考慮事項
プログラマチック・セキュリティーを使用するアプリケーションの開発
タスク・トピック    

ご利用条件 | フィードバック

最終更新: Jan 21, 2008 4:10:06 PM EST
http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.wsfep.multiplatform.doc/info/ae/ae/tsec_enablejava2sec.html