9.2. セキュリティーサブシステムの構造

セキュリティーサブシステムは管理されたドメインまたはスタンドアロン設定ファイルに設定されます。設定要素のほとんどは Web ベースの管理コンソールかコンソールベースの管理 CLI を使用して設定することが可能です。以下はセキュリティーサブシステムの例を表す XML になります。

例9.1 セキュリティーサブシステムの設定例

<subsystem xmlns="urn:jboss:domain:security:1.1">
	<security-management>
		...
	</security-management>
	<subject-factory>
		...
	</subject-factory>
    <security-domains>
        <security-domain name="other" cache-type="default">
            <authentication>
                <login-module code="Remoting" flag="optional">
                    <module-option name="password-stacking" value="useFirstPass"/>
                </login-module>
                <login-module code="RealmUsersRoles" flag="required">
                    <module-option name="usersProperties" value="${jboss.domain.config.dir}/application-users.properties"/>
                    <module-option name="rolesProperties" value="${jboss.domain.config.dir}/application-roles.properties"/>
                    <module-option name="realm" value="ApplicationRealm"/>
                    <module-option name="password-stacking" value="useFirstPass"/>
                </login-module>
            </authentication>
        </security-domain>
        <security-domain name="jboss-web-policy" cache-type="default">
            <authorization>
                <policy-module code="Delegating" flag="required"/>
            </authorization>
        </security-domain>
        <security-domain name="jboss-ejb-policy" cache-type="default">
            <authorization>
                <policy-module code="Delegating" flag="required"/>
            </authorization>
        </security-domain>
    </security-domains>
	<security-properties>
		...
	</security-properties>
</subsystem>		
		

The <security-management><subject-factory><security-properties> 要素はデフォルト設定で空になっています。
セキュリティーサブシステム内の各トップレベル要素にはセキュリティー設定の異なる側面に関する情報が含まれています。
<security-management>
このセクションはセキュリティーサブシステムのハイレベルの挙動を上書きします。各設定は任意になります。ディープコピーサブジェクトモードを除き、これらの設定を変更することはあまりありません。
オプション 説明
deep-copy-subject-mode
スレッドの安全性を高めるためセキュリティートークンへコピーまたはリンクするかどうかを指定します。
authentication-manager-class-name
使用する代替の AuthenticationManager 実装クラス名を指定します。
default-callback-handler-class-name
ログインモジュール内で使用される CallbackHandler 実装のグローバルクラス名を指定します。
authorization-manager-class-name
使用する代替の AuthorizationManager 実装クラス名を指定します。
audit-manager-class-name
使用する代替の AuditManager 実装クラス名を指定します。
identity-trust-manager-class-name
使用する代替の IdentityTrustManager 実装クラス名を指定します。
mapping-manager-class-name
使用する MappingManager 実装クラス名を指定します。
<subject-factory>
サブジェクトファクトリはサブジェクトインスタンスの作成を制御します。呼び出し側を検証するため認証マネージャーを使用することがあります。サブジェクトを確立するため、サブジェクトファクトリは主に JCA コンポーネントに対して使用されます。サブジェクトファクトリを変更する必要があることはあまりありません。
<security-domains>
複数のセキュリティードメインを保持するコンテナ要素です。セキュリティードメインには認証、承認、マッピング、監査モジュールおよび JASPI 認証、JSSE 設定の情報が含まれることがあります。アプリケーションはセキュリティードメインを指定してセキュリティー情報を管理します。
<security-properties>
java.security.Security クラスに設定されるプロパティーの名前と値が含まれます。