library.policy ファイルのアクセス権
Java™ 2 セキュリティーは、いくつかのポリシー・ファイルを使用して、各 Java プログラムの付与された権限を決定します。
WebSphere® Application Server がサポートしている使用可能なポリシー・ファイルのリストについては、Java 2 セキュリティー・ポリシー・ファイルを参照してください。
library.policy ファイルは、共有ライブラリー (Java ライブラリー・クラス) のテンプレートです。 複数のエンタープライズ・アプリケーションで、共有ライブラリーの定義および使用が可能です。共有ライブラリーの定義および管理方法については、『共有ライブラリーの管理』を参照してください。
共有ライブラリーのデフォルトの許可 (java.policy ファイル、app.policy ファイル、および library.policy ファイルで定義された許可を組み合わせたもの) で十分である場合は、特に処置を行う必要はありません。 デフォルトのライブラリー・ポリシーが自動的に使用されます。セル内のライブラリーを共有する上で特定の変更を加える必要がある場合は、library.policy ファイルを更新してください。
ポリシー・ファイルに構文エラーが あると、アプリケーション・サーバーは失敗します。 これらのポリシー・ファイルの編集は、慎重に行ってください。
ポリシー・ファイルを抽出するには、 ご使用の環境に適切な変数値を使用し、 コマンド・プロンプトによって、以下のコマンドを入力します。 説明上の理由から、最初の 2 行は分割されています。
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
wsadmin> set obj [$AdminConfig extract cells/cell_name/nodes/
node_name/library.policy c:/temp/test/library.policy]
![[IBM i]](../images/iseries.gif)
wsadmin> set obj [$AdminConfig extract cells/cell_name/nodes/
node_name/library.policy /temp/test/library.policy]
![[z/OS]](../images/ngzos.gif)
wsadmin> set obj [$AdminConfig extract cells/cell_name/nodes/
node_name/library.policy /temp/test/library.policy]
ポリシー・ツールを使用して、抽出された library.policy ファイルを編集します。詳しくは、 PolicyTool を使用した Java 2 セキュリティー用のポリシー・ファイルの編集を参照してください。
ポリシー・ファイルをチェックインするには、ご使用の環境に適切な変数値を使用し、コマンド・プロンプトによって、以下のコマンドを入力します。更新された library.policy は、サーバーの再始動後、共有ライブラリーに適用されます。
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
wsadmin> $AdminConfig checkin cells/cell_name/nodes/node_name/library.policy
c:/temp/test/library.policy $obj
wsadmin> $AdminConfig checkin cells/cell_name/nodes/node_name/library.policy
temp/test/library.policy $obj
![[z/OS]](../images/ngzos.gif)
wsadmin> $AdminConfig checkin cells/cell_name/nodes/node_name/library.policy
temp/test/library.policy $obj
例
共有ライブラリーには、java.policy ファイル、app.policy ファイル、および library.policy ファイルに含まれる許可を組み合わせたものが適用されます。 library.policy ファイルは、構成サービスとファイル複製サービスによって管理されます。
このファイルに加えられた変更は、セル内の他のノードに複製されます。
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[z/OS]](../images/ngzos.gif)
grant {
};
![[IBM i]](../images/iseries.gif)
grant {
};
セル内の共有ライブラリーが、java.policy ファイル、app.policy ファイル、および library.policy ファイル内でデフォルトとして定義されていない許可を必要とするものである場合は、library.policy ファイルを更新してください。 アクセス権がない場合、java.security.AccessControlException 例外が発生します。 不足しているアクセス権は 、例外データにリストされます。
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[Windows]](../images/windows.gif)
java.security.AccessControlException: access denied (java.io.FilePermission
app_server_root/lib/mail-impl.jar read)
上記の行は説明目的のためのみ 2 行に分かれて表示されています。app_server_root 変数は、インストール・ディレクトリーを表します。![[IBM i]](../images/iseries.gif)
java.security.AccessControlException: access denied (java.io.FilePermission
app_server_rootBase/lib/mail-impl.jar read)
上記の行は説明目的のためのみ 2 行に分かれて表示されています。Java プログラムがこの例外を受け取り、このアクセス権の追加が認められたら、 アクセス権を library.policy ファイルに追加してください。
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[Windows]](../images/windows.gif)
grant { permission java.io.FilePermission "app_server_root/lib/mail-impl.jar", "read"; };
上記の行は説明目的のためのみ 2 行に分かれて表示されています。app_server_root 変数は、インストール・ディレクトリーを表します。![[IBM i]](../images/iseries.gif)
grant codeBase "file:user_client_installed_location" { permission
java.io.FilePermission "app_server_rootBase/lib/mail-impl.jar", "read"; };
上記の行は説明目的のためのみ 2 行に分かれて表示されています。アクセス権を追加するかどうかを判断するには、『Java 2 セキュリティーのアクセス制御例外』を参照してください。
library.policy ファイルへの変更を有効にするには、 関連する Java プロセスを再始動します。