16장. Pod 보안 허용 이해 및 관리
Pod 보안 승인은 Kubernetes Pod 보안 표준을 구현한 것입니다. Pod 보안 승인을 사용하여 Pod의 동작을 제한합니다.
16.1. Pod 보안 승인 정보
OpenShift Container Platform에는 Kubernetes Pod 보안 승인이 포함됩니다. 전역적으로 정의되거나 네임스페이스 수준에서 정의되지 않은 Pod 보안 승인은 클러스터에 허용되지 않으며 실행할 수 없습니다.
전역적으로 privileged
있는 프로필이 적용되며, restricted
프로필은 경고 및 감사에 사용됩니다.
네임스페이스 수준에서 Pod 보안 승인 설정을 구성할 수도 있습니다.
기본 프로젝트에서 워크로드를 실행하거나 기본 프로젝트에 대한 액세스를 공유하지 마세요. 기본 프로젝트는 핵심 클러스터 구성 요소를 실행하기 위해 예약되어 있습니다.
다음 기본 프로젝트는 높은 권한이 있는 것으로 간주됩니다. default
, kube-public
, kube-system
, openshift
, openshift-infra
, openshift-node
및 openshift.io/run-level
레이블이 0
또는 1
로 설정된 기타 시스템 생성 프로젝트입니다. Pod 보안 승인, 보안 컨텍스트 제약 조건, 클러스터 리소스 할당량 및 이미지 참조 확인과 같은 승인 플러그인에 의존하는 기능은 높은 권한 있는 프로젝트에서 작동하지 않습니다.
16.1.1. Pod 보안 승인 모드
네임스페이스에 대해 다음 Pod 보안 승인 모드를 구성할 수 있습니다.
모드 | 레이블 | 설명 |
---|---|---|
|
| 설정된 프로필을 준수하지 않는 경우 허용에서 Pod를 거부합니다. |
|
| Pod가 설정된 프로필을 준수하지 않는 경우 감사 이벤트 로그 |
|
| Pod가 설정된 프로필을 준수하지 않는 경우 경고 표시 |
16.1.2. Pod 보안 승인 프로필
각 Pod 보안 승인 모드를 다음 프로필 중 하나로 설정할 수 있습니다.
프로필 | 설명 |
---|---|
| 최소 제한 정책; 알려진 권한 에스컬레이션 허용 |
| 최소한의 제한 정책; 알려진 권한 에스컬레이션을 방지 |
| 가장 제한적인 정책; 현재 Pod 강화 모범 사례를 따릅니다. |
16.1.3. 권한이 있는 네임스페이스
다음 시스템 네임스페이스는 항상 privileged
있는 Pod 보안 승인 프로필로 설정됩니다.
-
default
-
kube-public
-
kube-system
이러한 권한 있는 네임스페이스의 Pod 보안 프로필을 변경할 수 없습니다.
16.1.4. Pod 보안 승인 및 보안 컨텍스트 제약 조건
Pod 보안 승인 표준 및 보안 컨텍스트 제약 조건은 두 개의 독립 컨트롤러에 의해 조정 및 적용됩니다. 두 컨트롤러는 보안 정책을 적용하기 위해 다음 프로세스를 사용하여 독립적으로 작동합니다.
-
보안 컨텍스트 제약 조건 컨트롤러는 Pod의 할당된 SCC에 따라 일부 보안 컨텍스트 필드를 변경할 수 있습니다. 예를 들어 seccomp 프로필이 비어 있거나 설정되지 않은 경우 Pod의 할당된 SCC에서
seccompProfiles
필드를runtime/default
로 적용하는 경우 컨트롤러는 기본 유형을RuntimeDefault
로 설정합니다. - 보안 컨텍스트 제약 조건 컨트롤러는 Pod의 보안 컨텍스트를 일치하는 SCC에 대해 검증합니다.
- Pod 보안 승인 컨트롤러는 네임스페이스에 할당된 Pod 보안 표준에 대해 Pod의 보안 컨텍스트를 검증합니다.