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 の追加 を参照してください。