5장. Compliance Operator

5.1. Compliance Operator 릴리스 정보

OpenShift Container Platform 관리자는 Compliance Operator를 통해 클러스터의 필수 규정 준수 상태를 설명하고 격차에 대한 개요와 문제를 해결하는 방법을 제공할 수 있습니다.

이 릴리스 노트는 OpenShift Container Platform의 Compliance Operator 개발을 추적합니다.

Compliance Operator에 대한 개요는 Compliance Operator 이해를 참조하십시오.

최신 릴리스에 액세스하려면 Compliance Operator 업데이트를 참조하십시오.

5.1.1. OpenShift Compliance Operator 1.0.0

OpenShift Compliance Operator 1.0.0에서 다음 권고를 사용할 수 있습니다.

5.1.1.1. 새로운 기능 및 개선 사항

5.1.1.2. 버그 수정

  • 이번 업데이트 이전에는 compliance_operator_compliance_scan_error_total 메트릭에 각 오류 메시지에 대해 다른 값이 있는 ERROR 레이블이 있었습니다. 이번 업데이트를 통해 compliance_operator_compliance_scan_error_total 메트릭이 값을 늘리지 않습니다. (OCPBUGS-1803)
  • 이번 업데이트 이전에는 ocp4-api-server-audit-log-maxsize 규칙으로 인해 FAIL 상태가 발생했습니다. 이번 업데이트를 통해 메트릭에서 오류 메시지가 제거되어 모범 사례에 따라 지표의 카디널리티가 감소합니다. (OCPBUGS-7520)
  • 이번 업데이트 이전에는 rhcos4-enable-fips-mode 규칙 설명이 설치 후 FIPS를 활성화할 수 있음을 잘못 입력했습니다. 이번 업데이트를 통해 rhcos4-enable-fips-mode 규칙 설명은 설치 시 FIPS를 활성화해야 함을 명확히 설명합니다. (OCPBUGS-8358)

5.1.2. OpenShift Compliance Operator 0.1.61

OpenShift Compliance Operator 0.1.61에는 다음 권고를 사용할 수 있습니다.

5.1.2.1. 새로운 기능 및 개선 사항

  • Compliance Operator는 스캐너 Pod에 대한 시간 제한 구성을 지원합니다. 타임아웃은 ScanSetting 오브젝트에 지정됩니다. 시간 제한 내에 검사가 완료되지 않으면 최대 재시도 횟수에 도달할 때까지 검사가 다시 시도합니다. 자세한 내용은 ScanSetting 타임아웃 구성 을 참조하십시오.

