apiVersion: policy/v1beta1 kind: PodSecurityPolicy metadata: name: baseline annotations: # 선택 사항: 기본 AppArmor 프로파일을 활성화한다. 이 경우 기본값을 설정해야 한다. apparmor.security.beta.kubernetes.io/allowedProfileNames: 'runtime/default' apparmor.security.beta.kubernetes.io/defaultProfileName: 'runtime/default' seccomp.security.alpha.kubernetes.io/allowedProfileNames: '*' spec: privileged: false # Moby의 기본 캐퍼빌리티 집합(NET_RAW는 제외되었음) allowedCapabilities: - 'CHOWN' - 'DAC_OVERRIDE' - 'FSETID' - 'FOWNER' - 'MKNOD' - 'SETGID' - 'SETUID' - 'SETFCAP' - 'SETPCAP' - 'NET_BIND_SERVICE' - 'SYS_CHROOT' - 'KILL' - 'AUDIT_WRITE' # hostpath를 제외한 모든 볼륨 타입을 허용 volumes: # '코어' 볼륨 타입 - 'configMap' - 'emptyDir' - 'projected' - 'secret' - 'downwardAPI' # 클러스터 관리자에 의해 구성된 휘발성 CSI 드라이버와 퍼시스턴트볼륨(PersistentVolume)은 사용하기에 안전하다고 가정한다. - 'csi' - 'persistentVolumeClaim' - 'ephemeral' # hostpath 타입이 아닌 다른 모든 볼륨 타입을 허용 - 'awsElasticBlockStore' - 'azureDisk' - 'azureFile' - 'cephFS' - 'cinder' - 'fc' - 'flexVolume' - 'flocker' - 'gcePersistentDisk' - 'gitRepo' - 'glusterfs' - 'iscsi' - 'nfs' - 'photonPersistentDisk' - 'portworxVolume' - 'quobyte' - 'rbd' - 'scaleIO' - 'storageos' - 'vsphereVolume' hostNetwork: false hostIPC: false hostPID: false readOnlyRootFilesystem: false runAsUser: rule: 'RunAsAny' seLinux: # 이 파드시큐리티폴리시는 노드가 SELinux가 아닌 AppArmor를 사용하고 있다고 가정한다. # 파드시큐리티폴리시 SELinux API는 SELinux 파드 보안 표준을 표현할 수 없으므로, # SELinux를 사용하는 경우 더 제한적인 기본값을 선택해야 한다. rule: 'RunAsAny' supplementalGroups: rule: 'RunAsAny' fsGroup: rule: 'RunAsAny'