Menu Close

1.2.3. OpenShift 4.x 上の Fuse Console のロールベースアクセス制御

Fuse Console は、OpenShift によって提供されるユーザー承認に応じてアクセスを推測する、ロールベースアクセス制御 (RBAC) を提供します。Fuse Console では、RBAC はユーザーが Pod で MBean 操作を実行できるかどうかを判断します。

OpenShift の承認に関する詳細は、OpenShift ドキュメントの「Using RBAC to define and apply permissions」を参照してください。

Operator を使用して OpenShift に Fuse Console をインストールした場合、ロールベースのアクセスはデフォルトで有効になります。

テンプレートでインストールして、Fuse Console のロールベースアクセスを実装する場合は、RBAC で設定可能なテンプレートの 1 つ (fuse-console-cluster-rbac.yml または fuse-console-namespace-rbac.yml) を使用して、「コマンドラインを使用した OpenShift 4.x での Fuse Console のインストールおよびデプロイ」の説明どおりに Fuse Console をインストールする必要があります。

Fuse Console RBAC は、OpenShift の Pod リソースでユーザーの verb (動詞) アクセスを利用して、Fuse Console の Pod の MBean 操作にユーザーがアクセスできるかどうかを判断します。デフォルトでは、Fuse Console には 2 つのユーザーロールがあります。

  • admin

    ユーザーが OpenShift で Pod を 更新 できる場合、ユーザーには Fuse Console の admin ロールが付与されます。ユーザーは、Fuse Console で、その Pod に対して 書き込み の MBean 操作を実行できます。

  • viewer

    ユーザーが OpenShift で Pod を 取得 できる場合、ユーザーには Fuse Console の viewer ロールが付与されます。ユーザーは、Fuse Console で、その Pod に対して 読み取り専用 の MBean 操作を実行できます。

注記

RBAC 以外のテンプレートを使用して Fuse Console をインストールした場合、Pod リソースで update verb (動詞) が付与された OpenShift ユーザーのみが Fuse Console の MBeans 操作の実行が許可されます。Pod リソースで get verb (動詞) を付与されたユーザーは、Pod を 表示 できますが、Fuse Console の操作は実行できません。

1.2.3.1. OpenShift 4.x での Fuse Console のアクセスロールの判断

Fuse Console のロールベースアクセス制御は、Pod に対するユーザーの OpenShift パーミッションから推測されます。特定のユーザーに付与された Fuse Console のアクセスロールを判断するには、Pod に対してユーザーに付与された OpenShift パーミッションを取得します。

前提条件

  • ユーザーの名前を知っている必要があります。
  • Pod の名前を知っている必要があります。

手順

  • ユーザーが Pod に対して Fuse Console の admin ロールを持っているかどうかを確認するには、以下のコマンドを実行してユーザーが OpenShift で Pod を更新できるかどうかを確認します。

    oc auth can-i update pods/<pod> --as <user>

    応答が yes の場合、ユーザーはその Pod に対して Fuse Console の admin ロールを持っています。ユーザーは、Fuse Console で、その Pod に対して 書き込み の MBean 操作を実行できます。

  • ユーザーが Pod に対して Fuse Console の viewer ロールを持っているかどうかを確認するには、以下のコマンドを実行してユーザーが OpenShift で Pod を取得できるかどうかを確認します。

    oc auth can-i get pods/<pod> --as <user>

    応答が yes の場合、ユーザーはその Pod に対して Fuse Console の viewer ロールを持っています。ユーザーは、Fuse Console で、その Pod に対して 読み取り専用 の MBean 操作を実行できます。コンテキストによっては、Fuse Console でオプションを無効にしたり、ユーザーによる 書き込み MBean 操作の試行時に「このユーザーの操作は許可されない」という内容のメッセージを表示したりして、viewer ロールを持つユーザーによる 書き込み MBean 操作が実行されないようにします。

    応答が no の場合、ユーザーは Fuse Console のロールにバインドされず、ユーザーは Fuse Console で Pod を確認できません。