5.1.2.2. 버그 수정

  • 이번 업데이트 이전에는 Compliance Operator에서 변수를 입력으로 수정해야 합니다. 변수 세트가 없는 수정을 통해 클러스터 전체에 적용되어 수정 사항이 올바르게 적용된 경우에도 노드가 중단되었습니다. 이번 업데이트를 통해 Compliance Operator는 수정을 위해 TailoredProfile 을 사용하여 변수를 제공해야 하는지 확인합니다. (OCPBUGS-3864)
  • 이번 업데이트 이전에는 ocp4-kubelet-configure-tls-cipher-suites 에 대한 지침이 불완전하여 사용자가 수동으로 쿼리를 구체화해야 했습니다. 이번 업데이트를 통해 ocp4-kubelet-configure-tls-cipher-suites 에 제공된 쿼리는 실제 결과를 반환하여 감사 단계를 수행합니다. (OCPBUGS-3017)
  • 이번 업데이트 이전에는 settingRef 변수 없이 생성된ScanSettingBinding 오브젝트에서 적절한 기본값을 사용하지 않았습니다. 이번 업데이트를 통해 settingRef 변수가 없는 ScanSettingBinding 오브젝트는 기본값 을 사용합니다. (OCPBUGS-3420)
  • 이번 업데이트 이전에는 kubelet 구성 파일에 시스템 예약된 매개변수가 생성되지 않아 Compliance Operator가 머신 구성 풀의 일시 정지를 해제하지 못했습니다. 이번 업데이트를 통해 Compliance Operator는 머신 구성 풀 평가 중에 시스템 예약된 매개변수를 생략합니다. (OCPBUGS-4445)
  • 이번 업데이트 이전에는 ComplianceCheckResult 오브젝트에 올바른 설명이 없었습니다. 이번 업데이트를 통해 Compliance Operator는 규칙 설명에서 ComplianceCheckResult 정보를 제공합니다. (OCPBUGS-4615)
  • 이번 업데이트 이전에는 머신 구성을 구문 분석할 때 Compliance Operator에서 빈 kubelet 구성 파일을 확인하지 않았습니다. 그 결과 Compliance Operator가 패닉 상태가 되고 충돌합니다. 이번 업데이트를 통해 Compliance Operator는 kubelet 구성 데이터 구조 검사를 개선하여 구현하며 완전히 렌더링된 경우에만 계속됩니다. (OCPBUGS-4621)
  • 이번 업데이트 이전에는 Compliance Operator에서 머신 구성 풀 이름과 유예 기간에 따라 kubelet 제거 수정이 생성되어 단일 제거 규칙에 대한 여러 수정이 수행됩니다. 이번 업데이트를 통해 Compliance Operator는 단일 규칙에 모든 수정을 적용합니다. (OCPBUGS-4338)
  • 이번 업데이트 이전에는 수정 콘텐츠가 변경되지 않더라도 다시 검사한 후 이전에 적용된 수정에 대해 검사를 다시 실행할 수 있습니다. 검사 비교에서 수정 메타데이터가 올바르게 고려되지 않았습니다. 이번 업데이트를 통해 수정은 이전에 생성된 적용된 상태를 유지합니다. (OCPBUGS-6710)
  • 이번 업데이트 이전에는 기본이 아닌 MachineConfigPoolScanSettingBindingFailed 로 표시한 TailoredProfile 을 사용하는 ScanSettingBinding 을 만들려고 할 때 회귀 문제가 발생했습니다. 이번 업데이트를 통해 TailoredProfile 을 사용하는 기능이 복원되고 사용자 지정 ScanSettingBinding 이 올바르게 수행됩니다. (OCPBUGS-6827)
  • 이번 업데이트 이전에는 일부 kubelet 구성 매개변수에 기본값이 없었습니다. 이번 업데이트를 통해 다음 매개변수에는 기본값(OCPBUGS-6708)이 포함됩니다.

    • ocp4-cis-kubelet-enable-streaming-connections
    • ocp4-cis-kubelet-eviction-thresholds-set-hard-imagefs-available
    • ocp4-cis-kubelet-eviction-thresholds-set-hard-imagefs-inodesfree
    • ocp4-cis-kubelet-eviction-thresholds-set-hard-memory-available
    • ocp4-cis-kubelet-eviction-thresholds-set-hard-nodefs-available
  • 이번 업데이트 이전에는 kubelet을 실행하는 데 필요한 권한으로 인해 selinux_confinement_of_daemons 규칙이 kubelet에서 실행되지 못했습니다. 이번 업데이트를 통해 selinux_confinement_of_daemons 규칙이 비활성화됩니다. (OCPBUGS-6968)

5.1.3. OpenShift Compliance Operator 0.1.59

OpenShift Compliance Operator 0.1.59에는 다음 권고를 사용할 수 있습니다.

5.1.3.1. 새로운 기능 및 개선 사항

  • Compliance Operator는 이제 ppc64le 아키텍처에서 Card Industry Data Security Standard(PCI-DSS) ocp4-pci-dssocp4-pci-dss-node 프로필을 지원합니다.

5.1.3.2. 버그 수정

  • 이전에는 Compliance Operator에서 PCI DSS(PCI DSS) ocp4-pci-dssocp4-pci-dss-node 프로필을 ppc64le 과 같은 다른 아키텍처에서 지원하지 않았습니다. 이제 Compliance Operator에서 ppc64le 아키텍처에서 ocp4-pci-dssocp4-pci-dss-node 프로필을 지원합니다. (OCPBUGS-3252)
  • 이전 버전에서는 버전 0.1.57로 업데이트한 후 재실행 자 서비스 계정(SA)이 더 이상 CSV(클러스터 서비스 버전)에 속하지 않아 Operator 업그레이드 중에 SA가 제거되었습니다. 이제 CSV에서 0.1.59에서 재실행 SA를 소유하고 있으며 이전 버전의 업그레이드로 인해 SA가 누락되지 않습니다. (OCPBUGS-3452)
  • 0.1.57에서 Operator는 포트 8080 에서 수신 대기하는 컨트롤러 메트릭 끝점을 시작합니다. 이로 인해 클러스터 모니터링 예상 포트가 8383 이므로 TargetDown 경고가 발생했습니다. 0.1.59를 사용하면 Operator가 예상대로 포트 8383 에서 수신 대기 중인 끝점을 시작합니다. (OCPBUGS-3097)

5.1.4. OpenShift Compliance Operator 0.1.57

