9.0 KiB
title, source_type, url, archive_url, related_branches, related_projects, tags, created
| title | source_type | url | archive_url | related_branches | related_projects | tags | created | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kubernetes Pod Security Standards — Restricted Profile | official-doc | https://kubernetes.io/docs/concepts/security/pod-security-standards/ |
|
|
|
2026-06-14 |
Kubernetes Pod Security Standards — Restricted Profile
Layer:
raw/— 외부 자료(공식 문서)의 원문 발췌·출처 기록. 검증된 요약은/ingest후wiki/concepts/에 별도 작성. 원본은 raw에 영구 보관.
Parent / 활용 branch (필수, 최소 1개+)
| Branch | 이 자료가 정당화하는 결정 |
|---|---|
| raw/branch-notes/feature-container-runtime-contract | D2 — read-only root filesystem + writable-path minimization. Restricted profile 이 emptyDir 을 허용 볼륨으로 명시하고, readOnlyRootFilesystem 은 Restricted policy 의 enumerated admission field 가 아니라는 사실을 원문으로 확인함. |
출처 / Source
- 원본 URL: https://kubernetes.io/docs/concepts/security/pod-security-standards/
- 아카이브 URL:
- 저자 / 조직: Kubernetes Authors (kubernetes.io)
- 발행일: (동적 업데이트 페이지 — 버전 고정 없음)
- 마지막 확인일: 2026-06-14
왜 저장했는지 / Why archived
feature-container-runtime-contract D2 (read-only root fs 의무화 + writable path 최소화) 의 정책 근거를 공식 Kubernetes 문서에서 확보하기 위해 저장. 특히 두 사실을 원문으로 확정: (1) Restricted profile 은 emptyDir 을 허용 볼륨 타입으로 명시적으로 포함하며, (2) 현행 Restricted policy specification 에 readOnlyRootFilesystem 이 admission field 로 열거되어 있지 않음 — branch note 의 Open Risk 정확성을 위해 이 구분이 필수.
핵심 인용 / Key quotes (verbatim, 3~5문장)
[§Profile Table] "Restricted Heavily restricted policy, following current Pod hardening best practices."
[§Restricted Policy Description] "The Restricted policy is aimed at enforcing current Pod hardening best practices, at the expense of some compatibility. It is targeted at operators and developers of security-critical applications, as well as lower-trust users. The following listed controls should be enforced/disallowed:"
[§Restricted / Volume Types — Allowed Values] "The Restricted policy only permits the following volume types. [...] Every item in the spec.volumes[] list must set one of the following fields to a non-null value: spec.volumes[].configMap spec.volumes[].csi spec.volumes[].downwardAPI spec.volumes[].emptyDir spec.volumes[].ephemeral spec.volumes[].persistentVolumeClaim spec.volumes[].projected spec.volumes[*].secret"
[§Policy Instantiation] "The methods of enforcement of individual policies are not defined here."
[§Restricted policy specification — Control list] "Everything from the Baseline policy Volume Types [...] Privilege Escalation (v1.8+) [...] Running as Non-root [...] Running as Non-root user (v1.23+) [...] Seccomp (v1.19+) [...] Capabilities (v1.22+)"
Critical absence note (verified by Self-Grep): The term readOnlyRootFilesystem does not appear anywhere in the fetched page text (grep returned zero matches). The Restricted policy specification as of 2026-06-14 does NOT enumerate readOnlyRootFilesystem as a Restricted admission field.
Claims Extracted / 추출된 주장
| Claim ID | Claim (이 자료가 직접 말하는 것) | Evidence quote | Strength | Applies to | Does not prove |
|---|---|---|---|---|---|
| K8S-PSS-C1 | Kubernetes 의 Restricted profile 은 "current Pod hardening best practices" 를 강제하는 것을 목표로 하며 일부 호환성을 희생한다 | [§Restricted Policy Description] "The Restricted policy is aimed at enforcing current Pod hardening best practices, at the expense of some compatibility." | official-vendor-doc |
Kubernetes 클러스터에서 Restricted PodSecurity policy 를 네임스페이스에 적용한 경우 | Restricted 가 모든 hardening 요구사항의 완전한 목록임을 증명하지 않음; 추가 조직 정책(CIS Benchmark 등) 이 더 엄격할 수 있음 |
| K8S-PSS-C2 | Restricted profile 의 Volume Types 제어 아래 emptyDir 은 명시적으로 허용된 볼륨 타입이다 |
[§Restricted / Volume Types] "Every item in the spec.volumes[] list must set one of the following fields to a non-null value: spec.volumes[].emptyDir" | official-vendor-doc |
Kubernetes 클러스터에 Restricted policy 가 적용된 네임스페이스 | tmpfs 마운트 옵션(medium: Memory) 의 별도 제어나 size limit 에 대해서는 이 페이지가 말하지 않음 |
| K8S-PSS-C3 | 현행 Restricted policy specification 에는 readOnlyRootFilesystem 이 admission 검사 field 로 열거되어 있지 않다 |
[§Restricted policy specification] (전체 control list: Volume Types, Privilege Escalation, Running as Non-root, Running as Non-root user, Seccomp, Capabilities — readOnlyRootFilesystem 없음) |
official-vendor-doc |
Kubernetes 공식 Pod Security Standards 페이지 (확인일 2026-06-14) | readOnlyRootFilesystem 설정 자체가 불필요하다는 의미 아님; Restricted 외 다른 admission webhook/policy engine(Kyverno, OPA) 이 이를 강제할 수 있음 |
| K8S-PSS-C4 | Restricted policy 의 각 개별 control 의 집행 방법(enforcement mechanism) 은 이 페이지에서 정의하지 않는다 | [§Policy Instantiation] "The methods of enforcement of individual policies are not defined here." | official-vendor-doc |
Kubernetes Pod Security Standards 정책 정의 문서 | 실제 클러스터에서 Pod Security Admission controller, Kyverno, OPA 등 어떤 방법으로 집행되는지는 별도 문서 참조 필요 |
| K8S-PSS-C5 | Restricted policy 는 Baseline policy 의 모든 제어를 포함하며 추가 제어를 적용한다 | [§Restricted policy specification / Control Policy] "Everything from the Baseline policy" | official-vendor-doc |
Kubernetes Pod Security Standards Restricted 적용 시 | Baseline 의 각 구체적 제어가 무엇인지는 이 claim 이 아니라 Baseline section 을 참조해야 함 |
Usage Boundaries / 적용 경계
- 이 자료가 직접 증명하는 것:
K8S-PSS-C1: Restricted policy 가 "hardening best practices" 지향 정책임을 공식 문서로 확인.K8S-PSS-C2:emptyDir이 Restricted Volume Types 제어의 허용 목록에 포함됨 — branch note D2 의/var/tmp emptyDir mount와/tmp tmpfs mount가 Restricted policy 와 호환됨을 증명.K8S-PSS-C3: 2026-06-14 기준 현행 Restricted admission spec 에readOnlyRootFilesystem이 없음 — branch note D2 의 "read-only root fs 강제" 는 Restricted policy 의 자동 집행이 아니라 별도 securityContext 설정 또는 추가 policy engine 이 필요함.K8S-PSS-C4: enforcement mechanism 이 이 페이지에서 정의되지 않음 — 실제 admission 집행은 별도 controller/webhook 설정에 의존.K8S-PSS-C5: Restricted ⊇ Baseline (superset 관계).
- 이 자료가 증명하지 않는 것:
- Restricted profile 이
readOnlyRootFilesystem을 admission 레벨에서 강제한다는 것 (현행 페이지에서 이 field 는 Restricted 제어에 없음). emptyDir의 tmpfs 마운트 (medium: Memory) 사용 방법 또는 size limit 정책.- CIS Kubernetes Benchmark §5.x 등 외부 hardening 표준과의 관계.
- 이 정책을 ca-tmpl 의 실제 Kubernetes manifest 에 어떻게 적용하는지.
- Restricted profile 이
- 내 프로젝트에 적용하려면 추가 확인이 필요한 것:
- ca-tmpl skeleton 의 실제 Kubernetes YAML 에서
securityContext.readOnlyRootFilesystem: true를 별도로 설정하고,spec.volumes에emptyDir명시가 Restricted policy 와 충돌하지 않음을 smoke test 로 확인. - readOnlyRootFilesystem 을 Restricted 외에 강제하려면 Kyverno 또는 OPA policy rule 별도 작성 필요 여부 확인.
- ca-tmpl skeleton 의 실제 Kubernetes YAML 에서
메모 / Notes
- 2026-06-14 확인: 현행 Restricted policy specification 에
readOnlyRootFilesystem이 없음. 이전 버전 Kubernetes docs 에는 있었을 수도 있음 — 버전별 비교는 kubernetes/website GitHub history 참조 권고. - branch note D2 의 Open Risk 표현: "read-only root fs 강제의 외부 표준 (CIS Benchmark §5.x) raw 등록 필요" — K8S-PSS-C3 로 인해 Restricted policy 만으로는 부족하며 CIS Benchmark raw source 등록이 여전히 필요.
- 추가로 봐야 할 동일 출처 페이지: Pod Security Admission (namespace-level 적용 방법), CIS Kubernetes Benchmark (§5 hardening 외부 표준).
Related / 관련
- 같은 주제 다른 official-doc: raw/official-docs/container-distroless-google-github, raw/official-docs/container-alpine-java-musl-tradeoffs
- 이 자료를 인용한 wiki 요약: (미작성 —
/ingest시 생성 예정)