설명
파드 보안 정책이 없거나 필요한 제한을 적용하지 않으면 privileged 실행, 과도한 capability 및 호스트 접근 같은 설정이 허용될 수 있습니다. PodSecurityPolicy는 Kubernetes v1.21에서 사용 중단되었고 v1.25에서 제거되었습니다. 최신 클러스터에서는 Pod Security Admission이나 정책 엔진으로 필요한 제한을 적용해야 합니다.
잠재적 영향
- 과도한 권한을 가진 파드가 배포될 가능성이 높아질 수 있습니다.
- 호스트 자원 접근이나 권한 상승을 제어하기 어려워질 수 있습니다.
- 워크로드 보안 기준이 팀마다 달라져 운영 일관성이 떨어질 수 있습니다.
해결 방법
- 현재 클러스터에는 Pod Security Admission의 enforce 모드나 지원되는 정책 엔진을 구성하고 필요한 예외만 허용하세요. audit·warn 모드는 차단을 대신하지 않습니다.
- 레거시 PSP 환경은 정책과 사용 권한을 함께 검토하고 지원되는 기능으로 마이그레이션하세요. 기능을 켜는 것만으로 필요한 제한이 적용되지는 않으므로 허용·거부 사례를 시험하세요.
예시
PSP를 지원했던 과거 GKE와 Provider의 설정 일부입니다. 현재 클러스터에 이 블록을 추가하지 말고 지원되는 정책 기능을 사용하세요.
변경 전
hcl
resource "google_container_cluster" "cluster" {
name = "marcellus-wallace"
location = "us-central1-a"
initial_node_count = 3
pod_security_policy_config {
enabled = false
}
timeouts {
create = "30m"
update = "40m"
}
}
변경 후
hcl
resource "google_container_cluster" "cluster" {
name = "marcellus-wallace"
location = "us-central1-a"
initial_node_count = 3
pod_security_policy_config {
enabled = true
}
timeouts {
create = "30m"
update = "40m"
}
}
설명:
- 변경 전: 레거시 PSP 기능을 비활성화합니다. 다른 정책 통제의 적용 여부는 별도로 확인해야 합니다.
- 변경 후: 레거시 PSP 기능을 활성화합니다. 실제 제한에는 PSP 정책과 이를 사용할 RBAC 권한도 필요합니다.