OpenShift Compliance Operator 0.1.57에는 다음 권고를 사용할 수 있습니다.

5.1.4.1. 새로운 기능 및 개선 사항

  • KubeletConfig 검사가 Node 에서 플랫폼 유형으로 변경되었습니다. KubeletConfigKubeletConfig 의 기본 구성을 확인합니다. 구성 파일은 모든 노드에서 노드 풀당 단일 위치로 집계됩니다. 기본 구성 값에 대해 KubeletConfig 규칙 평가에서 참조하십시오.
  • 이제 ScanSetting 사용자 정의 리소스를 사용하면 scanLimits 특성을 통해 스캐너 Pod의 기본 CPU 및 메모리 제한을 덮어쓸 수 있습니다. 자세한 내용은 Compliance Operator 리소스 제한 증분을 참조하십시오.
  • 이제 PriorityClass 오브젝트를 ScanSetting 을 통해 설정할 수 있습니다. 이렇게 하면 Compliance Operator의 우선 순위가 지정되고 클러스터가 규정 준수가 중단될 가능성을 최소화할 수 있습니다. 자세한 내용은 ScanSetting 검사에 대한 PriorityClass 설정을 참조하십시오.

5.1.4.2. 버그 수정

  • 이전에는 Compliance Operator에서 기본 openshift-compliance 네임스페이스에 대한 알림을 하드 코딩했습니다. Operator가 기본이 아닌 네임스페이스에 설치된 경우 알림이 예상대로 작동하지 않습니다. 이제 알림은 기본이 아닌 openshift-compliance 네임스페이스에서 작동합니다. (BZ#2060726)
  • 이전 버전에서는 Compliance Operator에서 kubelet 오브젝트에서 사용하는 기본 구성을 평가할 수 없어 부정확한 결과 및 잘못된 긍정이 발생했습니다. 이 새 기능은 kubelet 구성을 평가하고 이제 정확하게 보고합니다. (BZ#2075041)
  • 이전에는 eventRecordQPS 값이 기본값보다 크게 설정되었기 때문에 자동 수정을 적용한 후 Compliance Operator에서 ocp4-kubelet-configure-event-creation 규칙을 FAIL 상태로 보고했습니다. 이제 ocp4-kubelet-configure-event-creation 규칙 업데이트 적용이 기본값을 설정하고 규칙이 올바르게 적용됩니다. (BZ#2082416)
  • ocp4-configure-network-policies 규칙은 효과적으로 수행하기 위해 수동 개입이 필요합니다. 새로운 설명 지침 및 규칙 업데이트는 Calico CNI를 사용하여 클러스터에 대한 ocp4-configure-network-policies 규칙의 적용 가능성을 높입니다. (BZ#2091794)
  • 이전에는 Compliance Operator에서 검사 설정에서 debug=true 옵션을 사용할 때 인프라를 검사하는 데 사용된 Pod를 정리하지 않았습니다. 이로 인해 ScanSettingBinding 을 삭제한 후에도 Pod가 클러스터에 남아 있었습니다. 이제 ScanSettingBinding 이 삭제될 때 항상 Pod가 삭제됩니다. (BZ#2092913)
  • 이전 버전에서는 Compliance Operator에서 더 이상 사용되지 않는 기능에 대한 경고를 유발하는 이전 버전의 operator-sdk 명령을 사용했습니다. 이제 업데이트된 operator-sdk 명령이 포함되어 더 이상 사용되지 않는 기능에 대한 경고가 없습니다. (BZ#2098581)
  • 이전에는 kubelet과 머신 구성 간의 관계를 확인할 수 없는 경우 Compliance Operator에서 수정을 적용하지 못했습니다. 이제 Compliance Operator에서 머신 구성 처리를 개선했으며 kubelet 구성이 머신 구성 서브 세트인지 확인할 수 있습니다. (BZ#2102511)
  • 이전에는 ocp4-cis-node-master-kubelet-enable-cert-rotation 에 대한 규칙이 성공 기준을 올바르게 설명하지 않았습니다. 그 결과 RotateKubeletClientCertificate 에 대한 요구 사항이 명확하지 않았습니다. 이제 kubelet 구성 파일에 있는 구성과 관계없이 ocp4-cis-node-master-kubelet-enable-cert-rotation 에 대한 규칙이 정확하게 보고합니다. (BZ#2105153)
  • 이전에는 유휴 스트리밍 타임아웃을 확인하는 규칙이 기본값을 고려하지 않아 잘못된 규칙 보고가 발생했습니다. 이제 더 강력한 검사를 통해 기본 구성 값을 기반으로 결과의 정확성을 높일 수 있습니다. (BZ#2105878)
  • 이전 버전에서는 Ignition 사양 없이 머신 구성을 구문 분석할 때 Compliance Operator에서 API 리소스를 가져오지 않아 api-check-pods 프로세스가 크래시 루프가 발생했습니다. 이제 Compliance Operator에서 Ignition 사양이 올바르게 없는 Machine Config Pool을 처리합니다. (BZ#2117268)
  • 이전에는 modprobe 구성 값에 일치하지 않기 때문에 수정을 적용한 후에도 modprobe 구성을 평가하는 규칙이 실패했습니다. 이제 검사 및 수정의 modprobe 구성에 동일한 값을 사용하여 일관된 결과를 보장합니다. (BZ#2117747)

5.1.4.3. Deprecations

  • 클러스터의 모든 네임스페이스에 설치를 지정하거나 WATCH_NAMESPACES 환경 변수를 "" 설정하면 더 이상 모든 네임스페이스에 영향을 미치지 않습니다. Compliance Operator 설치 시 지정되지 않은 네임스페이스에 설치된 API 리소스가 더 이상 작동하지 않습니다. 선택한 네임스페이스에서 API 리소스를 생성해야 하거나 기본적으로 openshift-compliance 네임스페이스를 생성해야 할 수 있습니다. 이러한 변경으로 Compliance Operator의 메모리 사용량이 향상됩니다.

5.1.5. OpenShift Compliance Operator 0.1.53

OpenShift Compliance Operator 0.1.53에 다음 권고를 사용할 수 있습니다.

5.1.5.1. 버그 수정

  • 이전 버전에서는 ocp4-kubelet-enable-streaming-connections 규칙에 잘못된 변수 비교가 포함되어 잘못된 검사 결과가 발생했습니다. 이제 streamingConnectionIdleTimeout 을 설정할 때 Compliance Operator에서 정확한 검사 결과를 제공합니다. (BZ#2069891)
  • 이전에는 IBM Z 아키텍처에서 /etc/openvswitch/conf.db 의 그룹 소유권이 올바르지 않아 ocp4-cis-worker-worker-file-groupowner-ovs-conf-db 검사 실패가 발생했습니다. 이제 IBM Z 아키텍처 시스템에서 검사에 NOT-APPLICABLE 이 표시됩니다. (BZ#2072597)
  • 이전에는 배포의 보안 컨텍스트 제약 조건(SCC) 규칙에 대한 불완전한 데이터로 인해 FAIL 상태에서 보고되는 ocp4-cis-scc-limit-container-capabilities 규칙이 보고되었습니다. 이제 최종 결과는 사람의 개입이 필요한 다른 검사와 일치합니다. (BZ#2077916)
  • 이전 버전에서는 다음 규칙이 API 서버 및 TLS 인증서 및 키의 추가 구성 경로를 고려하지 않아 인증서 및 키가 올바르게 설정된 경우에도 오류가 보고되었습니다.

    • ocp4-cis-api-server-kubelet-client-cert
    • ocp4-cis-api-server-kubelet-client-key
    • ocp4-cis-kubelet-configure-tls-cert
    • ocp4-cis-kubelet-configure-tls-key

    이제 규칙 보고서가 kubelet 구성 파일에 지정된 레거시 파일 경로를 정확하게 보고하고 관찰합니다. (BZ#2079813)

  • 이전 버전에서는 content_rule_oauth_oauthclient_inactivity_timeout 규칙에 따라 시간 초과에 대한 규정 준수를 평가할 때 배포에 설정된 구성 가능한 시간 초과가 포함되지 않았습니다. 이로 인해 시간 초과가 유효한 경우에도 규칙이 실패합니다. 이제 Compliance Operator에서 var_oauth_inactivity_timeout 변수를 사용하여 유효한 시간 초과 길이를 설정합니다. (BZ#2081952)
  • 이전에는 Compliance Operator에서 권한 있는 사용에 대해 적절히 레이블이 지정되지 않은 네임스페이스에 관리 권한을 사용했기 때문에 Pod 보안 수준 위반과 관련된 경고 메시지가 표시되었습니다. 이제 Compliance Operator에 권한을 위반하지 않고 결과에 액세스할 수 있도록 적절한 네임스페이스 레이블 및 권한 조정이 있습니다. (BZ#2088202)
  • 이전 버전에서는 rhcos4-high-master-sysctl-kernel-yama-ptrace-scoperhcos4-sysctl-kernel-core-pattern 에 대한 자동 수정을 적용하면 수정되었지만 해당 규칙이 나중에 검사 결과에 실패했습니다. 이제 규칙에서 수정 사항이 적용된 후에도 PASS 를 정확하게 보고합니다. (BZ#2094382)
  • 이전에는 메모리 부족 예외로 인해 Compliance Operator가 CrashLoopBackoff 상태로 실패했습니다. 이제 Compliance Operator가 메모리의 대규모 머신 구성 데이터 세트를 올바르게 처리하도록 개선되었습니다. (BZ#2094854)

5.1.5.2. 알려진 문제

  • ScanSettingBinding 오브젝트 내에 "debug":true 가 설정된 경우 ScanSettingBinding 오브젝트에서 생성한 Pod는 해당 바인딩이 삭제될 때 제거되지 않습니다. 이 문제를 해결하려면 다음 명령을 실행하여 나머지 Pod를 삭제합니다.

    $ oc delete pods -l compliance.openshift.io/scan-name=ocp4-cis

    (BZ#2092913)

5.1.6. OpenShift Compliance Operator 0.1.52

OpenShift Compliance Operator 0.1.52에서 다음 권고를 사용할 수 있습니다.

5.1.6.1. 새로운 기능 및 개선 사항

5.1.6.2. 버그 수정

  • 이전에는 DAC_OVERRIDE 기능이 삭제된 보안 환경의 마운트 권한 문제로 인해 OpenScap 컨테이너가 충돌했습니다. 이제 실행 가능한 마운트 권한이 모든 사용자에게 적용됩니다. (BZ#2082151)
  • 이전에는 규정 준수 규칙 ocp4-configure-network-policiesMANUAL 으로 구성할 수 있었습니다. 이제 규정 준수 규칙 ocp4-configure-network-policiesAUTOMATIC 으로 설정됩니다. (BZ#2072431)
  • 이전에는 Compliance Operator 검사 Pod가 검사 후 제거되지 않았기 때문에 Cluster Autoscaler가 축소되지 않았습니다. 이제 디버깅 목적으로 명시적으로 저장되지 않는 한 Pod는 기본적으로 각 노드에서 제거됩니다. (BZ#2075029)
  • 이전에는 KubeletConfig 에 Compliance Operator를 적용하면 Machine Config Pools가 너무 일찍 일시 정지되지 않아 노드가 NotReady 상태가되었습니다. 이제 Machine Config Pools가 적절하게 일시 중지되지 않고 노드가 올바르게 작동합니다. (BZ#2071854)
  • 이전에는 Machine Config Operator에서 최신 릴리스에서 url로 인코딩된 코드 대신 base64 를 사용하여 Compliance Operator 수정이 실패했습니다. 이제 Compliance Operator에서 base64url-encoded Machine Config 코드를 모두 처리하도록 인코딩을 확인하고 수정이 올바르게 적용됩니다. (BZ#2082431)

5.1.6.3. 알려진 문제

  • ScanSettingBinding 오브젝트 내에 "debug":true 가 설정된 경우 ScanSettingBinding 오브젝트에서 생성한 Pod는 해당 바인딩이 삭제될 때 제거되지 않습니다. 이 문제를 해결하려면 다음 명령을 실행하여 나머지 Pod를 삭제합니다.

    $ oc delete pods -l compliance.openshift.io/scan-name=ocp4-cis

    (BZ#2092913)

5.1.7. OpenShift Compliance Operator 0.1.49

OpenShift Compliance Operator 0.1.49에 다음 권고를 사용할 수 있습니다.

5.1.7.1. 버그 수정

  • 이전에는 openshift-compliance 콘텐츠에 네트워크 유형에 대한 플랫폼별 검사가 포함되지 않았습니다. 그 결과 네트워크 구성에 따라 적용되지 않고 OVN- 및 SDN 관련 검사에 실패한 것으로 표시됩니다. 이제 새로운 규칙에 네트워킹 규칙에 대한 플랫폼 검사를 포함하므로 네트워크별 검사를 보다 정확하게 평가할 수 있습니다. (BZ#1994609)
  • 이전 버전에서는 연결에 SSL/TLS 프로토콜인 ocp4-moderate-routes-protected-by-tls 규칙에서 규칙이 확인되지 않은 TLS 설정을 잘못 검사했습니다. 이제 검사에서 네트워킹 지침 및 프로필 권장 사항과 일치하는 TLS 설정을 올바르게 평가합니다. (BZ#2002695)
  • 이전에는 ocp-cis-configure-network-policies-namespace 가 네임스페이스를 요청할 때 pagination을 사용했습니다. 이로 인해 배포에 500개 이상의 네임스페이스 목록이 잘렸기 때문에 규칙이 실패했습니다. 이제 전체 네임스페이스 목록이 요청되고 구성된 네트워크 정책을 확인하는 규칙이 네임스페이스가 500개 이상인 배포에 대해 작동합니다. (BZ#2038909)
  • 이전에는 sshd jinja 매크로를 사용한 수정 사항이 특정 sshd 구성으로 하드 코딩되었습니다. 결과적으로 규칙이 검사한 내용과 구성이 일치하지 않았으며 검사가 실패합니다. 이제 sshd 구성이 매개 변수화되어 규칙이 성공적으로 적용됩니다. (BZ#2049141)
  • 이전에는 ocp4-cluster-version-operator-verify-integrity 가 항상 Cluter Version Operator (CVO) 기록의 첫 번째 항목을 확인했습니다. 결과적으로 후속 버전의 {product-name}이 확인되는 경우 업그레이드가 실패합니다. 이제 ocp4-cluster-version-operator-verify-integrity 에 대한 규정 준수 확인 결과가 확인된 버전을 감지할 수 있으며 CVO 기록으로 정확합니다. (BZ#2053602)
  • 이전에는 ocp4-api-server-no-adm-ctrl-plugins-disabled 규칙에서 빈 승인 컨트롤러 플러그인 목록을 확인하지 않았습니다. 결과적으로 모든 승인 플러그인이 활성화된 경우에도 규칙이 항상 실패합니다. 이제 ocp4-api-server-no-adm-ctrl-plugins-disabled 규칙을 보다 강력하게 점검하면 모든 허용 컨트롤러 플러그인이 활성화됩니다. (BZ#2058631)
  • 이전에는 검사에서 Linux 작업자 노드에 대해 실행할 플랫폼 검사를 포함하지 않았습니다. 결과적으로 Linux 기반이 아닌 작업자 노드에 대해 검사를 실행하면 검사 루프가 끝나지 않았습니다. 이제 검사에서 플랫폼 유형 및 레이블이 성공적으로 완료되었음을 기반으로 적절하게 예약됩니다. (BZ#2056911)

5.1.8. OpenShift Compliance Operator 0.1.48

다음 권고는 OpenShift Compliance Operator 0.1.48에서 사용할 수 있습니다.

5.1.8.1. 버그 수정

  • 이전 버전에서는 OCI(Extended Open Vulnerability and assess Language) 정의와 관련된 일부 규칙에는 checkTypeNone 이 있었습니다. 이는 Compliance Operator가 규칙을 구문 분석할 때 확장된 OVAL 정의를 처리하지 않았기 때문입니다. 이번 업데이트를 통해 확장된 OVAL 정의의 콘텐츠가 구문 분석되므로 이러한 규칙에는 Node 또는 Platform 중 하나의 checkType 이 있습니다. (BZ#2040282)
  • 이전 버전에서는 KubeletConfig 에 대해 수동으로 생성된 MachineConfig 오브젝트를 통해 KubeletConfig 오브젝트가 수정을 위해 생성되지 않아 수정이 Pending 상태로 남아 있었습니다. 이번 릴리스에서는 KubeletConfig 용으로 수동으로 생성된 MachineConfig 오브젝트가 있는지 여부에 관계없이 문제 해결을 통해 KubeletConfig 오브젝트가 생성됩니다. 결과적으로 KubeletConfig 수정이 예상대로 작동합니다. (BZ#2040401)

5.1.9. OpenShift Compliance Operator 0.1.47

OpenShift Compliance Operator 0.1.47에 다음 권고를 사용할 수 있습니다.

5.1.9.1. 새로운 기능 및 개선 사항

  • Compliance Operator는 PCI DSS(Payment Card Industry Data Security Standard)에 대한 다음 규정 준수 벤치마크를 지원합니다.

    • ocp4-pci-dss
    • ocp4-pci-dss-node
  • FedRAMP 보통 영향 수준에 대한 추가 규칙 및 수정은 OCP4-moderate, OCP4-moderate-node 및 rhcos4-moderate 프로필에 추가됩니다.
  • 노드 수준 프로필에서 KubeletConfig 수정을 사용할 수 있습니다.

5.1.9.2. 버그 수정

  • 이전 버전에서는 클러스터가 OpenShift Container Platform 4.6 또는 이전 버전을 실행하는 경우 적절한 프로필에 대해 USBGuard 관련 규칙에 대한 수정이 실패했습니다. 이는 Compliance Operator에서 생성한 수정이 드롭인 디렉터리를 지원하지 않는 이전 버전의 USBGuard를 기반으로 하기 때문입니다. 이제 OpenShift Container Platform 4.6을 실행하는 클러스터에는 USBGuard 관련 규칙에 대한 잘못된 수정이 생성되지 않습니다. 클러스터가 OpenShift Container Platform 4.6을 사용하는 경우 USBGuard 관련 규칙에 대한 수정을 수동으로 생성해야 합니다.

    또한 최소 버전 요구 사항을 충족하는 규칙 전용 수정이 생성됩니다. (BZ#1965511)

  • 이전 버전에서는 수정을 렌더링할 때 규정 준수 연산자는 너무 엄격한 정규 표현식을 사용하여 해결 방법의 형식이 올바른지 확인했습니다. 그 결과 sshd_config 를 렌더링하는 것과 같은 일부 수정이 정규 표현식 검사를 통과하지 않으므로 생성되지 않았습니다. 정규 표현식은 불필요하고 제거된 것으로 확인되었습니다. 이제 수정 사항이 올바르게 렌더링됩니다. (BZ#2033009)

5.1.10. OpenShift Compliance Operator 0.1.44

OpenShift Compliance Operator 0.1.44에 대해 다음 권고를 사용할 수 있습니다.

5.1.10.1. 새로운 기능 및 개선 사항

  • 이번 릴리스에서는 ComplianceScan, ComplianceSuiteScanSetting CR에 strictNodeScan 옵션이 추가되었습니다. 이 옵션은 노드에서 검색을 예약할 수 없는 경우 오류가 발생한 이전 동작과 일치하는 true로 기본 설정됩니다. 옵션을 false로 설정하면 Compliance Operator가 스케줄링 검사에 대해 더 관대해질 수 있습니다. 임시 노드가 있는 환경에서는 strictNodeScan 값을 false로 설정할 수 있으므로 클러스터의 일부 노드를 예약할 수 없는 경우에도 규정 준수 검사를 진행할 수 있습니다.
  • 이제 ScanSetting 오브젝트의 nodeSelectortolerations 속성을 구성하여 결과 서버 워크로드를 예약하는 데 사용되는 노드를 사용자 지정할 수 있습니다. 이러한 속성은 PV 스토리지 볼륨을 마운트하고 원시 자산 보고 형식(ARF) 결과를 저장하는 데 사용되는 Pod인 ResultServer Pod를 배치하는 데 사용됩니다. 이전에는 nodeSelectortolerations 매개변수가 컨트롤 플레인 노드 중 하나를 선택하고 node-role.kubernetes.io/master taint를 허용하는 것으로 기본 설정되었습니다. 이는 컨트롤 플레인 노드가 PV를 마운트할 수 없는 환경에서는 작동하지 않았습니다. 이 기능을 사용하면 해당 환경에서 노드를 선택하고 다른 테인트를 허용할 수 있습니다.
  • Compliance Operator에서 KubeletConfig 오브젝트를 수정할 수 있습니다.
  • 이제 오류 메시지가 포함된 주석이 추가되어 콘텐츠 개발자가 클러스터에 존재하지 않는 오브젝트를 가져올 수 없는 오브젝트를 구별할 수 있습니다.
  • 이제 rule 오브젝트에 checkTypedescription 이라는 두 개의 새 속성이 포함됩니다. 이러한 속성을 사용하면 규칙과 노드 점검 또는 플랫폼 점검이 적용되는지 확인하고 규칙의 기능을 검토할 수도 있습니다.
  • 이번 기능 개선에서는 기존 프로필을 확장하여 맞춤형 프로필을 생성해야 하는 요구 사항을 제거합니다. 즉 TailoredProfile CRD의 extends 필드가 더 이상 필수가 아닙니다. 이제 규칙 오브젝트 목록을 선택하여 맞춤형 프로필을 생성할 수 있습니다. compliance.openshift.io/product-type: 주석을 설정하거나 TailoredProfile CR에 -node 접미사를 설정하여 프로필이 노드 또는 플랫폼에 적용되는지 여부를 선택해야 합니다.
  • 이번 릴리스에서 Compliance Operator는 테인트와 관계없이 모든 노드에서 검사를 예약할 수 있습니다. 이전에는 검사 Pod에서 node-role.kubernetes.io/master taint만 허용했습니다. 즉, 테인트가 없는 노드에서나 node-role.kubernetes.io/master 테인트가 있는 노드에서만 실행되었습니다. 노드에 사용자 정의 테인트를 사용하는 배포에서는 해당 노드에 검사가 예약되지 않았습니다. 이제 검사 Pod에서 모든 노드 테인트를 허용합니다.
  • 이번 릴리스에서는 Compliance Operator가 다음 North America (NERC) 보안 프로파일을 지원합니다.

    • ocp4-nerc-cip
    • ocp4-nerc-cip-node
    • rhcos4-nerc-cip
  • 이번 릴리스에서 Compliance Operator는 Red Hat OpenShift에 대한 NIST 800-53 Moderate-Impact Baseline을 지원합니다. 노드 수준, ocp4-moderate-node, 보안 프로파일.

5.1.10.2. 템플릿 및 변수 사용

  • 이번 릴리스에서는 해결 템플릿에서 다중 값 변수를 허용합니다.
  • 이번 업데이트를 통해 Compliance Operator는 규정 준수 프로필에 설정된 변수를 기반으로 수정을 변경할 수 있습니다. 이는 시간 제한, NTP 서버 호스트 이름 또는 유사한 배포별 값을 포함하는 수정에 유용합니다. 또한 ComplianceCheckResult 오브젝트는 이제 검사에서 사용한 변수를 나열하는 compliance.openshift.io/check-has-value 레이블을 사용합니다.

5.1.10.3. 버그 수정

  • 이전에는 검사를 수행하는 동안 Pod의 스캐너 컨테이너 중 하나에서 예기치 않은 종료가 발생했습니다. 이번 릴리스에서 Compliance Operator는 최신 OpenSCAP 버전 1.3.5를 사용하여 충돌을 방지합니다.
  • 이전 버전에서는 autoReplyRemediations를 사용하여 수정을 적용하면 클러스터 노드 업데이트가 트리거되었습니다. 일부 수정에 필요한 입력 변수가 모두 포함되지 않은 경우 이로 인해 중단되었습니다. 이제 수정에 필요한 입력 변수가 하나 이상 누락된 경우 NeedsReview 상태가 할당됩니다. 하나 이상의 수정이 needsReview 상태에 있는 경우 머신 구성 풀은 일시 중지된 상태로 남아 있으며 모든 필수 변수가 설정될 때까지 수정이 적용되지 않습니다. 이렇게 하면 노드 중단을 최소화할 수 있습니다.
  • Prometheus 지표에 사용되는 RBAC 역할 및 역할 바인딩이 'ClusterRole' 및 'ClusterRoleBinding'으로 변경되어 사용자 지정 없이 모니터링이 작동하는지 확인합니다.
  • 이전에는 프로필을 구문 분석하는 중에 오류가 발생하면 규칙 또는 변수 오브젝트가 프로필에서 제거되고 삭제되었습니다. 이제 구문 분석 중에 오류가 발생하면 profileparser는 구문 분석이 완료될 때까지 오브젝트가 삭제되지 않도록 임시 주석으로 오브젝트에 주석을 추가합니다. (BZ#1988259)
  • 이전에는 맞춤형 프로필에서 제목 또는 설명이 누락된 경우 오류가 발생했습니다. XCCDF 표준에는 맞춤형 프로필에 대한 제목과 설명이 필요하므로 이제 TailoredProfile CR에 제목 및 설명을 설정해야 합니다.
  • 이전에는 맞춤형 프로필을 사용할 때 특정 선택 세트만 사용하여 TailoredProfile 변수 값을 설정할 수 있었습니다. 이제 이 제한이 제거되고 TailoredProfile 변수를 임의의 값으로 설정할 수 있습니다.

5.1.11. Compliance Operator 0.1.39의 릴리스 정보

OpenShift Compliance Operator 0.1.39에 대해 다음 권고를 사용할 수 있습니다.

5.1.11.1. 새로운 기능 및 개선 사항

  • 이전에는 Compliance Operator에서 PCI DSS(Payment Card Industry Data Security Standard) 참조를 구문 분석할 수 없었습니다. 이제 Operator에서 PCI DSS 프로필과 함께 제공되는 컴플라이언스 콘텐츠를 구문 분석할 수 있습니다.
  • 이전에는 Compliance Operator에서 보통 프로필에서 AU-5 제어 규칙을 실행할 수 없었습니다. 이제 Prometheusrules.monitoring.coreos.com 오브젝트를 읽고 보통 프로필에서 AU-5 제어를 포함하는 규칙을 실행할 수 있도록 Operator에 권한이 추가됩니다.

5.1.12. 추가 리소스