5장. 승인 컨트롤러 적용 사용

Red Hat Advanced Cluster Security for Kubernetes는 Kubernetes 승인 컨트롤러OpenShift Container Platform 승인 플러그인과 함께 작동하므로 Kubernetes 또는 OpenShift Container Platform이 워크로드를 생성하기 전에 보안 정책을 적용할 수 있습니다(예: 배포, 데몬 세트 또는 작업).

Red Hat Advanced Cluster Security for Kubernetes 승인 컨트롤러는 사용자가 Red Hat Advanced Cluster Security for Kubernetes에서 설정한 정책을 위반하는 워크로드를 생성하지 못하도록 합니다. Red Hat Advanced Cluster Security for Kubernetes 버전 3.0.41부터 정책을 위반하는 워크로드에 대한 업데이트를 방지하기 위해 승인 컨트롤러를 구성할 수도 있습니다.

Red Hat Advanced Cluster Security for Kubernetes는 ValidatingAdmissionWebhook 컨트롤러를 사용하여 프로비저닝 중인 리소스가 지정된 보안 정책을 준수하는지 확인합니다. 이를 처리하기 위해 Red Hat Advanced Cluster Security for Kubernetes는 여러 웹 후크 규칙이 포함된 ValidatingWebhookConfiguration 을 생성합니다.

Kubernetes 또는 OpenShift Container Platform API 서버가 웹 후크 규칙 중 하나와 일치하는 요청을 수신하면 API 서버는 Red Hat Advanced Cluster Security for Kubernetes에 AdmissionReview 요청을 보냅니다. 그런 다음 Red Hat Advanced Cluster Security for Kubernetes는 구성된 보안 정책에 따라 요청을 수락하거나 거부합니다.

참고

OpenShift Container Platform에서 승인 컨트롤러 적용을 사용하려면 Kubernetes 버전 3.0.49 이상용 Red Hat Advanced Cluster Security가 필요합니다.

5.1. 승인 컨트롤러 적용 이해

승인 컨트롤러 시행을 사용하려면 다음을 고려하십시오.

  • API 대기 시간: 승인 컨트롤러 시행을 사용하면 추가 API 검증 요청이 필요하므로 Kubernetes 또는 OpenShift Container Platform API 대기 시간이 증가합니다. fabric8과 같은 표준 Kubernetes 라이브러리에는 기본적으로 짧은 Kubernetes 또는 OpenShift Container Platform API 시간 초과가 있습니다. 또한 사용할 수 있는 사용자 지정 자동화에서 API 시간 초과를 고려하십시오.
  • 이미지 스캔: 승인 컨트롤러가 클러스터 구성 패널에서 Contact Image Scanners 옵션을 설정하여 요청을 검토하면서 이미지를 스캔할지 여부를 선택할 수 있습니다.

    • 이 설정을 활성화하면 검사 또는 이미지 서명 확인 결과를 아직 사용할 수 없는 경우 Kubernetes용 Red Hat Advanced Cluster Security가 이미지 스캐너에 연락하여 대기 시간이 크게 증가합니다.
    • 이 설정을 사용하지 않는 경우 시행 결정은 캐시된 검사 및 서명 확인 결과를 사용할 수 있는 경우에만 이미지 스캔 기준을 고려합니다.
  • 다음을 위해 허용 컨트롤러 시행을 사용할 수 있습니다.

    • Pod securityContext 의 옵션.
    • 배포 구성.
    • 이미지 구성 요소 및 취약점
  • 다음을 위해 허용 컨트롤러 시행을 사용할 수 없습니다.

    • 프로세스와 같은 런타임 동작입니다.
    • 포트 노출을 기반으로 하는 모든 정책입니다.
  • Kubernetes 또는 OpenShift Container Platform API 서버와 Red Hat Advanced Cluster Security for Kubernetes 센서에 대한 연결 문제가 있는 경우 승인 컨트롤러가 실패할 수 있습니다. 이 문제를 해결하려면 승인 컨트롤러 시행 비활성화 섹션에 설명된 대로 ValidatingWebhookConfiguration 오브젝트를 삭제합니다.
  • 정책에 대한 배포 시간 시행이 활성화되어 있고 승인 컨트롤러를 활성화하면 Red Hat Advanced Cluster Security for Kubernetes는 정책을 위반하는 배포를 차단하려고 합니다. 승인 컨트롤러에서 비호환 배포를 거부하지 않는 경우(예: 시간 초과 시) Kubernetes용 Red Hat Advanced Cluster Security는 복제본으로 스케일링하는 등 다른 배포 시간 적용 메커니즘을 적용합니다.