java.policy ファイルのアクセス権

Java™ 2 セキュリティーは、いくつかのポリシー・ファイルを使用して、各 Java プログラムの付与された権限を決定します。

WebSphere® Application Server がサポートしている使用可能なポリシー・ファイルのリストについては、Java 2 セキュリティー・ポリシー・ファイルを参照してください。

[IBM i]IBM Technology for Java の場合、java.policy ファイルは java_home/jre/lib/security ディレクトリーにあります。 すべての JVM で java.policy ファイルはシステム全体で使用されます。サーバーで java.policy ファイルを編集しないでください。

[IBM i]AdminTask オブジェクトの showVariables コマンドを使用して、 サーバーのプロファイルに関連したノードの java_home を取得します。 例えば、ノードが myNode である場合は、次のようにします。
  1. QShell を入力します。
  2. cd to profile_root/bin
  3. 次を起動します。wsadmin -conntype NONE -c '$AdminTask showVariables {-scope Node=myNode -variableName JAVA_HOME}'

[AIX Solaris HP-UX Linux Windows][z/OS]java.policy ファイルは、ノード上の Java 仮想マシン (JVM) で実行されるすべての Java プログラムで共有される、グローバルなデフォルト・ポリシー・ファイルです。 java.policy ファイルへの変更は、ノードに対してローカルに行われます。 デフォルトの Java ポリシーは自動的に取得されます。ポリシー・ファイルに構文エラーが あると、アプリケーション・サーバーは失敗します。 更新された java.policy ファイルは、ローカル・ノード上のすべての JVM で実行されるすべての Java プログラムに適用されます。 プログラムを再始動して、変更を有効にします。 このファイルには変更を加えないでください。ノード上の Java プログラムの一部に特定の変更を加える必要があり、 さらに java.policy ファイルを更新する必要がある場合は、ポリシー・ツールを使用して java.policy ファイルを慎重に変更します。 詳しくは、PolicyTool を使用した Java 2 セキュリティー用のポリシー・ファイルの編集を参照してください。

[AIX Solaris HP-UX Linux Windows][z/OS]

java.policy ファイルのデフォルト権限

java.policy ファイルは、リポジトリーおよびファイル複製サービスによって管理される構成ファイルではありません。 このファイルへの変更はローカルであり、 他のマシンに複製されることはありません。WebSphere Application Server が提供する java.policy ファイルは、install_root/java/jre/lib/security/java.policy にあります。 このファイルには、以下のデフォルトのアクセス権が含まれています。
// Standard extensions get all permissions by default
grant codeBase "file:${java.home}/lib/ext/*" {
        permission java.security.AllPermission;
};
// default permissions granted to all domains
grant {
        // Allows any thread to stop itself using the java.lang.Thread.stop()
        // method that takes no argument.
        // Note that this permission is granted by default only to remain
        // backwards compatible.
                // It is strongly recommended that you either remove this permission        // from this policy file or further restrict it to code sources
        // that you specify, because Thread.stop() is potentially unsafe.
        // See "http://java.sun.com/notes" for more information.
        // permission java.lang.RuntimePermission "stopThread";

        // allows anyone to listen on un-privileged ports
        permission java.net.SocketPermission "localhost:1024-", "listen";

        // "standard" properties that can be read by anyone

        permission java.util.PropertyPermission "java.version", "read";
        permission java.util.PropertyPermission "java.vendor", "read";
        permission java.util.PropertyPermission "java.vendor.url", "read";
        permission java.util.PropertyPermission "java.class.version", "read";
        permission java.util.PropertyPermission "os.name", "read";
        permission java.util.PropertyPermission "os.version", "read";
        permission java.util.PropertyPermission "os.arch", "read";
        permission java.util.PropertyPermission "file.separator", "read";
        permission java.util.PropertyPermission "path.separator", "read";
        permission java.util.PropertyPermission "line.separator", "read";

        permission java.util.PropertyPermission "java.specification.version", "read";
        permission java.util.PropertyPermission "java.specification.vendor", "read";
        permission java.util.PropertyPermission "java.specification.name", "read";

        permission java.util.PropertyPermission "java.vm.specification.version","read";
        permission java.util.PropertyPermission "java.vm.specification.vendor","read";
        permission java.util.PropertyPermission "java.vm.specification.name", "read";
        permission java.util.PropertyPermission "java.vm.version", "read";
        permission java.util.PropertyPermission "java.vm.vendor", "read";
        permission java.util.PropertyPermission "java.vm.name", "read";
       };

ノード上の Java プログラムの中に、java.policy ファイルで デフォルトとして定義されていないアクセス権を必要とするものがある場合は、java.policy ファイルの更新を検討してください。 ほとんどの場合、java.policy ファイル以外のポリシー・ファイルが更新されます。アクセス権がなければ、java.security.AccessControlException 例外が発生します。 不足しているアクセス権は 、例外データにリストされます。

以下に例を示します。
java.security.AccessControlException: access denied (java.io.FilePermission
C:¥WebSphere¥AppServer¥java¥jre¥lib¥ext¥mail.jar read)

前の 2 行は 1 つの連続した行として入力してください。

Java プログラムがこの例外を受け取って、このアクセス権の追加が認められたら、アクセス権を java.policy ファイルに追加してください。

以下に例を示します。
grant codeBase "file:user_client_installed_location" {   
permission java.io.FilePermission
"C:¥WebSphere¥AppServer¥java¥jre¥lib¥ext¥mail.jar", "read"; };

アクセス権を追加するかどうかを判断するには、『Java 2 セキュリティーのアクセス制御例外』を参照してください。

[AIX Solaris HP-UX Linux Windows][z/OS]更新した java.policy ファイルを有効にするには、Java プロセスをすべて再始動します。

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



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