この文書は自動機械翻訳技術を使用して翻訳されています。 正確な翻訳を提供するように努めておりますが、翻訳された内容の完全性、正確性、信頼性については一切保証いたしません。 相違がある場合は、元の英語版 英語 が優先され、正式なテキストとなります。

ロールベースのアクセス制御

このセクションでは、Prometheus Federatorのロールベースのアクセス制御(RBAC)に関する期待事項を説明します。

ネームスペースに関するセクションで説明されているように、Prometheus Federatorは、プロジェクトオーナー、プロジェクトメンバー、およびプロジェクトレベルの権限を持つクラスター内の他のユーザー(例:単一のラベルセレクターで特定された一連のネームスペース内の権限)が、プロジェクト登録ネームスペース(デフォルトでプロジェクトにインポートされる)および既にプロジェクトを構成しているネームスペースを除いて、最小限の権限を持つことを期待しています。したがって、プロジェクトオーナーがプロジェクトネームスペース内の他のユーザーに特定のチャート権限を割り当てられるように、Helmプロジェクトオペレーターは次のバインディングを自動的に監視します。

  • ClusterRoleBindings

  • プロジェクトリリースネームスペース内のロールバインディング

これらのバインディングのいずれかに変更があった場合、Helmプロジェクトオペレーターは、バインディングが指す`roleRef`が以下に提供された名前のClusterRoleと一致するかどうかを確認します。

  • helmProjectOperator.releaseRoleBindings.clusterRoleRefs.admin

  • helmProjectOperator.releaseRoleBindings.clusterRoleRefs.edit

  • helmProjectOperator.releaseRoleBindings.clusterRoleRefs.view

デフォルトでは、これらのroleRefsはそれぞれ`admin`、edit、`view`に対応し、これらは デフォルトのKubernetesユーザー向けロールです。

Rancher RBACユーザーにとって、これらの デフォルトのKubernetesユーザー向けロールは、Project OwnerProject Member、`Read-Only`のデフォルトプロジェクトロールテンプレートに直接対応します。

もし`roleRef`が一致する場合、Helmプロジェクトオペレーターは、バインディングのすべてのユーザーおよびグループの`subjects`をフィルタリングし、それを使用してプロジェクトリリースネームスペース内の各ロールに対して、ロールと同じ名前および次のラベルを持つRoleBindingを自動的に構築します。

  • helm.cattle.io/project-helm-chart-role: {{ .Release.Name }}

  • helm.cattle.io/project-helm-chart-role-aggregate-from: <admin|edit|view>

デフォルトでは、rancher-project-monitoring、Prometheus Federatorによってデプロイされた基盤となるチャートは、プロジェクトリリースネームスペースごとに3つのデフォルトロールを作成し、adminedit、`view`のユーザーにプロジェクトモニタリングスタックのPrometheus、Alertmanager、Grafana UIを表示する権限を提供し、最小権限を提供します。ただし、クラスター管理者が特定のユーザーに追加の権限を割り当てたい場合、プロジェクトリリースネームスペース内の特定のユーザーに直接RoleBindingsを割り当てるか、上記の2つのラベルを持つロールを作成して、プロジェクトオーナーがプロジェクト登録ネームスペース内のユーザーにこれらのRBACロールを割り当てることを制御できるようにすることができます。