Foundation 1.1.2

java.security
クラス Policy

java.lang.Object
  上位を拡張 java.security.Policy

public abstract class Policy
extends Object

これは、さまざまなソースのコードで利用できるアクセス権を指定する、Java アプリケーション環境のシステムセキュリティーポリシーを表す abstract クラスです。つまり、セキュリティーポリシーは、この Policy クラスに含まれる abstract メソッドの実装を提供する Policy サブクラスによって表現されます。

有効な Policy オブジェクトは、常に 1 つだけです。

Policy オブジェクトで利用されるポリシー情報を取り出す場所は、Policy の実装によって異なります。たとえば、ポリシー設定を、フラットな ASCII ファイル、Policy クラスの直列化されたバイナリファイル、またはデータベースとして保存できます。

現在インストールされている Policy オブジェクトを取得するには、getPolicy メソッドを呼び出します。Policy オブジェクトを変更するには、setPolicy メソッドを呼び出します (変更は、Policy をリセットするためのアクセス権を持つコードによって行われます)。

refresh メソッドにより、ポリシーオブジェクトの現在の設定がリフレッシュまたは再読み込みされます。

この処理は実装に依存します。たとえば、ポリシーオブジェクトがそのポリシーを設定ファイルに格納する場合、refresh を呼び出すと、ポリシー設定ファイルが再度読み込まれます。リフレッシュされたポリシーは、特定の ProtectionDomain のクラスに対して有効でない場合があります。これは、Policy プロバイダの implies メソッドの実装と、PermissionCollection のキャッシュ方法に左右されます。

デフォルトの Policy 実装を変更するには、(Java セキュリティープロパティーファイルの) policy.provider セキュリティープロパティーの値を、希望する Policy 実装クラスの完全指定名に設定します。Java セキュリティープロパティーファイルは、<JAVA_HOME>/lib/security/java.security という名前のファイルに格納されています。ここで、<JAVA_HOME> は SDK のインストール先ディレクトリを指します。

関連項目:
CodeSource, PermissionCollection, SecureClassLoader

コンストラクタの概要
Policy()
           
 
メソッドの概要
abstract  PermissionCollection getPermissions(CodeSource codesource)
          グローバルポリシーを評価し、指定されたコードソースのコードに対して許可されたアクセス権のセットを指定する PermissionCollection オブジェクトを返します。
 PermissionCollection getPermissions(ProtectionDomain domain)
          グローバルポリシーを評価し、指定された保護ドメインの特性に対して許可されたアクセス権のセットを指定する PermissionCollection オブジェクトを返します。
static Policy getPolicy()
          インストール済みの Policy オブジェクトを返します。
 boolean implies(ProtectionDomain domain, Permission permission)
          ProtectionDomain に許可されたアクセス権についてグローバルポリシーを評価し、そのアクセス権が許可されているかどうかを判定します。
abstract  void refresh()
          ポリシー設定をリフレッシュまたは再読み込みします。
static void setPolicy(Policy policy)
          システム全体の Policy オブジェクトを設定します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

Policy

public Policy()
メソッドの詳細

getPolicy

public static Policy getPolicy()
インストール済みの Policy オブジェクトを返します。この値は setPolicy への呼び出しによって変更が可能なので、キャッシュしないでください。このメソッドは最初に SecurityPermission("getPolicy") アクセス権を使用して SecurityManager.checkPermission を呼び出し、Policy オブジェクトを取得してもよいかどうかを確認します。

戻り値:
インストール済みの Policy
例外:
SecurityException - セキュリティーマネージャーが存在し、セキュリティーマネージャーの checkPermission メソッドが Policy オブジェクトの取得を許可しない場合
関連項目:
SecurityManager.checkPermission(Permission), setPolicy(java.security.Policy)

setPolicy

public static void setPolicy(Policy policy)
システム全体の Policy オブジェクトを設定します。このメソッドは最初に SecurityPermission("setPolicy") アクセス権を使用して SecurityManager.checkPermission を呼び出し、Policy を設定してもよいかどうかを確認します。

パラメータ:
policy - 新規システム Policy オブジェクト
例外:
SecurityException - セキュリティーマネージャーが存在し、セキュリティーマネージャーの checkPermission メソッドが Policy の設定を許可しない場合
関連項目:
SecurityManager.checkPermission(Permission), getPolicy()

getPermissions

public abstract PermissionCollection getPermissions(CodeSource codesource)
グローバルポリシーを評価し、指定されたコードソースのコードに対して許可されたアクセス権のセットを指定する PermissionCollection オブジェクトを返します。

パラメータ:
codesource - 呼び出し側に関連付けられた CodeSource。 これによってコードの元の場所 (コードの発信元) とその署名者の公開鍵がカプセル化される
戻り値:
ポリシーに従って codesource のコードに対して許可されたアクセス権のセット。返されるアクセス権のセットは新しい可変インスタンスであり、かつ複数の異なる種類の Permission 型をサポートしている必要があります。

getPermissions

public PermissionCollection getPermissions(ProtectionDomain domain)
グローバルポリシーを評価し、指定された保護ドメインの特性に対して許可されたアクセス権のセットを指定する PermissionCollection オブジェクトを返します。

パラメータ:
domain - 呼び出し側に関連付けられた ProtectionDomain
戻り値:
ポリシーに従って domain に対して許可されたアクセス権のセット。返されるアクセス権のセットは新しい可変インスタンスであり、かつ複数の異なる種類の Permission 型をサポートしている必要があります。
導入されたバージョン:
1.4
関連項目:
ProtectionDomain, SecureClassLoader

implies

public boolean implies(ProtectionDomain domain,
                       Permission permission)
ProtectionDomain に許可されたアクセス権についてグローバルポリシーを評価し、そのアクセス権が許可されているかどうかを判定します。

パラメータ:
domain - 判定対象の ProtectionDomain
permission - 含まれているかどうかを判定する Permission オブジェクト
戻り値:
permission がこの ProtectionDomain に許可されたアクセス権の適切なサブセットの場合は true
導入されたバージョン:
1.4
関連項目:
ProtectionDomain

refresh

public abstract void refresh()
ポリシー設定をリフレッシュまたは再読み込みします。このメソッドの動作は実装に依存します。たとえば、ファイルの形式のポリシーに対して refresh を呼び出すと、ファイルが再読み込みされます。


Foundation 1.1.2

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。