1.4. Compliance Operator 관리

이 섹션에서는 업데이트된 버전의 규정 준수 콘텐츠를 사용하는 방법과 사용자 정의 ProfileBundle 오브젝트를 만드는 방법을 포함하여 보안 콘텐츠의 라이프사이클에 대해 설명합니다.

1.4.1. 보안 콘텐츠 업데이트

보안 콘텐츠는 ProfileBundle 오브젝트에서 참조하는 컨테이너 이미지로 제공됩니다. ProfileBundles 및 규칙 또는 프로필과 같은 번들에서 구문 분석한 사용자 정의 리소스에 대한 업데이트를 정확하게 추적하려면 태그 대신 다이제스트를 사용하여 규정 준수 콘텐츠가 있는 컨테이너 이미지를 확인하십시오.

출력 예

  apiVersion: compliance.openshift.io/v1alpha1
  kind: ProfileBundle
  metadata:
    name: rhcos4
  spec:
    contentImage: quay.io/user/ocp4-openscap-content@sha256:a1749f5150b19a9560a5732fe48a89f07bffc79c0832aa8c49ee5504590ae687 1
    contentFile: ssg-rhcos4-ds.xml

1
보안 컨테이너 이미지입니다.

ProfileBundle은 배포를 통해 지원됩니다. Compliance Operator에서 컨테이너 이미지 다이제스트가 변경되었음을 감지하면 배포가 업데이트되어 변경 사항을 반영하고 콘텐츠를 다시 구문 분석합니다. 태그 대신 다이제스트를 사용하면 안정적이고 예측 가능한 프로필 세트를 사용할 수 있습니다.

1.4.2. 이미지 스트림 사용

contentImage 참조가 유효한 ImageStreamTag를 가리키고 Compliance Operator를 통해 콘텐츠를 자동으로 최신 상태로 유지합니다.

참고

ProfileBundle 오브젝트에는 ImageStream 참조도 사용할 수 있습니다.

이미지 스트림 예

$ oc get is -n openshift-compliance

출력 예

NAME           	   IMAGE REPOSITORY                                                                       	TAGS     UPDATED
openscap-ocp4-ds   image-registry.openshift-image-registry.svc:5000/openshift-compliance/openscap-ocp4-ds   latest   32 seconds ago

프로세스

  1. 조회 정책이 로컬로 설정되어 있는지 확인합니다.

    $ oc patch is openscap-ocp4-ds \
        -p '{"spec":{"lookupPolicy":{"local":true}}}' \
        --type=merge
        imagestream.image.openshift.io/openscap-ocp4-ds patched
        -n openshift-compliance
  2. istag 이름을 검색하여 ProfileBundleImageStreamTag 이름을 사용합니다.

    $ oc get istag -n openshift-compliance

    출력 예

    NAME                  	IMAGE REFERENCE                                                                                                                                              	UPDATED
    openscap-ocp4-ds:latest   image-registry.openshift-image-registry.svc:5000/openshift-compliance/openscap-ocp4-ds@sha256:46d7ca9b7055fe56ade818ec3e62882cfcc2d27b9bf0d1cbae9f4b6df2710c96   3 minutes ago

  3. ProfileBundle을 생성합니다.

    $ cat << EOF | oc create -f -
    apiVersion: compliance.openshift.io/v1alpha1
    kind: ProfileBundle
    metadata:
      name: mybundle
       spec:
         contentImage: openscap-ocp4-ds:latest
         contentFile: ssg-rhcos4-ds.xml
    EOF

ProfileBundle은 해당 이미지를 추적하고 다른 해시를 가리키도록 태그를 업데이트하는 등 이 오브젝트에 적용되는 모든 변경 사항은 ProfileBundle에 즉시 반영됩니다.

1.4.3. ProfileBundle CR의 예

번들 오브젝트에는 contentImage가 포함된 컨테이너 이미지의 URL과 규정 준수 콘텐츠가 포함된 파일 정보가 필요합니다. contentFile 매개변수는 파일 시스템의 루트와 상대적입니다. 내장된 rhcos4 ProfileBundle 오브젝트는 아래 예제에서 정의할 수 있습니다.

  apiVersion: compliance.openshift.io/v1alpha1
  kind: ProfileBundle
  metadata:
    name: rhcos4
  spec:
    contentImage: quay.io/complianceascode/ocp4:latest 1
    contentFile: ssg-rhcos4-ds.xml 2
1
콘텐츠 이미지 위치입니다.
2
규정 준수 콘텐츠가 포함된 파일의 위치입니다.
중요

콘텐츠 이미지에 사용되는 기본 이미지에는 coreutils가 포함되어야 합니다.

1.4.4. 추가 리소스