Autorizzazioni di Config Sync predefinite
Questa pagina elenca le autorizzazioni predefinite necessarie per l'accesso di Config Sync e dei relativi componenti a livello di cluster.
Autorizzazioni predefinite
La tabella seguente elenca le autorizzazioni abilitate per impostazione predefinita da Config Sync. Non devi disattivare queste autorizzazioni mentre è in uso Config Sync.
Queste autorizzazioni si applicano ad Anthos Config Management versione 1.11.1 e successive.
Componente | Spazio dei nomi | Account di servizio | Autorizzazioni | Descrizione |
---|---|---|---|---|
reconciler-manager |
config-management-system |
reconciler-manager |
cluster-admin |
Per eseguire il provisioning dei riconciliatori radice e creare il ClusterRoleBinding per i riconciliatori radice, reconciler-manager deve disporre dell'autorizzazione cluster-admin . |
root reconcilers |
config-management-system |
Il nome del riconciliatore radice | cluster-admin |
Per applicare risorse personalizzate e con ambito cluster, i riconciliatori radice devono
disporre dell'autorizzazione cluster-admin . |
namespace reconcilers |
config-management-system |
Il nome del riconciliatore dello spazio dei nomi | configsync.gke.io:ns-reconciler |
Per ottenere e aggiornare gli oggetti RepoSync e ResourceGroup e i relativi stati, i riconciliatori dello spazio dei nomi devono disporre dell'autorizzazione configsync.gke.io:ns-reconciler . |
resource-group-controller-manager |
config-management-system |
resource-group-sa |
Per verificare lo stato dell'oggetto e abilitare le elezioni leader, resource-group-controller-manager deve avere i ruoli resource-group-manager-role e resource-group-leader-election-role . |
|
admission-webhook |
config-management-system |
admission-webhook |
cluster-admin |
Per rifiutare le richieste a qualsiasi oggetto nel cluster, il webhook di ammissione deve avere
le autorizzazioni cluster-admin . |
importer |
config-management-system |
importer |
cluster-admin |
Per impostare le autorizzazioni RBAC, importer deve avere l'autorizzazione cluster-admin. |
Autorizzazioni specifiche di Config Sync
Le seguenti sezioni descrivono nel dettaglio le autorizzazioni configsync.gke.io:ns-reconciler
e resource-group-manager-role resource-group-leader-election-role
elencate nella tabella precedente.
Config Sync applica automaticamente queste autorizzazioni includendo i seguenti ClusterRoles nei manifest dei spazi dei nomi e del controller del gruppo di risorse.
RBAC per riconciliatori dello spazio dei nomi
Il seguente ClusterRole mostra le autorizzazioni per il controllo dell'accesso basate sui ruoli per i riconciliatori dello spazio dei nomi:
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 per controller del gruppo di risorse
Il seguente ClusterRole mostra le autorizzazioni per il controllo dell'accesso basate sui ruoli per il controller del gruppo di risorse:
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:
- '*'