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 ファイルがローカル・ノード上の すべてのサーバー・プログラムに適用されます。更新を有効にするには、 サーバーを再始動してください。

アプリケーションにアクセス権を追加する場合は、app.policy ファイル および was.policy ファイルを使用します。
注: app.policy ファイルへの更新は、app.policy ファイルが属するノード上のエンタープライズ・アプリケーションのみに適用されます。

server.policy ファイルを変更する必要がある場合は、 このファイルを profile_root/properties/server.policy に置いてください。 このファイルには、以下のデフォルトのアクセス権が含まれています。

[AIX Solaris HP-UX Linux Windows]
// 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]
// 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]
// 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][z/OS]以下に例を示します。
java.security.AccessControlException: access denied (java.io.FilePermission
C:¥WebSphere¥AppServer¥java¥jre¥lib¥ext¥mail-impl.jar read)
[IBM i]以下に例を示します。
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][z/OS]以下に例を示します。
grant codeBase "file:user_client_installed_location" {   
permission java.io.FilePermission
"C:¥WebSphere¥AppServer¥java¥jre¥lib¥ext¥mail.jar", "read"; };
[IBM i]以下に例を示します。
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 プロセスを再始動してください。


トピックのタイプを示すアイコン 参照トピック



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