Google Kubernetes Engine (GKE)
TMA-GKE-4.1.8
Avoid binding RBAC roles to unauthenticated users and groups
설명
Avoid RoleBinding or ClusterRoleBinding objects that grant permissions to the system:anonymous user or the related system:unauthenticated group. These subjects represent unauthenticated Kubernetes API requests and should not receive RBAC access to cluster resources. Requires kubectl with cluster-wide read access (KUBECONFIG); system namespaces are excluded and listed resources must be remediated or documented as exceptions. The built-in system:public-info-viewer binding is ignored.
점검 방법
감사 방식: 셸 명령
out=$(kubectl get clusterrolebindings,rolebindings -A -o go-template='{{range .items}}{{$b:=.metadata.name}}{{range .subjects}}{{if eq .name "system:anonymous"}}{{$b}}{{"\n"}}{{end}}{{if eq .name "system:unauthenticated"}}{{$b}}{{"\n"}}{{end}}{{end}}{{end}}') || exit 1
bad=$(printf '%s\n' "$out" | grep -v '^$' | grep -Evx 'system:public-info-viewer' | sort -u)
if [ -z "$bad" ]; then echo compliant; else printf '%s\n' "$bad" | head -n 25; fi- 예상 출력
compliant
조치 방법
조치 방식: 가이드 또는 인프라 패치
Remediate any RoleBinding or ClusterRoleBinding returned by the audit by removing unauthenticated access and replacing it with authenticated, least privilege RBAC access. Bindings to system:anonymous or system:unauthenticated should not be used for normal cluster operations because they can grant Kubernetes API permissions to unauthenticated requests. • Review each returned binding and identify the referenced Role or ClusterRole, including the API groups, resources, and verbs granted • Delete unnecessary bindings to system:anonymous or system:unauthenticated after confirming they are not required for cluster operation.
속성
- 운영 체제
- 모두
- 태그
- gkepoliciesrbac
- 참고 자료
- CIS Google Kubernetes Engine (GKE) Benchmark v2.0.0 - 4.1.8 Avoid binding RBAC roles to unauthenticated users and groups
이 호스트 점검하기
감사 권한이 있는 시스템에서 실행하세요. 스캔은 읽기 전용입니다.
tmaegis scan --target gke --level 2