server.policy ファイルのアクセス権
Java™ 2 セキュリティーは、いくつかのポリシー・ファイルを使用して、各 Java プログラムの付与された権限を決定します。
WebSphere® Application Server がサポートしている使用可能なポリシー・ファイルのリストについては、Java 2 セキュリティー・ポリシー・ファイルを参照してください。
server.policy ファイルは、ノード上のすべての WebSphere Application Server で共有されるデフォルトのポリシー・ファイルです。 server.policy ファイルは、リポジトリーおよびファイル複製サービスによって管理される構成ファイルではありません。 このファイルへの変更はローカルに行われるものであり、他のマシンに複製されることはありません。
サーバーのデフォルトのアクセス権 (java.policy ファイルおよび server.policy ファイルで定義されたアクセス権の集合) が十分である場合は、 アクションは必要ありません。 デフォルトのサーバー・ポリシーが自動的に選び出されます。 ノード上の一部のサーバー・プログラムに特定の変更が必要な場合は、 ポリシー・ツールで server.policy ファイルを更新してください。 ポリシー・ファイルを編集するには、PolicyTool を使用した Java 2 セキュリティー用のポリシー・ファイルの編集のトピックを参照してください。 server.policy ファイルの変更は、 ノード上でローカルに行われます。ポリシー・ファイルに構文エラーが あると、アプリケーション・サーバーは失敗します。 これらのポリシー・ファイルの編集は、慎重に行ってください。更新された server.policy ファイルがローカル・ノード上の すべてのサーバー・プログラムに適用されます。更新を有効にするには、 サーバーを再始動してください。
server.policy ファイルを変更する必要がある場合は、 このファイルを profile_root/properties/server.policy に置いてください。 このファイルには、以下のデフォルトのアクセス権が含まれています。
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
// Allow to use sun tools
grant codeBase "file:${java.home}/../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 Channel Framework classes all permission
grant codeBase "file:${was.install.root}/installedChannels/-" {
permission java.security.AllPermission;
};
// WebSphere optional runtime classes
grant codeBase "file:${was.install.root}/optionalLibraries/-" {
permission java.security.AllPermission;
};
![[IBM i]](../images/iseries.gif)
// Allow to use sun tools
grant codeBase "file:${java.home}/../lib/tools.jar" {
permission java.security.AllPermission;
};
// Allow to use ibm jdk extensions
grant codeBase "file:${was.install.root}/java/ext/-" {
permission java.security.AllPermission;
};
// Allow to use additional ibm jdk extensions with j9
grant codeBase "file:${was.install.root}/java/extj9/-" {
permission java.security.AllPermission;
};
// Allow to use sun and ibm tools
grant codeBase "file:${was.install.root}/java/tools/-" {
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:${was.install.root}/util/-" {
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;
};
![[z/OS]](../images/ngzos.gif)
// Allow to use sun tools
grant codeBase "file:${java.home}/lib/tools.jar" {
permission java.security.AllPermission;
};
// Allow the WebSphere deploy tool all permissions
grant codeBase "file:${was.install.root}/deploytool/-" {
permission java.security.AllPermission;
};
grant codeBase "file:${was.install.root}/plugins/-" {
permission java.security.AllPermission;
};
grant codeBase "file:${was.install.root}/classes/-" {
permission java.security.AllPermission;
};
grant codeBase "file:${was.install.root}/lib/-" {
permission java.security.AllPermission;
};
grant codeBase "file:${smpe.install.root}/lib/-" {
permission java.security.AllPermission;
};
grant codeBase "file:${smpe.install.root}/-" {
permission java.security.AllPermission;
};
// Allow to use TAM
grant codeBase "file:${was.install.root}/tivoli/tam/PD.jar" {
permission java.security.AllPermission;
};
ノード上の一部のサーバー・プログラムが、server.policy ファイルで デフォルトとして定義されていないアクセス権および server.policy ファイルを 必要とする場合は、server.policy ファイルを更新してください。アクセス権がない場合、java.security.AccessControlException 例外が発生します。 不足しているアクセス権は 、例外データにリストされます。
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[z/OS]](../images/ngzos.gif)
java.security.AccessControlException: access denied (java.io.FilePermission
C:¥WebSphere¥AppServer¥java¥jre¥lib¥ext¥mail-impl.jar read)
![[IBM i]](../images/iseries.gif)
java.security.AccessControlException: access denied (java.io.FilePermission
app_server_rootBase/lib/mail-impl.jar read)
上記の 2 行は説明の都合上 2 行に分かれて表示されています。
Java プログラムがこの例外を受け取って、このアクセス権の追加が認められたら、アクセス権を server.policy ファイルに追加してください。
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[z/OS]](../images/ngzos.gif)
grant codeBase "file:user_client_installed_location" {
permission java.io.FilePermission
"C:¥WebSphere¥AppServer¥java¥jre¥lib¥ext¥mail.jar", "read"; };
![[IBM i]](../images/iseries.gif)
grant codeBase "file:user_client_installed_location" {
permission java.io.FilePermission
"app_server_root/Base/lib/mail-impl.jar", "read"; };
アクセス権を追加するかどうかを判断するには、『Java 2 セキュリティーのアクセス制御例外』を参照してください。
更新した server.policy ファイルを有効にするには、 すべての Java プロセスを再始動してください。