Java 2 セキュリティー・ポリシー・ファイルの構成

指定した WebSphere® Application Server エンタープライズ・アプリケーションに必要なアクセス権が認可されるように Java™ 2 セキュリティー・ポリシー・ファイルを構成できます。

始める前に

Java 2 セキュリティーは、いくつかのポリシー・ファイルを使用して、Java プログラムごとにアクセス権を判別します。

WebSphere Application Server でサポートされる使用可能なポリシー・ファイルのリストについては、Java 2 セキュリティー・ポリシー・ファイルのトピックを参照してください。

WebSphere Application Server では、 動的ポリシー・ファイルと静的ポリシー・ファイルの 2 種類のポリシー・ファイルがサポートされています。 静的ポリシー・ファイルは、デフォルト・アクセス権を提供します。 動的ポリシー・ファイルは、アプリケーションのアクセス権を提供します。 以下の 6 つの動的ポリシー・ファイルが提供されています。
表 1. 動的ポリシー・ファイル. この表は、動的ポリシー・ファイルのリストを示します。
ポリシー・ファイル名 説明
app.policy セル内のすべてのエンタープライズ・アプリケーションに対するデフォルトのアクセス権が含まれています。
注: app.policy ファイルへの更新は、app.policy ファイルが属するノード上のエンタープライズ・アプリケーションのみに適用されます。
was.policy WebSphere Application Server エンタープライズ・アプリケーションに対するアプリケーション固有のアクセス権が含まれています。 このファイルは、エンタープライズ・アーカイブ (EAR) ファイルにパッケージされています。
ra.xml WebSphere Application Server エンタープライズ・アプリケーションに対するコネクター・アプリケーション固有のアクセス権が含まれています。 このファイルは、リソース・アダプター・アーカイブ (RAR) ファイルにパッケージされています。
spi.policy サービス・プロバイダー・インターフェース (SPI)、または WebSphere Application Server に組み込まれているサード・パーティー製リソースに対するアクセス権が含まれています。 デフォルトの内容では、すべてが認可されます。セルが、そのセル内の SPI に対してさらに多くの保護を必要とする場合は、このファイルを慎重に更新してください。このファイルは、resources.xml ファイルで定義されているすべての SPI に適用されます。
library.policy エンタープライズ・アプリケーションの共有ライブラリーに対するアクセス権が 含まれています。
filter.policy セル内の was.policy ファイルおよび app.policy ファイルからフィルターに掛けて除外する必要のあるアクセス権のリストが含まれています。 このフィルター・メカニズムは、was.policy および app.policy ファイルのみに適用されます。
WebSphere Application Server では、 アプリケーションは was.policy または app.policy ファイルで指定された適切なスレッド許可を持つ必要があります。 スレッド許可が指定されていない場合、アプリケーションはスレッドを操作することができず、WebSphere Application Server は 例外 java.security.AccessControlException を作成します。 app.policy ファイルは、指定されたノードに適用されます。 1 つの app.policy ファイルで許可を変更した場合は、残りのノードの同じファイルに新規スレッド・ポリシーを取り込む必要があります。 また、app.policy ファイルにスレッド許可を追加した場合、新規許可を実行するには、WebSphere Application Server を再始動する必要があります。 ただし、特定のアプリケーションの was.policy ファイルに許可を追加した場合は、WebSphere Application Server を再始動する必要はありません。 管理者は、アプリケーションがスレッドを操作できるように、以下のコードを was.policy または app.policy ファイルに追加する必要があります。
grant codeBase "file:${application}" {
  permission java.lang.RuntimePermission "stopThread";
  permission java.lang.RuntimePermission "modifyThread";
  permission java.lang.RuntimePermission "modifyThreadGroup";
};
重要: Signed By キーワードは、ポリシー・ファイル app.policyspi.policylibrary.policywas.policy、 および filter.policy ファイルではサポートされていません。 ただし、Signed By キーワードは、ポリシー・ファイル java.policyserver.policy、 および client.policy ファイルではサポートされます。Java Authentication and Authorization Service (JAAS) は、app.policyspi.policylibrary.policywas.policy、および filter.policy ファイルではサポートされていません。 ただし、JAAS プリンシパル・キーワードは、Java 仮想マシン (JVM) のシステム・プロパティー java.security.auth.policy で指定されている場合、JAAS ポリシー・ファイル内でサポートされます。 java.security.auth.policy 内の許可ポリシー・ファイルを auth.policy.url.n=URL で静的に設定できます。 ここで、URL は許可ポリシーのロケーションです。

手順

  1. 更新するポリシー・ファイルを識別します。
    ヒント: 有効範囲が最も狭いポリシー・ファイルを取り出してください。 その方が、Java プログラムに余分なアクセス権を付与せずに済み、リソースを保護することができます。 app.policy ファイルではなく、ra.xml ファイルまたは was.policy ファイルを更新できます。${application} シンボルではなく、特定のコンポーネントのシンボル ($(ejbcomponent)、${webComponent}、${connectorComponent}、および ${jars}) を使用してください。 静的ポリシー・ファイルではなく、動的ポリシー・ファイルを更新してください。

    セル内の WebSphere Application Server エンタープライズ・アプリケーションに対して認可してはいけないアクセス権を、filter.policy ファイルに追加します。 詳しくは、filter.policy ファイルのアクセス権を参照してください。

  2. WebSphere Application Server エンタープライズ・アプリケーションを再始動します。

タスクの結果

必要なアクセス権が、特定の WebSphere Application Server エンタープライズ・アプリケーションに認可されます。
[AIX Solaris HP-UX Linux Windows][IBM i]

セル内の WebSphere Application Server エンタープライズ・アプリケーションがアクセス権を必要とする場合は、いくつかの動的ポリシー・ファイルを更新する必要があります。アクセス権の欠落という症状は、例外 java.security.AccessControlException で示されます。不足しているアクセス権は、以下の例外データにリストされます。 これは 1 行に表示されますが、見やすくするために複数のセクションに分割して示します。

[IBM i][z/OS]
java.security.AccessControlException: access denied (java.io.FilePermission 
${was.install.root}/java/ext/mail.jar read)

Java プログラムがこの例外を受け取り、 このアクセス権の追加が認められたら、アクセス権を適切な動的ポリシー・ファイルに追加します。

[IBM i][z/OS]
grant codeBase "file:user_client_installed_location" {
  permission java.io.FilePermission
"${was.install.root}$(/)java$(/)jre$(/)lib$(/)ext$(/)mail.jar", "read";
};

前述のアクセス権に関する情報行は、表示上の理由で分割されています。アクセス権は、1 行で入力してください。

アクセス権を追加するかどうかを判断するには、トピックJava 2 セキュリティーのアクセス制御例外を参照してください。


トピックのタイプを示すアイコン タスク・トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tsec_dynamic
ファイル名:tsec_dynamic.html