6.2. OpenShift 4 上の HawtIO のロールベースアクセス制御


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

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

Operator を使用して OpenShift に HawtIO をインストールすると、ロールベースのアクセスがデフォルトで有効になります。HawtIO RBAC は、OpenShift の Pod リソースでユーザーの verb アクセスを利用して、HawtIO での Pod の MBean 操作へのユーザーのアクセスを決定します。デフォルトでは、HawtIO には 2 つのユーザーロールがあります。

  1. admin: ユーザーが OpenShift で Pod を更新できる場合、ユーザーには HawtIO の admin ロールが付与されます。ユーザーは、HawtIO で Pod の書き込み MBean 操作を実行できます。
  2. viewer: ユーザーが OpenShift で Pod を取得できる場合、ユーザーには HawtIO の viewer ロールが付与されます。ユーザーは、HawtIO で Pod の読み取り専用 MBean 操作を実行できます。

6.2.1. OpenShift 4 上の HawtIO のアクセスロールの決定

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

前提条件:

  • ユーザーの名前
  • Pod の名前

手順:

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

    oc auth can-i update pods/<pod> --as <user>
  2. 応答が yes の場合、ユーザーには Pod の admin ロールがあります。ユーザーは、HawtIO で Pod の書き込み操作を実行できます。
  3. ユーザーが Pod に対して HawtIO の viewer ロールを持っているかどうかを確認するには、以下のコマンドを実行してユーザーが OpenShift で Pod を取得できるかどうかを確認します。

    oc auth can-i get pods/<pod> --as <user>
  4. 応答が yes の場合、ユーザーには Pod の viewer ロールがあります。ユーザーは、HawtIO で Pod の読み取り専用操作を実行できます。コンテキストに応じて、HawtIO は、オプションを無効にするか、ユーザーが書き込み MBean 操作を試行したときに operation not allowed for this user メッセージを表示することによって、viewer ロールを持つユーザーが書き込み MBean 操作を実行できないようにします。
  5. 応答が no の場合、ユーザーはどの HawtIO ロールにもバインドされておらず、ユーザーは HawtIO で Pod を表示できません。

6.2.2. OpenShift 4 上の HawtIO へのロールベースアクセスのカスタマイズ

OperatorHub を使用して HawtIO をインストールする場合、ロールベースのアクセス制御 (RBAC) がデフォルトで有効になります。HawtIO の RBAC 動作をカスタマイズするには、HawtIO をデプロイメントする前に、(カスタム RBAC 動作を定義する) ConfigMap リソースを提供する必要があります。この ConfigMap の名前は、HawtIO カスタムリソース (CR) の rbac 設定セクションに入力する必要があります。

カスタム ConfigMap リソースは、HawtIO Operator がインストールされているのと同じ namespace に追加する必要があります。

前提条件:

  • HawtIO Operator が OperatorHub からインストールされている。

手順:

HawtIO RBAC ロールをカスタマイズするには、以下を実行します。

  1. RBAC ConfigMap を作成します。

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

      oc project hawtio-test
    2. テンプレートから HawtIO RBAC ConfigMap ファイルを作成し、以下のコマンドを実行します。

      oc process -f https://raw.githubusercontent.com/hawtio/hawtio-online/2.x/docker/ACL.yaml -p APP_NAME=custom-hawtio | oc create -f -
    3. 以下のコマンドを使用して、新しいカスタム ConfigMap を編集します。

      oc edit ConfigMap custom-hawtio-rbac
    4. 編集を保存すると、ConfigMap リソースが更新されます。
  2. 上記のように新しい HawtIO CR を作成し、configMap プロパティーの下に新しい ConfigMap の名前を追加して rbac セクションを編集します。
  3. Create をクリックします。Operator はカスタム ConfigMap を利用して、HawtIO の新しいバージョンをデプロイする必要があります。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.