3.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 を設定できます。

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

3.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 を選択して、ロールバインディングを適用します。

3.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 にアラートルールを作成するパーミッションが割り当てられます。