website/content/ko/examples/policy/restricted-psp.yaml

49 lines
1.6 KiB
YAML
Raw Normal View History

apiVersion: policy/v1beta1
kind: PodSecurityPolicy
metadata:
name: restricted
annotations:
seccomp.security.alpha.kubernetes.io/allowedProfileNames: 'docker/default,runtime/default'
apparmor.security.beta.kubernetes.io/allowedProfileNames: 'runtime/default'
seccomp.security.alpha.kubernetes.io/defaultProfileName: 'runtime/default'
apparmor.security.beta.kubernetes.io/defaultProfileName: 'runtime/default'
spec:
privileged: false
# 루트로의 에스컬레이션을 방지하는데 필요하다.
allowPrivilegeEscalation: false
# 이것은 루트가 아닌 사용자 + 권한 에스컬레이션을 허용하지 않는 것으로 중복이지만,
# 심층 방어를 위해 이를 제공한다.
requiredDropCapabilities:
- ALL
# 기본 볼륨 유형을 허용한다.
volumes:
- 'configMap'
- 'emptyDir'
- 'projected'
- 'secret'
- 'downwardAPI'
# 클러스터 관리자가 설정한 퍼시스턴트볼륨을 사용하는 것이 안전하다고 가정한다.
- 'persistentVolumeClaim'
hostNetwork: false
hostIPC: false
hostPID: false
runAsUser:
# 루트 권한없이 컨테이너를 실행해야 한다.
rule: 'MustRunAsNonRoot'
seLinux:
# 이 정책은 노드가 SELinux가 아닌 AppArmor를 사용한다고 가정한다.
rule: 'RunAsAny'
supplementalGroups:
rule: 'MustRunAs'
ranges:
# 루트 그룹을 추가하지 않는다.
- min: 1
max: 65535
fsGroup:
rule: 'MustRunAs'
ranges:
# 루트 그룹을 추가하지 않는다.
- min: 1
max: 65535
readOnlyRootFilesystem: false