6.2. ユーザーに対するユーザー定義のプロジェクトをモニターするパーミッションの付与

クラスター管理者は、すべての OpenShift Container Platform のコアプロジェクトおよびユーザー定義プロジェクトをモニターできます。

クラスター管理者は、開発者およびその他のユーザーに、独自のプロジェクトをモニターするパーミッションを付与できます。特権は、以下のモニタリングロールのいずれかを割り当てることで付与されます。

  • monitoring-rules-view クラスターロールは、プロジェクトの PrometheusRule カスタムリソースへの読み取りアクセスを提供します。
  • monitoring-rules-edit クラスターロールは、プロジェクトの PrometheusRule カスタムリソースを作成、変更、削除する権限をユーザーに付与します。また、ユーザーにアラートをサイレントにする機能も付与します。
  • monitoring-edit クラスターロールは、monitoring-rules-edit クラスターロールと同じ特権を付与します。さらに、ユーザーはサービスまたは Pod の新規の収集 ターゲットを作成できます。このロールを使用すると、ServiceMonitor および PodMonitor リソースを作成し、変更し、削除することもできます。

また、ユーザー定義のプロジェクトをモニターするコンポーネントを設定するパーミッションをユーザーに付与することもできます。

  • openshift-user-workload-monitoring プロジェクトの user-workload-monitoring-config-edit ロールにより、user-workload-monitoring-config ConfigMap オブジェクトを編集できます。このロールを使用して、ConfigMap オブジェクトを編集し、ユーザー定義のワークロードモニタリング用に Prometheus、Prometheus Operator、および Thanos Ruler を設定できます。

また、ユーザー定義プロジェクトのアラートルーティングを設定するパーミッションをユーザーに付与することもできます。

  • alert-routing-edit クラスターロールは、プロジェクトの AlertmanagerConfig カスタムリソースを作成、更新、および削除するパーミッションをユーザーに付与します。

このセクションでは、OpenShift Container Platform Web コンソールまたは CLI を使用してこれらのロールを割り当てる方法について説明します。

6.2.1. Web コンソールを使用したユーザーパーミッションの付与

OpenShift Container Platform Web コンソールを使用して、独自のプロジェクトをモニターするパーミッションをユーザーに付与できます。

前提条件

  • cluster-admin クラスターロールを持つユーザーとしてクラスターにアクセスできます。
  • ロールを割り当てるユーザーアカウントがすでに存在している。

手順

  1. OpenShift Container Platform Web コンソールの Administrator パースペクティブで、User ManagementRole BindingsCreate Binding に移動します。
  2. Binding Typeで、Namespace Role Binding タイプを選択します。
  3. Name フィールドに、ロールバインディングの名前を入力します。
  4. Namespace フィールドで、アクセスを付与するユーザー定義プロジェクトを選択します。

    重要

    モニタリングロールは、Namespace フィールドで適用するプロジェクトにバインドされます。この手順を使用してユーザーに付与するパーミッションは、選択されたプロジェクトにのみ適用されます。

  5. Role Name リストで、monitoring-rules-viewmonitoring-rules-edit、または monitoring-edit を選択します。
  6. Subject セクションで、User を選択します。
  7. Subject Name フィールドにユーザーの名前を入力します。
  8. Create を選択して、ロールバインディングを適用します。

6.2.2. CLI を使用したユーザーパーミッションの付与

OpenShift CLI (oc) を使用して、独自のプロジェクトをモニターするパーミッションをユーザーに付与できます。

前提条件

  • cluster-admin クラスターロールを持つユーザーとしてクラスターにアクセスできます。
  • ロールを割り当てるユーザーアカウントがすでに存在している。
  • OpenShift CLI (oc) がインストールされている。

手順

  • プロジェクトのユーザーにモニタリングロールを割り当てます。

    $ oc policy add-role-to-user <role> <user> -n <namespace> 1
    1
    <role>monitoring-rules-viewmonitoring-rules-edit、または monitoring-edit に置き換えます。
    重要

    選択したすべてのロールは、クラスター管理者が特定のプロジェクトにバインドする必要があります。

    たとえば、<role>monitoring-edit に、<user>johnsmith に、<namespace>ns1 に置き換えます。これにより、ユーザー johnsmith に、メトリックコレクションをセットアップし、ns1 namespace にアラートルールを作成するパーミッションが割り当てられます。