4.4. RBAC を使用した管理インターフェイスのセキュア化

ここでは、RBAC と elytron サブシステムのアイデンティティーストアを使用して JBoss EAP 管理インターフェイスをセキュアにする方法を説明します。

4.4.1. セキュリティー

JBoss EAP では、管理インターフェイスで RBAC を使用できます。RBAC の概念については、RBAC の説明を参照してください。この例では、exampleRealm というセキュリティーレルムを使用します。ロールデコーダー、セキュリティードメイン、認証ファクトリーなどの残りのセキュリティー設定は、新しいアイデンティティーストアを用いた管理インターフェイスおよびアプリケーションのセキュア化 と同じになります。RBAC は、管理インターフェイスに対して provider 属性を rbac に設定し、希望のユーザーとロールで exampleRealm を更新すると有効になります。

4.4.2. 仕組み

この例では、以下のユーザーが既存のセキュリティーレルムに追加されています。

表4.3 exampleRealm ユーザー

ユーザー名パスワード

Suzy

Testing123!

Tim

Testing123!

Emily

Testing123!

Zach

Testing123!

Natalie

Testing123!

グループメンバーシップを基に、ユーザーは以下の RBAC ロールにマップされています。

表4.4 RBAC ロール

ユーザー名RBAC ロール

Suzy

SuperUser

Tim

Administrator

Emily

Maintainer

Zach

Deployer

Natalie

Monitor

起動時、JBoss EAP はコアサービスと、セキュリティーおよび RBAC 設定をロードする elytron サブシステムをロードします。RBAC が有効になっていない場合、exampleRealm のユーザーはすべて SuperUser として考慮され、アクセスが無制限になります。RBAC は有効になっているため、各ユーザーは持っているロールに応じて制限されるようになります。上記の表のとおり、Suzy、Tim、Emily Zach および Natalie は、異なるロールを持っています。たとえば、Suzy と Tim のみがアクセス制御情報の読み取りと編集を行えます。Suzy、Tim、および Emily はランタイム状態とその他の永続設定の情報を編集できます。Zach もランタイム状態とその他の永続設定の情報を編集できますが、アプリケーションリソース関係のみに限定されます。Suzy、Tim、Emily、Zack、および Natalie は設定および状態情報を読み取りできますが、Natalie は何も更新できません。各ロールの詳細と JBoss EAP による RBAC の処理方法については、ロールベースのアクセス制御管理インターフェイスへの RBAC の追加 を参照してください。