EAP6:その6 – セキュリティレルムとセキュリティドメイン

渡邊です。こんにちは。

JBoss EAP6の研究をしています。
備忘録を兼ねて、EAP6ドキュメントを読む上で知っておくとよい概念を簡潔にまとめます。

セキュリティレルムとセキュリティドメインはセキュリティに関する概念です。この二つは関連があるようで、完全に独立した概念です。そのことをわかりにくくしているのは、ApplicationRealmだと思います。

セキュリティレルム

EAP6を管理する為の認証情報(IDとパスワード)または認可情報(IDとロール)です。ディフォルトでは2つ定義されています。ManagementRealmとApplicationRealmです。

ManagementRealmは、EAP6の管理者が管理インターフェースにアクセスする際の認証情報です。
管理コンソールにアクセスするとBASIC認証のダイアログが出現します。この時の認証に使うIDとパスワードの情報です。本来は管理CLIにアクセスする際も認証が必要ですが、ディフォルトではローカルアクセスに限りその必要がありません(サイレント認証機能といい、これを無効にする手順が「管理および設定ガイド」に載っています)。

ApplicationRealmは、アプリケーション(EAP6にデプロイされたものとは限りません)がEAP6上で稼働しているサービスを使う際の認証・認可情報です。例えば、アプリケーションががEAP6上で稼働しているMessagingサービスに接続し、メッセージを送信する際の認証、および認可の情報です。
アプリケーションを利用するユーザの認証・認可情報ではないです。

いずれも、ディフォルトでは{EAP6_HOME}/bin/add-user.shを使って認証・認可情報を登録します。その際、ManagementRealmの場合は{EAP6_HOME}/domain/configuration/mgmt-users.properties、ApplicationRealmの場合は{EAP6_HOME}/domain/configuration/application-users.properties(認証情報)と{EAP6_HOME}/domain/configuration/application-users.properties(認可情報)に登録内容が保存されます。

セキュリティレルムが参照する認証・認可情報は、任意のファイルやLDAPなどに設定できます(ManagementRealmとApplicationRealmに対してそのようにすると、add-user.shは不要になります。add-user.shは、mgmt-users.properties、application-users.properties、application-users.propertiesに認証・認可情報を書き込むだけなのです)。

セキュリティドメイン

EAP6にデプロイするアプリケーションに付与するセキュリティの設定です。1つのセキュリティドメインには、認証、認可、セキュリティ監査、セキュリティマッピングの設定が含まれます。
1つのプロファイルに複数のセキュリティドメインを定義できます。アプリケーション側で利用するセキュリティドメインを(その名称によって)指定します。具体的には、アプリケーションのweb.xmlと同じディレクトリにjboss-web.xmlを作成し、次のように設定します。

<jboss-web>
    <security-domain>java:/jaas/{セキュリティドメイン名}</security-domain>
</jboss-web>

セキュリティドメインは、認証と認可の仕組みとしてJAAS(Java Authentication and Authorization Service)を利用しています。従って、ログインモジュールを変更することで認証・認可情報の取得先を任意のファイル、DB、LDAPなどに変更できます。

ややこしいのは、ディフォルトで定義されたセキュリティドメイン「other」が、RealmDirectというログインモジュールを使っており、RealmDirectの認証と認可情報の取得先がApplicationRealmと同じであることです。
もっとややこしいのは、セキュリティレルムの認証情報の取得先としてセキュリティドメインを設定できることです。
設定でそのようにできるというだけであって、セキュリティレルムとセキュリティドメインは異なる概念です。

公式ドキュメントは膨大なので、こうした基本的な情報が埋もれていたり、分散しがちです。
まずは「JBoss Enterprise Application Platform6 構築・運用パーフェクトガイド」をお読みになることをおすすめします。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です