Java 2 セキュリティーは、いくつかのポリシー・ファイルを使用 して、それぞれの Java プログラムごとに認可されたアクセス権を判別します。
WebSphere Application Server によってサポートされる使用可能な ポリシー・ファイルのリストについては、Java 2 セキュリティー・ポリシー・ファイル を参照してください。
server.policy ファイルは、ノード上のすべての WebSphere Application Server で共用されるデフォルトのポリシー・ファイルです。 server.policy ファイルは、リポジトリーおよびファイル複製サービスによって管理される構成ファイルではありません。 このファイルへの変更はローカルに行われるものであり、他のマシンに複製されることはありません。
サーバーのデフォルトのアクセス権 (java.policy ファイルおよび server.policy ファイルで定義されたアクセス権の集合) が十分である場合は、 アクションは必要ありません。 デフォルトのサーバー・ポリシーが自動的に選び出されます。 ノード上の一部のサーバー・プログラムに特定の変更が必要な場合は、 ポリシー・ツールで server.policy ファイルを更新してください。 ポリシー・ファイルを編集するには、PolicyTool を使用したポリシー・ファイルの編集 のトピックを参照してください。 server.policy ファイルの変更は、 ノード上でローカルに行われます。ポリシー・ファイルに構文エラーが あると、アプリケーション・サーバーは失敗します。 これらのポリシー・ファイルの編集は、慎重に行ってください。更新された server.policy ファイルがローカル・ノード上の すべてのサーバー・プログラムに適用されます。更新を有効にするには、 サーバーを再始動してください。
アプリケーションにアクセス権を追加する場合は、app.policy ファイル および was.policy ファイルを使用します。
server.policy ファイルを変更する必要がある場合は、 このファイルを install_root/properties/server.policy に置いてください。 このファイルには、以下のデフォルトのアクセス権が含まれています。// Allow to use ibm jdk extensions grant codeBase "file:${was.install.root}/java/ext/-" { permission java.security.AllPermission; }; // Allow to use ibm tools grant codeBase "file:${was.install.root}/java/tools/ibmtools.jar" { permission java.security.AllPermission; }; // Allow to use sun tools grant codeBase "file:/QIBM/ProdData/Java400/jdk14/lib/tools.jar" { permission java.security.AllPermission; }; // Allow to use sun tools (V5R2M0 codebase) grant codeBase "file:/QIBM/ProdData/OS400/Java400/jdk/lib/tools.jar" { permission java.security.AllPermission; }; // WebSphere system classes grant codeBase "file:${was.install.root}/plugins/-" { permission java.security.AllPermission; }; grant codeBase "file:${was.install.root}/lib/-" { permission java.security.AllPermission; }; grant codeBase "file:${was.install.root}/classes/-" { permission java.security.AllPermission; }; // Allow the WebSphere deploy tool all permissions grant codeBase "file:${was.install.root}/deploytool/-" { permission java.security.AllPermission; }; // Allow the WebSphere deploy tool all permissions grant codeBase "file:${was.install.root}/optionalLibraries/-" { permission java.security.AllPermission; }; // Allow Channel Framework classes all permission grant codeBase "file:${was.install.root}/installedChannels/-" { permission java.security.AllPermission; }; grant codeBase "file:${user.install.root}/lib/-" { permission java.security.AllPermission; }; grant codeBase "file:${user.install.root}/classes/-" { permission java.security.AllPermission; };
ノード上の一部のサーバー・プログラムが、server.policy ファイルで デフォルトとして定義されていないアクセス権および server.policy ファイルを 必要とする場合は、server.policy ファイルを更新してください。アクセス権がない場合、java.security.AccessControlException 例外が発生します。 不足しているアクセス権は 、例外データにリストされます。
java.security.AccessControlException: access denied (java.io.FilePermission C:¥WebSphere¥AppServer¥java¥jre¥lib¥ext¥mail-impl.jar read)
java.security.AccessControlException: access denied (java.io.FilePermission
app_server_rootBase/lib/mail-impl.jar read)
上記の 2 行は説明の都合上 2 行に分かれて表示されています。
Java プログラムがこの例外を受け取り、このアクセス権の追加が認められると、 アクセス権を server.policy ファイルに追加します。
grant codeBase "file:user_client_installed_location" { permission java.io.FilePermission "C:¥WebSphere¥AppServer¥java¥jre¥lib¥ext¥mail.jar", "read"; };
grant codeBase "file:user_client_installed_location" {
permission java.io.FilePermission
"app_server_root/Base/lib/mail-impl.jar", "read"; };
アクセス権を追加するかどうかを判断するには、アクセス制御の例外 を参照してください。
更新した server.policy ファイルを有効にするには、 すべての Java プロセスを再始動してください。