検索

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

download PDF

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

OpenShift の承認に関する詳細は、OpenShift ドキュメントの RBAC の使用によるパーミッションの定義および適用 を参照してください。

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 の操作は実行できません。

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 を確認できません。

2.3.2. OpenShift 4.x での Fuse Console へのロールベースアクセスのカスタマイズ

OperatorHub を使用して Fuse Console をインストールした場合、OpenShift 4.x 上の Fuse Console のロールベースアクセス制御 で説明されているように、ロールベースアクセス制御 (RBAC) はデフォルトで有効になります。Fuse Console の RBAC 動作をカスタマイズする場合、Fuse Console をデプロイする前に ConfigMap ファイル (カスタムの RBAC 動作を定義する) を指定する必要があります。カスタム ConfigMap ファイルは、Fuse Console Operator をインストールした namespace に配置する必要があります。

コマンドラインテンプレートを使用して Fuse Console をインストールする場合、deployment-cluster-rbac.yml および deployment-namespace-rbac.yml テンプレートによって、設定ファイル (ACL.yml) が含まれる ConfigMap が作成されます。設定ファイルでは、MBean 操作に許可されるロールが定義されます。

前提条件

  • OperatorHub または Fuse Console の RBAC テンプレート (deployment-cluster-rbac.yml または deployment-namespace-rbac.yml) の 1 つを使用して、Fuse Console がインストール済みである必要があります。

手順

Fuse Console の RBAC ロールをカスタマイズする場合は、以下を行います。

  1. コマンドラインを使用して Fuse Console をインストールした場合、インストールテンプレートにはデフォルトの ConfigMap ファイルが含まれるため、次のステップを省略できます。

    OperatorHub を使用して Fuse Console をインストールした場合、Fuse Console をデプロイする前に RBAC ConfigMap を作成します。

    1. 現在の OpenShift プロジェクトが Fuse Console をインストールするプロジェクトであることを確認します。たとえば、Fuse Console を fusetest プロジェクトにインストールするには、以下のコマンドを実行します。

      oc project fusetest
    2. テンプレートから Fuse Console RBAC ConfigMap ファイルを作成するには、以下のコマンドを実行します。

      oc process -f {sb2-templates-base-url}/fuse-console-operator-rbac.yml -p APP_NAME=fuse-console | oc create -f -
  2. 以下のコマンドを実行してエディターで ConfigMap を開きます。

    oc edit cm $APP_NAME-rbac

    以下に例を示します。

    oc edit cm fuse-console-rbac
  3. ファイルを編集します。
  4. ファイルを保存して変更を適用します。Fuse Console の Pod は OpenShift によって自動的に再起動されます。

2.3.3. OpenShift 4.x での Fuse Console のロールベースアクセス制御の無効化

コマンドラインを使用して Fuse Console をインストール し、Fuse Console の RBAC テンプレートのいずれかを指定した場合、Fuse Console の HAWTIO_ONLINE_RBAC_ACL 環境変数は、ロールベースアクセス制御 (RBAC) の ConfigMap 設定ファイルのパスを OpenShift サーバーに渡します。HAWTIO_ONLINE_RBAC_ACL 環境変数が指定されていない場合、RBAC のサポートは無効になり、Pod リソース (OpenShift の) で update verb (動詞) が付与されたユーザーのみが Fuse Console の Pod で MBean 操作を呼び出すことが承認されます。

OperatorHub を使用して Fuse Console をインストールする場合は、ロールベースのアクセスはデフォルトで有効になり、HAWTIO_ONLINE_RBAC_ACL 環境変数は適用されません。

前提条件

コマンドラインを使用して Fuse Console がインストール済みで、Fuse Console の RBAC テンプレート (deployment-cluster-rbac.yml または deployment-namespace-rbac.yml) のいずれかを指定している。

手順

Fuse Console のロールベースのアクセスを無効にするには、以下を実行します。

  1. OpenShift で、Fuse Console の Deployment Config リソースを編集します。
  2. HAWTIO_ONLINE_RBAC_ACL 環境変数の定義をすべて削除します。

    (値を消去するだけでは不十分です)。

  3. ファイルを保存して変更を適用します。Fuse Console の Pod は OpenShift によって自動的に再起動されます。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.