Files
llm-wiki/raw/official-docs/k8s-pod-security-standards-restricted.md

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/
feature-container-runtime-contract
ca-skeleton
official-doc
ca-skeleton
container
security
kubernetes
pod-security
2026-06-14

Kubernetes Pod Security Standards — Restricted Profile

Layer: raw/ — 외부 자료(공식 문서)의 원문 발췌·출처 기록. 검증된 요약은 /ingestwiki/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

왜 저장했는지 / 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 에 어떻게 적용하는지.
  • 내 프로젝트에 적용하려면 추가 확인이 필요한 것:
    • ca-tmpl skeleton 의 실제 Kubernetes YAML 에서 securityContext.readOnlyRootFilesystem: true 를 별도로 설정하고, spec.volumesemptyDir 명시가 Restricted policy 와 충돌하지 않음을 smoke test 로 확인.
    • readOnlyRootFilesystem 을 Restricted 외에 강제하려면 Kyverno 또는 OPA policy rule 별도 작성 필요 여부 확인.

메모 / 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 외부 표준).