10장. seccomp 프로필 구성

OpenShift Container Platform 컨테이너 또는 Pod는 하나 이상의 잘 정의된 작업을 수행하는 단일 애플리케이션을 실행합니다. 애플리케이션에는 일반적으로 기본 운영 체제 커널 API의 작은 하위 집합만 필요합니다. seccomp 보안 컴퓨팅 모드는 사용 가능한 시스템 호출의 하위 집합만 호출하도록 컨테이너에서 실행되는 프로세스를 제한하는 데 사용할 수 있는 Linux 커널 기능입니다. 이러한 시스템 호출은 컨테이너 또는 Pod에 적용되는 프로필을 생성하여 구성할 수 있습니다. seccomp 프로필은 디스크에 JSON 파일로 저장됩니다.

중요

OpenShift 워크로드는 seccomp 프로필이 적용되지 않고 기본적으로 제한 없이 실행됩니다.

중요

seccomp 프로필은 권한 있는 컨테이너에 적용할 수 없습니다.

10.1. 모든 pod에 대한 기본 seccomp 프로필 활성화

OpenShift Container Platform에는 런타임/기본값으로 참조되는 기본 seccomp 프로필이 제공됩니다. 사용자 지정 SCC(보안 컨텍스트 제약 조건)를 생성하여 Pod 또는 컨테이너 워크로드에 대한 기본 seccomp 프로필을 활성화할 수 있습니다.

참고

사용자 지정 SCC를 생성해야 합니다. 기본 SCC를 편집하지 마십시오. 기본 SCC를 편집하면 일부 플랫폼 Pod 배포 또는 OpenShift Container Platform이 업그레이드되면 문제가 발생할 수 있습니다. 자세한 내용은 "기본 보안 컨텍스트 제약 조건" 섹션을 참조하십시오.

다음 단계에 따라 모든 Pod에 대한 기본 seccomp 프로필을 활성화합니다.

  1. 사용 가능한 제한된 SCC를 yaml 파일로 내보냅니다.

    $ oc get scc restricted -o yaml > restricted-seccomp.yaml
  2. 생성된 restricted SCC yaml 파일을 편집합니다.

    $ vi restricted-seccomp.yaml
  3. 다음 예제와 같이 를 업데이트합니다.

    kind: SecurityContextConstraints
    metadata:
      name: restricted  1
    <..snip..>
    seccompProfiles:    2
    - runtime/default   3
    1
    restricted-seccomp로 변경
    2
    seccompProfile을 추가합니다.
    3
    추가 - 런타임/기본
  4. 사용자 지정 SCC를 생성합니다.

    $ oc create -f restricted-seccomp.yaml

    예상 출력

    securitycontextconstraints.security.openshift.io/restricted-seccomp created

  5. 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.7에서 pod 주석 seccomp.security.alpha.kubernetes.io/pod: runtime/defaultcontainer.seccomp.security.alpha.kubernetes.io/<container_name>: runtime/default 는 더 이상 사용되지 않습니다.