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 に適用されます。

  1. JBoss EAP の管理 API は、Jakarta Management 管理 Bean として公開されます。JMX 管理 Bean は core mbeans と呼ばれ、これらの Bean へのアクセスは基礎の管理 API 自体と全く同じように制御およびフィルターされます。
  2. jmx サブシステムは、書き込み権限が機密である状態で設定されます。そのため、Administrator および SuperUser ロールのユーザーのみがこのサブシステムを変更できます。Auditor ロールのユーザーはこのサブシステムの設定を読み取ることができます。
  3. デフォルトでは、デプロイされたアプリケーションやサービス、またはコアでない MBean によって登録された管理 Bean にはすべての管理ユーザーがアクセスできますが、MaintainerOperatorAdministrator および SuperUser ロールを持つユーザーのみが書き込みできます。

RBAC 認証

RBAC は、JBoss EAP と含まれる標準の認証プロバイダーと動作します。

ユーザー名/パスワード
ローカルプロパティーファイルまたは LDAP を使用できる ManagementRealm の設定に応じて検証されるユーザーとパスワードの組み合わせを使用して、ユーザーは認証されます。
クライアント証明書
トラストストアはクライアント証明書の認証情報を提供します。
local jboss user
サーバーが同じマシン上で稼働している場合、jboss-cli スクリプトは local jboss user として自動的に認証を行います。デフォルトでは、local jboss userSuperUser グループのメンバーです。

使用されるプロバイダーに関係なく、JBoss EAP はユーザーへロールを割り当てます。ManagementRealm または LDAP サーバーで認証を行う場合、これらのシステムはユーザーグループ情報を提供できます。JBoss EAP はこの情報を使用してユーザーにロールを割り当てることもできます。