2.2. Java セキュリティーポリシー
Java Security ポリシーは、さまざまなクラスのコードに対する定義されたパーミッションのセットです。Java Security Manager は、アプリケーションによって要求されたアクションをセキュリティーポリシーと比較します。ポリシーがアクションを許可した場合、Security Manager はそのアクションの実行を許可します。ポリシーによりアクションが許可されない場合、セキュリティーマネージャーはそのアクションを拒否します。セキュリティーポリシーは、コードの場所、コードの署名、またはサブジェクトのプリンシパルに基づいてパーミッションを定義できます。
Java Development Kit(JDK)に含まれる policytool アプリケーションを使用してセキュリティーポリシーを作成できます。セキュリティーポリシーエントリーは、policytool を使用して設定可能な以下の設定要素で構成されます。
- CodeBase
- コードの起点となる URL の場所(ホストとドメイン情報を除く)。このパラメーターは任意です。
- SignedBy
- コードの署名に秘密鍵が使用された署名者を参照するキーストアで使用されるエイリアス。これは、単一の値またはコンマ区切りの値のリストになります。このパラメーターは任意です。省略した場合には、署名の有無に関わらず、Java Security Manager には影響がありません。
- Principal
- 実行中のスレッドのプリンシパルセットに存在する必要がある
principal_type/principal_nameペアの一覧。Principals エントリーは任意です。これを省略すると、実行中のスレッドのプリンシパルが Java Security Manager には影響しません。 - Permissions
- パーミッションは、コードに付与されるアクセスです。多くのパーミッションは、Java Enterprise Edition 6(Java EE 6)仕様の一部として提供されます。