4.2. Java セキュリティーポリシーの定義

Java セキュリティーポリシーは、さまざまなクラスのコードに対する定義されたパーミッションのセットです。Java Security Manager は、アプリケーションによって要求されたアクションをセキュリティーポリシーと比較します。ポリシーがアクションを許可した場合、Security Manager はそのアクションの実行を許可します。ポリシーによりアクションが許可されない場合、セキュリティーマネージャーはそのアクションを拒否します。

重要

以前のバージョンの JBoss EAP では、外部ファイル (例: EAP_HOME/bin/server.policy) を使用してポリシーが定義されていました。JBoss EAP 7 では、security-manager サブシステムと、個別のデプロイメントで XML ファイルを使用するという 2 つの方法で Java セキュリティーポリシーを定義します。Security-manager サブシステムは、ALL ディプロイメントの最小および最大パーミッションを定義します。一方、XML ファイルは、個別のディプロイメントによって要求されたパーミッションを指定します。

4.2.1. Security Manager サブシステムでのポリシーの定義

security-manager サブシステムを使用すると、すべてのデプロイメントの共有のパーミッションまたは共通のパーミッションを定義できます。これは、最小および最大のパーミッションセットを定義することで実行できます。すべてのデプロイメントには、最小パーミッションで定義された少なくともすべてのパーミッションが付与されます。このデプロイメントプロセスは、最大パーミッションセットで定義されたものを超えるパーミッションを要求すると失敗します。

例: 最小パーミッションセットを更新する管理 CLI コマンド

/subsystem=security-manager/deployment-permissions=default:write-attribute(name=minimum-permissions, value=[{class="java.util.PropertyPermission", actions="read", name="*"}])

例: 最大パーミッションセットを更新する管理 CLI コマンド

/subsystem=security-manager/deployment-permissions=default:write-attribute(name=maximum-permissions, value=[{class="java.util.PropertyPermission", actions="read,write", name="*"}, {class="java.io.FilePermission", actions="read,write", name="/-"}])

注記

最大パーミッションセットが定義されていない場合、その値のデフォルトが java.security.AllPermission に設定されます。

security-manager サブシステムの完全リファレンスは、JBoss EAP 『設定ガイド』を参照してください