client.policy ファイルのアクセス権
Java™ 2 セキュリティーは、いくつかのポリシー・ファイルを使用して、各 Java プログラムの付与された権限を決定します。
WebSphere® Application Server がサポートする使用可能なポリシー・ファイルのリストについては、Java 2 セキュリティー・ポリシー・ファイルを参照してください。
- client.policy ファイルは、ノード上のすべての WebSphere Application Server クライアント・コンテナーおよびアプレットで共有されるデフォルトのポリシー・ファイルです。
- java.policy ファイルと client.policy ファイルに含まれているアクセス権を結合したアクセス権は、ノードで実行中のすべての WebSphere Application Server のクライアント・コンテナーおよびアプレットに付与されます。
- client.policy ファイルは、リポジトリーおよびファイル複製サービスによって管理される構成ファイルではありません。 このファイルへの変更はローカルに行われるものであり、他のマシンに複製されることはありません。
- WebSphere Application Server に用意されている client.policy ファイルは、profile_root/properties/client.policy にあります。
- クライアントのデフォルトのアクセス権 (java.policy ファイルおよび client.policy ファイルで定義されたアクセス権を結合したもの) で十分であれば、アクションは不要です。 デフォルトのクライアント・ポリシーが自動的に選び出されます。
- ノード上の一部のクライアント・コンテナーおよびアプレットに対して特定の変更が必要な場合は、 ポリシー・ツールを使用して、client.policy ファイルを変更します。 ポリシー・ファイルを編集するには、PolicyTool を使用した Java 2 セキュリティー用のポリシー・ファイルの編集を参照してください。 client.policy ファイルの変更は、ノード上でローカルに行われます。
このファイルには、以下のデフォルトのアクセス権が含まれています。
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[z/OS]](../images/ngzos.gif)
grant codeBase "file:${was.install.root}/java/ext/*" {
permission java.security.AllPermission;
};
// JDK classes
grant codeBase "file:${was.install.root}/java/ext/-" {
permission java.security.AllPermission;
};
grant codeBase "file:${was.install.root}/java/tools/ibmtools.jar" {
permission java.security.AllPermission;
};
grant codeBase "file:/QIBM/ProdData/Java400/jdk14/lib/tools.jar" {
permission java.security.AllPermission;
};
// WebSphere system classes
grant codeBase "file:${was.install.root}/lib/-" {
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}/installedConnectors/-" {
permission java.security.AllPermission;
};
grant codeBase "file:${user.install.root}/installedConnectors/-" {
permission java.security.AllPermission;
};
grant codeBase "file:${was.install.root}/installedChannels/-" {
permission java.security.AllPermission;
};
// J2EE 1.4 permissions for client container applications
// in $WAS_HOME/installedApps
grant codeBase "file:${user.install.root}/installedApps/-" {
//Application client permissions
permission java.awt.AWTPermission "accessClipboard";
permission java.awt.AWTPermission "accessEventQueue";
permission java.awt.AWTPermission "showWindowWithoutWarningBanner";
permission java.lang.RuntimePermission "exitVM";
permission java.lang.RuntimePermission "loadLibrary";
permission java.lang.RuntimePermission "queuePrintJob";
permission java.net.SocketPermission "*", "connect";
permission java.net.SocketPermission "localhost:1024-", "accept,listen";
permission java.io.FilePermission "*", "read,write";
permission java.util.PropertyPermission "*", "read";
};
// J2EE 1.4 permissions for client container - expanded ear file code base
grant codeBase "file:${com.ibm.websphere.client.applicationclient.archivedir}/-" {
permission java.awt.AWTPermission "accessClipboard";
permission java.awt.AWTPermission "accessEventQueue";
permission java.awt.AWTPermission "showWindowWithoutWarningBanner";
permission java.lang.RuntimePermission "exitVM";
permission java.lang.RuntimePermission "loadLibrary";
permission java.lang.RuntimePermission "queuePrintJob";
permission java.net.SocketPermission "*", "connect";
permission java.net.SocketPermission "localhost:1024-", "accept,listen";
permission java.io.FilePermission "*", "read,write";
permission java.util.PropertyPermission "*", "read";
};
![[IBM i]](../images/iseries.gif)
grant codeBase "file:${was.install.root}/java/ext/*" {
permission java.security.AllPermission;
};
// JDK classes
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}/lib/-" {
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}/installedConnectors/-" {
permission java.security.AllPermission;
};
grant codeBase "file:${user.install.root}/installedConnectors/-" {
permission java.security.AllPermission;
};
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;
};
// J2EE 1.4 permissions for client container applications in $WAS_HOME/installedApps
grant codeBase "file:${user.install.root}/installedApps/-" {
//Application client permissions
permission java.awt.AWTPermission "accessClipboard";
permission java.awt.AWTPermission "accessEventQueue";
permission java.awt.AWTPermission "showWindowWithoutWarningBanner";
permission java.lang.RuntimePermission "exitVM";
permission java.lang.RuntimePermission "loadLibrary";
permission java.lang.RuntimePermission "queuePrintJob";
permission java.net.SocketPermission "*", "connect";
permission java.net.SocketPermission "localhost:1024-", "accept,listen";
permission java.io.FilePermission "*", "read,write";
permission java.util.PropertyPermission "*", "read";
};
// J2EE 1.4 permissions for client container - expanded ear file code base
grant codeBase "file:${com.ibm.websphere.client.applicationclient.archivedir}/-" {
permission java.awt.AWTPermission "accessClipboard";
permission java.awt.AWTPermission "accessEventQueue";
permission java.awt.AWTPermission "showWindowWithoutWarningBanner";
permission java.lang.RuntimePermission "exitVM";
permission java.lang.RuntimePermission "loadLibrary";
permission java.lang.RuntimePermission "queuePrintJob";
permission java.net.SocketPermission "*", "connect";
permission java.net.SocketPermission "localhost:1024-", "accept,listen";
permission java.io.FilePermission "*", "read,write";
permission java.util.PropertyPermission "*", "read";
};
ローカル・ノード上のすべてのクライアント・コンテナーおよびアプレットには、開始時に 更新済みアクセス権が付与されます。 ノード上の一部のクライアント・コンテナーまたはアプレットが、java.policy ファイルおよびデフォルトの client.policy ファイルでデフォルトとして定義されていないアクセス権を必要とする場合は、client.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.jar read)
![[IBM i]](../images/iseries.gif)
java.security.AccessControlException: access denied (java.io.FilePermission
app_server_root/Base/lib/mail-impl.jar read)
上記の例の 2 行は、本来は 1 行ですが、表示上の理由で 2 行で示されています。
![[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/lib/mail-impl.jar", "read"; };
アクセス権を追加するかどうかを判断するには、『Java 2 セキュリティーのアクセス制御例外』を参照してください。
ポリシー・ファイルを更新した場合は、ブラウザーおよびすべてのクライアント・アプリケーションを再始動する必要があります。