2.7.3.3. 管理インターフェイスへの RBAC の追加
デフォルトでは、RBAC システムは無効になっています。有効にするには、provider
属性を simple
から rbac
に変更します。これは、管理 CLI を使用して変更できます。稼働中のサーバーで RBAC を無効化または有効化した場合、サーバー設定をリロードして変更を反映する必要があります。
管理インターフェイスに対して RBAC が有効化された場合、アクセスできるリソースとリソースの属性で実行できる操作は、ユーザーに割り当てられたロールによって決定されます。Administrator
または SuperUser
ロールのユーザーのみがアクセス制御システムを閲覧および変更できます。
ユーザーとロールを適切に設定せずに RBAC を有効にすると、管理者が管理インターフェイスにログインできなくなることがあります。
管理コンソールでの RBAC の影響
管理コンソールでは、ユーザーに割り当てられたパーミッションに応じて一部の制御と表示が無効になっていることがあります。 このような制御と表示は灰色で表示されるか全く表示されません。
ユーザーがリソース属性の読み取り権限を持たない場合、その属性はコンソールでは空欄で表示されます。たとえば、ほとんどのロールはデータソースのユーザー名およびパスワードフィールドを読み取りできません。
ユーザーがリソース属性の読み取り権限を持ち、書き込み権限は持たない場合、その属性はリソースの編集フォームで無効化されます。ユーザーがリソースへの書き込み権限を持たない場合、そのリソースの編集ボタンは表示されません。
ユーザーがリソースまたは属性へのアクセス権を持たず、そのロールに対してアドレス指定できない場合、そのユーザーのコンソールには表示されません。この例の 1 つがアクセス制御システム自体で、デフォルトでは特定のロールのみが閲覧できます。
管理コンソールは、以下の一般的な RBAC タスクに対してもインターフェイスを提供します。
- 各ユーザーに割り当てられたロール、または各ユーザーから除外されたロールの表示および設定。
- 各グループに割り当てられたロール、または各グループから除外されたロールの表示および設定。
- ロールごとのグループおよびユーザーメンバーシップの表示。
- ロールごとのデフォルトメンバーシップの設定。
- スコープ指定されたロールの作成。
現時点では、管理コンソールでは制約を設定できません。
管理 CLI または管理 API での RBAC の影響
RBAC が有効である場合、管理 CLI や管理 API の動作が若干異なります。
読み取りできないリソースや属性は、結果からフィルター処理されます。ロールがフィルターされたリソースや属性をアドレス指定できる場合、結果の response-headers
セクションにある filtered-attributes
としてリストされます。ロールがリソースや属性をアドレス指定できない場合はリストされません。
アドレス指定できないリソースにアクセスしようとすると、Resource Not Found
エラーが発生します。
適切な書き込みまたは読み取り権限のないユーザーが、アドレス指定可能なリソースを読み取りまたは書き込みしようとすると、Permission Denied
エラーが返されます。
管理 CLI は、管理コンソールと同じ RBAC タスクをすべて実行でき、さらに以下のような追加のタスクも実行できます。
- RBAC の有効化および無効化。
- パーミッション組み合わせポリシーの変更
- アプリケーションリソースおよびリソース機密性制約の設定
Jakarta Management マネージド Bean に対する RBAC の影響
ロールベースのアクセス制御は、次の 3 つの方法で Jakarta Management に適用されます。
-
JBoss EAP の管理 API は、Jakarta Management 管理 Bean として公開されます。JMX 管理 Bean は
core mbeans
と呼ばれ、これらの Bean へのアクセスは基礎の管理 API 自体と全く同じように制御およびフィルターされます。 -
jmx
サブシステムは、書き込み権限が機密である状態で設定されます。そのため、Administrator
およびSuperUser
ロールのユーザーのみがこのサブシステムを変更できます。Auditor
ロールのユーザーはこのサブシステムの設定を読み取ることができます。 -
デフォルトでは、デプロイされたアプリケーションやサービス、またはコアでない MBean によって登録された管理 Bean にはすべての管理ユーザーがアクセスできますが、
Maintainer
、Operator
、Administrator
およびSuperUser
ロールを持つユーザーのみが書き込みできます。
RBAC 認証
RBAC は、JBoss EAP と含まれる標準の認証プロバイダーと動作します。
- ユーザー名/パスワード
-
ローカルプロパティーファイルまたは LDAP を使用できる
ManagementRealm
の設定に応じて検証されるユーザーとパスワードの組み合わせを使用して、ユーザーは認証されます。 - クライアント証明書
- トラストストアはクライアント証明書の認証情報を提供します。
- local jboss user
-
サーバーが同じマシン上で稼働している場合、
jboss-cli
スクリプトはlocal jboss user
として自動的に認証を行います。デフォルトでは、local jboss user
はSuperUser
グループのメンバーです。
使用されるプロバイダーに関係なく、JBoss EAP はユーザーへロールを割り当てます。ManagementRealm
または LDAP サーバーで認証を行う場合、これらのシステムはユーザーグループ情報を提供できます。JBoss EAP はこの情報を使用してユーザーにロールを割り当てることもできます。