5.12.2. JACC (Java Authorization Contract for Containers) のセキュリティーの設定
jboss-web.xml
を編集する必要があります。
セキュリティードメインに JACC サポートを追加するには、required
フラグセットで JACC
承認ポリシーをセキュリティードメインの承認スタックへ追加します。以下は JACC サポートを持つセキュリティードメインの例になりますが、セキュリティードメインは 直接 XML には設定されず、管理コンソールまたは管理 CLI で設定されます。
jboss-web.xml
は デプロイメントの META-INF/
または WEB-INF/
ディレクトリーに存在し、Web コンテナに対する追加の JBoss 固有の設定を格納し、上書きします。JACC が有効になっているセキュリティードメインを使用するには、<security-domain>
要素が含まれるようにし、 さらに <use-jboss-authorization>
要素を true
に設定する必要があります。以下は、上記の JACC セキュリティードメインを使用するよう適切に設定されているアプリケーションになります。
セキュリティードメインと JACC を使用するよう EJB を設定する方法は Web アプリケーションの場合とは異なります。EJB の場合、ejb-jar.xml
記述子にてメソッドまたはメソッドのグループ上でメソッドパーミッションを宣言できます。<ejb-jar>
要素内では、すべての子 <method-permission>
要素に JACC ロールに関する情報が含まれます。詳細は設定例を参照してください。EJBMethodPermission
クラスは Java Enterprise Edition 6 API の一部で、http://docs.oracle.com/javaee/6/api/javax/security/jacc/EJBMethodPermission.html で説明されています。
例5.20 EJB の JACC メソッドパーミッション例
<security>
子要素の jboss-ejb3.xml
記述子に宣言されます。セキュリティードメインの他に、EJB が実行されるプリンシパルを変更する run-as プリンシパル を指定することもできます。
例5.21 EJB におけるセキュリティードメイン宣言の例