kind: ClusterRole
指定したリソースに対するアクセス権限を定義する
クラスタ全体で有効。Namespace に紐づかない。
次のような用途で使う:
全 Namespace 横断でのリソースアクセス
Namespace に属さないリソース(nodes, persistentvolumes など)へのアクセス
/healthz のような非リソース URL へのアクセス
gpt-5.icon
クラスター全体でアクセス可能なリソースに対する権限を定義します。
これにより、Kubernetes内の特定のリソースに対して、どの操作(create、read、update、deleteなど)が許可されるかを指定できます。
例
code:yaml
kind: ClusterRole
metadata:
name: workflow-executor-rbac
rules:
- apiGroups:
- argoproj.io
resources:
- workflowtaskresults
verbs:
- create
- patch
workflowtaskresultsというリソースに対して、createとpatch操作を許可するClusterRoleを作成しています。
code:yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: secret-reader
rules:
- apiGroups: ""
resources: "secrets"
verbs: "get", "list", "watch"
ルールの3要素
apiGroups:APIグループ(""=コア、apps, batch など)
resources:対象リソース(pods, deployments, secrets など)
verbs:許可する操作(get, list, watch, create, update, patch, delete など)