기본 구성 동기화 권한

이 페이지에는 구성 동기화 및 해당 구성요소가 클러스터 수준에서 올바른 액세스 권한을 가져야 하는 기본 권한이 나와 있습니다.

기본 권한

다음 표에는 구성 동기화가 기본적으로 사용 설정하는 권한이 나와 있습니다. 구성 동기화가 사용되는 동안에는 이러한 권한을 사용 중지하면 안 됩니다.

이러한 권한은 Anthos Config Management 버전 1.11.1 이상에 적용됩니다.

구성요소 네임스페이스 서비스 계정 권한 Description(설명)
reconciler-manager config-management-system reconciler-manager cluster-admin 루트 조정자를 프로비저닝하고 루트 조정자에 대한 ClusterRoleBinding을 만들려면 reconciler-managercluster-admin 권한이 있어야 합니다.
root reconcilers config-management-system 루트 조정자 이름 cluster-admin 클러스터 범위 및 커스텀 리소스를 적용하려면 루트 조정자에게 cluster-admin 권한이 있어야 합니다.
namespace reconcilers config-management-system 네임스페이스 조정자 이름 configsync.gke.io:ns-reconciler RepoSync 및 ResourceGroup 객체 및 해당 상태를 가져오고 업데이트하려면 네임스페이스 조정자에게 configsync.gke.io:ns-reconciler 권한이 필요합니다.
resource-group-controller-manager config-management-system resource-group-sa 객체 상태를 확인하고 리더 선택을 사용 설정하려면 resource-group-controller-managerresource-group-manager-roleresource-group-leader-election-role 역할이 필요합니다.
admission-webhook config-management-system admission-webhook cluster-admin 클러스터의 모든 객체에 대한 요청을 거부하려면 허용 웹훅에 cluster-admin 권한이 있어야 합니다.
importer config-management-system importer cluster-admin RBAC 권한을 설정하려면 importer에 cluster-admin 권한이 있어야 합니다.

구성 동기화 관련 권한

다음 섹션에서는 앞의 표에 나열된 configsync.gke.io:ns-reconcilerresource-group-manager-role resource-group-leader-election-role 권한을 자세히 설명합니다.

구성 동기화는 네임스페이스 조정자 및 리소스 그룹 컨트롤러 매니페스트에 다음 ClusterRole을 포함하여 자동으로 이러한 권한을 자동으로 적용합니다.

네임스페이스 조정자용 RBAC

다음 ClusterRole은 네임스페이스 조정자의 역할 기반 액세스 제어 권한을 보여줍니다.

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

다음 ClusterRole은 리소스 그룹 컨트롤러의 역할 기반 액세스 제어 권한을 보여줍니다.

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:
  - '*'