Java 2 セキュリティーは、いくつかのポリシー・ファイルを使用 して、それぞれの Java プログラムごとに認可されたアクセス権を判別します。
このファイルには、以下のデフォルトのアクセス権が含まれています。
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 WebSphere Application Server 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"; };
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 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 WebSphere Application Server 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 例外が発生します。 不足しているアクセス権は、例外データにリストされます。 例えば次のようになります。
java.security.AccessControlException: access denied (java.io.FilePermission
C:¥WebSphere¥AppServer¥java¥jre¥lib¥ext¥mail.jar read)
java.security.AccessControlException: access denied (java.io.FilePermission
app_server_root/Base/lib/mail-impl.jar read)
上記の 2 行のサンプル・コードは、 本来は 1 行ですが、表示上の目的から 2 行で示されています。
クライアント・プログラムは、
この例外を受け取り、アクセス権の追加が認められると、
このアクセス権を client.policy ファイルに追加します。
例: grant codebase "file:user_client_installed_location" { permission java.io.FilePermission
"C:¥WebSphere¥AppServer¥java¥jre¥lib¥ext¥mail.jar", "read"; };
クライアント・プログラムは、
この例外を受け取り、アクセス権の追加が認められると、
このアクセス権を client.policy ファイルに追加します。
例: grant codebase "file:user_client_installed_location" {
permission java.io.FilePermission "app_server_root/Base/lib/mail-impl.jar",
"read"; };
アクセス権を追加するかどうかを判断するには、アクセス制御の例外 を参照してください。
ポリシー・ファイルを更新した場合は、ブラウザーおよびすべてのクライアント・アプリケーションを再始動する必要があります。