Auf dieser Seite sind die Standardberechtigungen aufgeführt, die Config Sync und seine Komponenten für den korrekten Zugriff auf Clusterebene benötigen.
Standardberechtigungen
In der folgenden Tabelle sind die Berechtigungen aufgeführt, die in Config Sync standardmäßig aktiviert sind. Sie sollten diese Berechtigungen nicht deaktivieren, solange Config Sync verwendet wird.
| Komponente | Namespace | Dienstkonto | Berechtigungen | Beschreibung |
|---|---|---|---|---|
reconciler-manager |
config-management-system |
reconciler-manager |
cluster-admin |
Zum Bereitstellen der Root-Abgleicher und Erstellen der ClusterRoleBinding für
die Root-Abgleicher muss der reconciler-manager die Berechtigung
cluster-admin haben. |
root reconcilers |
config-management-system |
Name des Root-Abgleichers | cluster-admin |
Zum Anwenden von clusterbezogenen und benutzerdefinierten Ressourcen müssen die Root-Abgleicher
die cluster-admin Berechtigung haben. |
namespace reconcilers |
config-management-system |
Name des Namespace-Abgleichers | configsync.gke.io:ns-reconciler |
Zum Abrufen und Aktualisieren der RepoSync- und ResourceGroup-Objekte und deren
Status benötigen die Namespace-Abgleicher die
configsync.gke.io:ns-reconciler Berechtigung. |
resource-group-controller-manager |
config-management-system |
resource-group-sa |
Zum Prüfen des Objektstatus und Aktivieren der Leader-Auswahl benötigt der
resource-group-controller-manager die
resource-group-manager-role und resource-group-leader-election-role Rollen. |
|
admission-webhook |
config-management-system |
admission-webhook |
cluster-admin |
Zum Ablehnen von Anfragen an ein beliebiges Objekt im Cluster muss der Zulassungs-Webhook
die Berechtigung cluster-admin haben. |
importer |
config-management-system |
importer |
cluster-admin |
Zum Festlegen von RBAC-Berechtigungen muss der importer die
Berechtigung `cluster-admin` haben. |
Config Sync-spezifische Berechtigungen
In den folgenden Abschnitten werden die Berechtigungen configsync.gke.io:ns-reconciler und resource-group-manager-role resource-group-leader-election-role beschrieben, die in der vorherigen Tabelle aufgeführt sind.
Config Sync wendet diese Berechtigungen automatisch an, indem die folgenden ClusterRoles in die Manifeste des Namespace-Abgleichers und des Resource Group Controller aufgenommen werden.
RBAC für Namespace-Abgleicher
Die folgende ClusterRole zeigt die RBAC-Berechtigungen für Namespace-Abgleicher:
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: configsync.gke.io:ns-reconciler
labels:
configmanagement.gke.io/system: "true"
configmanagement.gke.io/arch: "csmr"
rules:
- apiGroups: ["configsync.gke.io"]
resources: ["reposyncs"]
verbs: ["get"]
- apiGroups: ["configsync.gke.io"]
resources: ["reposyncs/status"]
verbs: ["get","list","update"]
- apiGroups: ["kpt.dev"]
resources: ["resourcegroups"]
verbs: ["*"]
- apiGroups: ["kpt.dev"]
resources: ["resourcegroups/status"]
verbs: ["*"]
- apiGroups:
- policy
resources:
- podsecuritypolicies
resourceNames:
- acm-psp
verbs:
- use
RBAC für Resource Group Controller
Die folgende ClusterRole zeigt die RBAC-Berechtigungen für den Resource Group Controller:
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
creationTimestamp: null
labels:
configmanagement.gke.io/arch: "csmr"
configmanagement.gke.io/system: "true"
name: resource-group-manager-role
rules:
# This permission is needed to get the status for managed resources
- apiGroups:
- '*'
resources:
- '*'
verbs:
- get
- list
- watch
# This permission is needed to watch/unwatch types as they are registered or removed.
- apiGroups:
- apiextensions.k8s.io
resources:
- customresourcedefinitions
verbs:
- get
- list
- watch
# This permission is needed so that the ResourceGroup Controller can reconcile a ResourceGroup CR
- apiGroups:
- kpt.dev
resources:
- resourcegroups
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
# This permission is needed so that the ResourceGroup Controller can update the status of a ResourceGroup CR
- apiGroups:
- kpt.dev
resources:
- resourcegroups/status
verbs:
- get
- patch
- update
# This permission is needed so that the ResourceGroup Controller can work on a cluster with PSP enabled
- apiGroups:
- policy
resourceNames:
- acm-psp
resources:
- podsecuritypolicies
verbs:
- use
---
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
labels:
configmanagement.gke.io/arch: "csmr"
configmanagement.gke.io/system: "true"
name: resource-group-leader-election-role
namespace: resource-group-system
rules: // The following permissions are needed so that the leader election can work
- apiGroups:
- ""
resources:
- configmaps
verbs:
- get
- list
- watch
- create
- update
- patch
- delete
- apiGroups:
- ""
resources:
- configmaps/status
verbs:
- get
- update
- patch
- apiGroups:
- ""
resources:
- events
verbs:
- create
- apiGroups:
- coordination.k8s.io
resources:
- leases
verbs:
- '*'