11장. seccomp 프로필 구성
OpenShift Container Platform 컨테이너 또는 Pod는 하나 이상의 잘 정의된 작업을 수행하는 단일 애플리케이션을 실행합니다. 애플리케이션에는 일반적으로 기본 운영 체제 커널 API의 작은 하위 집합만 필요합니다. seccomp 보안 컴퓨팅 모드는 사용 가능한 시스템 호출의 하위 집합만 호출하도록 컨테이너에서 실행되는 프로세스를 제한하는 데 사용할 수 있는 Linux 커널 기능입니다. 이러한 시스템 호출은 컨테이너 또는 Pod에 적용되는 프로필을 생성하여 구성할 수 있습니다. seccomp 프로필은 디스크에 JSON 파일로 저장됩니다.
OpenShift 워크로드는 seccomp 프로필이 적용되지 않고 기본적으로 제한 없이 실행됩니다.
seccomp 프로필은 권한 있는 컨테이너에 적용할 수 없습니다.
11.1. 모든 Pod의 기본 seccomp 프로필 활성화
OpenShift Container Platform에는 runtime/default
로 참조되는 기본 seccomp 프로필이 포함되어 있습니다. 사용자 지정 SCC(보안 컨텍스트 제약 조건)를 생성하여 Pod 또는 컨테이너 워크로드에 대한 기본 seccomp 프로필을 활성화할 수 있습니다.
사용자 정의 SCC를 생성해야 합니다. 기본 SCC를 편집하지 마십시오. 일부 플랫폼 pod 배포 또는 OpenShift Container Platform이 업그레이드되면 기본 SCC를 편집하면 문제가 발생할 수 있습니다. 자세한 내용은 "기본 보안 컨텍스트 제약 조건"섹션을 참조하십시오.
다음 단계에 따라 모든 Pod에 대한 기본 seccomp 프로필을 활성화합니다.
사용 가능한
제한된
SCC를 yaml 파일로 내보냅니다.$ oc get scc restricted -o yaml > restricted-seccomp.yaml
생성된
제한된
SCC yaml 파일을 편집합니다.$ vi restricted-seccomp.yaml
다음 예제와 같이 업데이트합니다.
kind: SecurityContextConstraints metadata: name: restricted 1 <..snip..> seccompProfiles: 2 - runtime/default 3
사용자 정의 SCC를 만듭니다.
$ oc create -f restricted-seccomp.yaml
예상 출력
securitycontextconstraints.security.openshift.io/restricted-seccomp created
ServiceAccount에 사용자 정의 SCC를 추가합니다.
$ oc adm policy add-scc-to-user restricted-seccomp -z default
참고기본 서비스 계정은 사용자가 다른 서비스 계정을 구성하지 않는 한 적용되는 ServiceAccount입니다. OpenShift Container Platform은 SCC의 정보를 기반으로 Pod의 seccomp 프로필을 구성합니다.
예상 출력
clusterrole.rbac.authorization.k8s.io/system:openshift:scc:restricted-seccomp added: "default"
OpenShift Container Platform 4.10에서는 Pod 주석 seccomp.security.alpha.kubernetes.io/pod: runtime/default
및 container.seccomp.security.alpha.kubernetes.io/<container_name>: runtime/default
를 추가하는 기능이 더 이상 사용되지 않습니다.