6.4. 사용자 정의 정책 생성


기본 정책을 사용하는 것 외에도 Red Hat Advanced Cluster Security for Kubernetes에서 사용자 지정 정책을 만들 수도 있습니다.

새 정책을 빌드하려면 기존 정책을 복제하거나 처음부터 새 정책을 생성할 수 있습니다.

  • RHACS 포털의 위험 보기의 필터 기준을 기반으로 정책을 생성할 수도 있습니다.
  • 정책 기준에는 AND,OR, 및 NOT 논리 연산자를 사용하여 고급 정책을 생성할 수도 있습니다.

6.4.1. 시스템 정책 보기에서 보안 정책 생성

시스템 정책 보기에서 새 보안 정책을 생성할 수 있습니다.

프로세스

  1. RHACS 포털에서 플랫폼 구성 정책 관리로 이동합니다.
  2. 정책 생성을 클릭합니다.
  3. 정책 세부 정보 섹션에서 정책에 대한 다음 세부 정보를 입력합니다.

    • 정책의 이름을 입력합니다.
    • 선택 사항: 사용 가능한 알림 섹션의 사용 가능한 알림 에서 선택하여 정책에 알림 기를 연결합니다.

      참고

      경고를 전달하려면 Webhook, Jira, PagerDuty, Splunk 등과 같은 RHACS를 알림 공급자와 통합해야 합니다.

    • 이 정책에 대한 심각도 수준을 선택합니다( 심각,높음,중간 또는 낮음 ).
    • 정책에 적용할 정책 범주를 선택합니다. 범주 생성에 대한 자세한 내용은 이 문서의 뒷부분에 나오는 "정책 카테고리 생성 및 관리"를 참조하십시오.
    • 설명 필드에 정책에 대한 세부 정보를 입력합니다.
    • Rationale 필드에 정책이 존재하는 이유에 대한 설명을 입력합니다.
    • 지침 필드에 이 정책 위반을 해결하는 단계를 입력합니다.
    • 선택 사항: MITRE ATT&CK 섹션에서 정책에 지정할 전략 및 기술을 선택합니다.

      1. 전략 추가 를 클릭한 다음 드롭다운 목록에서 전략을 선택합니다.
      2. 선택한 전략의 기술을 추가하려면 추가 기술을 클릭합니다. 방법에 대한 여러 기술을 지정할 수 있습니다.
  4. 다음을 클릭합니다.
  5. 정책 동작 섹션에서 다음 단계를 수행합니다.

    1. 정책이 적용되는 라이프사이클 단계 ( 빌드,배포 또는 런타임 )를 선택합니다. 하나 이상의 단계를 선택할 수 있습니다.

      • 빌드 시간 정책은 CVE 및 Dockerfile 명령과 같은 이미지 필드에 적용됩니다.
      • 배포 시간 정책에는 모든 빌드 시간 정책 기준이 포함될 수 있지만 권한 있는 모드에서 실행 또는 Docker 소켓 마운트와 같은 클러스터 구성의 데이터를 포함할 수도 있습니다.
      • 런타임 정책에는 모든 빌드 시간 및 배포 시간 정책 기준이 포함될 수 있지만 런타임 중에 프로세스 실행에 대한 데이터를 포함할 수도 있습니다.
    2. 선택 사항: 런타임 라이프사이클 단계를 선택한 경우 다음 이벤트 소스 중 하나를 선택합니다.

      • 배포: RHACS는 이벤트 소스에 프로세스 및 네트워크 활동, Pod exec 및 Pod 포트 전달이 포함된 경우 정책 위반을 트리거합니다.
      • 이벤트 소스가 Kubernetes 감사 로그 레코드와 일치하는 경우 RHACS는 정책 위반을 트리거합니다.
  6. 응답 방법의 경우 다음 옵션 중 하나를 선택합니다.

    1. notify: 위반 목록에 위반을 포함합니다.
    2. 정보 및 적용: 작업을 시행합니다.
  7. 선택 사항: 시행 동작 구성에서 Inform 및 enforce 를 선택한 경우 각 라이프사이클에 토글을 사용하여 정책의 시행 동작을 선택합니다. 라이프사이클 단계를 구성할 때 선택한 단계에서만 사용할 수 있습니다. 적용 동작은 라이프사이클 단계마다 다릅니다.

    • Build: RHACS는 이미지가 정책의 기준과 일치할 때 CI(Continuous Integration) 빌드에 실패합니다.
    • 배포 단계의 경우 RHACS는 RHACS 승인 컨트롤러가 구성되어 실행되는 경우 정책 조건과 일치하는 배포의 생성 및 업데이트를 차단합니다.

      • 승인 컨트롤러 적용이 있는 클러스터에서 Kubernetes 또는 OpenShift Container Platform API 서버는 호환되지 않는 모든 배포를 차단합니다. 다른 클러스터에서 RHACS는 비호환 배포를 편집하여 Pod가 예약되지 않도록 합니다.
      • 기존 배포의 경우 정책 변경으로 인해 Kubernetes 이벤트가 발생하는 경우 다음 기준을 탐지할 때만 적용됩니다. 적용 단계에 대한 자세한 내용은 "배포 단계에 대한 보안 정책 적용"을 참조하십시오.
    • Runtime - RHACS는 Pod의 이벤트가 정책 기준과 일치하면 모든 Pod를 삭제합니다.

      주의

      정책 적용은 실행 중인 애플리케이션 또는 개발 프로세스에 영향을 미칠 수 있습니다. 시행 옵션을 활성화하기 전에 모든 이해 관계자에게 알리고 자동화된 적용 작업에 대응하는 방법을 계획하십시오.

  8. 다음을 클릭합니다.
  9. 정책 기준 섹션에서 정책을 트리거할 속성을 구성합니다.

    1. 정책 필드를 클릭하고 Policy 섹션 으로 드래그하여 기준을 추가합니다.

      참고

      사용 가능한 정책 필드는 정책에 선택한 라이프사이클 단계에 따라 다릅니다. 예를 들어 Kubernetes 액세스 정책 또는 네트워킹 의 기준은 런타임 라이프사이클에 대한 정책을 생성할 때 사용할 수 있지만 빌드 라이프사이클에 대한 정책을 생성할 때는 사용할 수 없습니다. 기준 및 사용 가능한 라이프사이클 단계에 대한 정보를 포함하여 정책 기준에 대한 자세한 내용은 "추가 리소스" 섹션의 "정책 기준"을 참조하십시오.

    2. 선택 사항: 정책을 트리거할 추가 기준이 포함된 정책 섹션을 추가하려면(예: 오래된 이미지에서 트리거하려면 이미지 태그가 최신 또는 이미지 기간이 아니며 이미지가 빌드된 이후 최소 일 수를 지정할 수 있습니다).
  10. 다음을 클릭합니다.
  11. 정책 범위 섹션에서 다음을 구성합니다.

    • Restrict by scope 을 사용하려면 포함 범위 추가 를 클릭하여 특정 클러스터, 네임스페이스 또는 라벨에만 이 정책을 활성화합니다. 네임스페이스 및 레이블에 RE2 Syntax 에서 여러 범위를 추가하고 정규식을 사용할 수도 있습니다.
    • Exclude를 사용하여 지정된 배포, 클러스터, 네임스페이스 및 레이블을 제외하려면 제외 범위 추가 를 클릭합니다. 정책은 선택한 엔터티에는 적용되지 않습니다. 네임스페이스 및 레이블에 RE2 Syntax 에서 여러 범위를 추가하고 정규식을 사용할 수도 있습니다. 그러나 배포 선택에는 정규식을 사용할 수 없습니다.
    • 제외된 이미지(Build Lifecycle only) 의 경우 위반을 트리거하지 않으려는 모든 이미지를 선택합니다.

      참고

      제외된 이미지 설정은 Build 라이프사이클 단계와 함께 연속 통합 시스템에서 이미지를 확인하는 경우에만 적용됩니다. 이 정책을 사용하여 Runtime 라이프사이클 단계의 Deploy 라이프사이클 단계 또는 런타임 활동에서 실행 중인 배포를 확인하는 경우에는 적용되지 않습니다.

  12. 다음을 클릭합니다.
  13. 검토 정책 섹션에서 정책 위반을 미리 봅니다.
  14. 저장을 클릭합니다.

6.4.1.1. 배포 단계에 대한 보안 정책 적용

Red Hat Advanced Cluster Security for Kubernetes는 배포 정책에 대한 두 가지 유형의 보안 정책 시행을 지원합니다. 즉, RHACS 센서의 승인 컨트롤러 및 소프트 시행을 통한 하드 시행입니다. 승인 컨트롤러는 정책을 위반하는 배포의 생성 또는 업데이트를 차단합니다. 승인 컨트롤러가 비활성화되거나 사용할 수 없는 경우 Sensor는 정책을 위반하는 배포의 복제본을 0 으로 축소하여 시행을 수행할 수 있습니다.

주의

정책 적용은 실행 중인 애플리케이션 또는 개발 프로세스에 영향을 미칠 수 있습니다. 시행 옵션을 활성화하기 전에 모든 이해 관계자에게 알리고 자동화된 적용 작업에 대응하는 방법을 계획하십시오.

6.4.1.1.1. 하드 적용

하드 적용은 RHACS 승인 컨트롤러에서 수행합니다. 승인 컨트롤러 적용이 있는 클러스터에서 Kubernetes 또는 OpenShift Container Platform API 서버는 호환되지 않는 모든 배포를 차단합니다. 승인 컨트롤러는 CREATEUPDATE 작업을 차단합니다. 배포 시간 적용이 활성화된 정책을 충족하는 Pod 생성 또는 업데이트 요청이 실패합니다.

참고

Kubernetes 승인 Webhook는 CREATE,UPDATE,DELETE 또는 CONNECT 작업만 지원합니다. RHACS 승인 컨트롤러는 CREATEUPDATE 작업만 지원합니다. kubectl 패치,kubectl set, kubectl scale 과 같은 작업은 UPDATE 작업이 아닌 PATCH 작업입니다. PATCH 작업은 Kubernetes에서 지원되지 않으므로 RHACS는 PATCH 작업에 대한 적용을 수행할 수 없습니다.

차단 적용의 경우 RHACS의 클러스터에 대해 다음 설정을 활성화해야 합니다.

  • 오브젝트 생성: 동적 구성 섹션의 이 토글은 승인 제어 서비스의 동작을 제어합니다. 이 작업이 작동하려면 정적 구성 섹션에서 오브젝트 생성 토글을 수신 대기하려면 Configure Admission Controller Webhook 가 있어야 합니다.
  • 오브젝트 업데이트 적용: 동적 구성 섹션의 이 토글은 승인 제어 서비스의 동작을 제어합니다. 이 작업이 작동하려면 정적 구성 섹션의 오브젝트 업데이트 토글을 수신 대기하려면 Configure Admission Controller Webhook 가 있어야 합니다.

정적 구성 설정에서 설정을 변경하는 경우 해당 변경 사항을 적용하려면 보안 클러스터를 재배포해야 합니다.

6.4.1.1.2. 소프트 적용

소프트 적용은 RHACS 센서가 수행합니다. 이러한 적용으로 인해 작업이 시작되지 않습니다. 소프트 적용 기능을 사용하면 센서가 복제본을 0으로 스케일링하고 Pod가 예약되지 않습니다. 이 적용에서는 클러스터에서 준비되지 않은 배포를 사용할 수 있습니다.

소프트 적용이 구성되고 센서가 다운된 경우 RHACS는 적용을 수행할 수 없습니다.

6.4.1.1.3. 네임스페이스 제외

기본적으로 RHACS는 stackrox,kube-system, istio-system 네임스페이스와 같은 특정 관리 네임스페이스를 시행 차단에서 제외합니다. 그 이유는 RHACS가 제대로 작동하려면 이러한 네임스페이스의 일부 항목을 배포해야 하기 때문입니다.

6.4.1.1.4. 기존 배포에 적용

기존 배포의 경우 정책 변경으로 인해 Kubernetes 이벤트가 발생하는 경우 다음 기준을 탐지할 때만 적용됩니다. 정책을 변경하는 경우 정책 관리를 선택하고 Reassess all을 클릭하여 정책을 재평가해야 합니다. 이 작업은 들어오는 새 Kubernetes 이벤트가 있는지 여부에 관계없이 기존의 모든 배포에 배포 정책을 적용합니다. 정책을 위반하는 경우 RHACS는 적용을 수행합니다.

6.4.2. 위험 보기에서 보안 정책 생성

위험 보기에서 배포 위험을 평가하는 동안 로컬 페이지 필터링을 적용할 때 사용 중인 필터링 기준을 기반으로 새 보안 정책을 만들 수 있습니다.

프로세스

  1. RHACS 포털로 이동하여 탐색 메뉴에서 위험을 선택합니다.
  2. 정책을 생성할 로컬 페이지 필터링 기준을 적용합니다.
  3. 새 정책을 선택하고 필수 필드를 입력하여 새 정책을 생성합니다.

6.4.3. 정책 기준

정책 기준 섹션에서 정책을 트리거할 데이터를 구성할 수 있습니다.

다음 표에 나열된 특성을 기반으로 정책을 구성할 수 있습니다.

이 표에서는 다음을 수행합니다.

  • 정규 표현식,AND, OR, NOT 열은 특정 특성과 함께 정규식 및 기타 논리 연산자를 사용할 수 있는지 여부를 나타냅니다.

    • ! Cryo stat (Regular expressions)는 나열된 필드에 대해서만 정규식을 사용할 수 있음을 나타냅니다.
    • AND ! 또는 OR 는 속성에 언급된 논리 연산자만 사용할 수 있음을 나타냅니다.
    • Cryostat / NOT / AND, OR 열의 경우 속성이 해당 속성(regex, 부정, 논리 연산자)을 지원하지 않음을 나타냅니다.
  • RHACS 버전 열에는 특성을 사용해야 하는 Red Hat Advanced Cluster Security for Kubernetes 버전이 표시됩니다.
  • 다음과 같은 특성에는 논리 조합 연산자 ANDOR 를 사용할 수 없습니다.

    • 부울 값이 truefalse
    • 최소 값 의미 체계는 다음과 같습니다.

      • 최소 RBAC 권한
      • 이미지가 생성된 이후 일수
  • 다음과 같은 특성에 NOT 논리 연산자를 사용할 수 없습니다.

    • 부울 값이 truefalse
    • < , > , , <= , >= 연산자와 같이 이미 비교를 사용하는 숫자 값입니다.
    • 예를 들어 여러 값을 가질 수 있는 복합 조건:

      • Dockerfile line: 명령 및 인수를 모두 포함합니다.
      • 환경 변수: name 및 value로 구성됩니다.
    • 기능 추가,드롭다운 기능, 이미지가생성된 이후의 일, 이미지가 마지막으로 스캔된 날짜 등 기타 의미
속성설명JSON 속성허용되는 값regex,NOT,AND, OR단계

섹션: 이미지 레지스트리

이미지 레지스트리

이미지 레지스트리의 이름입니다.

이미지 레지스트리

문자열

regex,
NOT,
AND, OR

Build,
Deploy,
Runtime (런타임 기준)과 함께 사용되는 경우)

이미지 이름

레지스트리의 이미지의 전체 이름입니다(예: library/nginx ).

이미지 원격 이미지

문자열

regex,
NOT,
AND, OR

Build,
Deploy,
Runtime (런타임 기준)과 함께 사용되는 경우)

이미지 태그

이미지의 식별자입니다.

이미지 태그

문자열

regex,
NOT,
AND, OR

Build,
Deploy,
Runtime (런타임 기준)과 함께 사용되는 경우)

이미지 서명

이미지의 서명을 확인하는 데 사용할 수 있는 서명 통합 목록입니다. 서명이 없거나 제공된 서명 통합 중 하나 이상에서 확인할 수 없는 이미지에 대한 경고를 생성합니다.

이미지 서명 확인

이미 구성된 이미지 서명 통합의 유효한 ID

! 또는 하나만

Build,
Deploy,
Runtime (런타임 기준)과 함께 사용되는 경우)

섹션: 이미지 콘텐츠

CVE(Common Vulnerabilities and Exposures)는 수정 가능

이 기준으로 평가 중인 배포에 있는 이미지에 수정 가능한 CVE가 있는 경우에만 위반이 발생합니다.

수정 가능

부울

Build,
Deploy,
Runtime (런타임 기준)과 함께 사용되는 경우)

CVE가 이미지에 처음 발견된 일자

이러한 기준은 RHACS가 특정 이미지에서 CVE를 발견한 이후 지정된 일수보다 많은 경우에만 위반을 초래합니다.

CVE가 이미지에 처음 발견된 일자

정수

Build,
Deploy,
Runtime (런타임 기준)과 함께 사용되는 경우)

CVE가 시스템에서 처음 발견된 일자

이러한 기준은 RHACS가 RHACS가 모니터링하는 모든 클러스터에서 배포된 모든 이미지에서 CVE를 발견한 이후 지정된 일수에 해당하는 경우에만 위반이 발생합니다.

CVE가 시스템에서 처음 발견된 일자

정수

Build,
Deploy,
Runtime (런타임 기준)과 함께 사용되는 경우)

이미지 기간

이미지 생성 날짜로부터 최소 일 수입니다.

이미지 기간

정수

Build,
Deploy,
Runtime (런타임 기준)과 함께 사용되는 경우)

이미지 검사 기간

이미지가 마지막으로 스캔된 후 최소 일 수입니다.

이미지 검사 기간

정수

Build,
Deploy,
Runtime (런타임 기준)과 함께 사용되는 경우)

이미지 사용자

Dockerfile의 USER 지시문과 일치합니다. 자세한 내용은 https://docs.docker.com/engine/reference/builder/#user 을 참조하십시오.

이미지 사용자

문자열

regex,
NOT,
AND, OR

Build,
Deploy,
Runtime (런타임 기준)과 함께 사용되는 경우)

Dockerfile 라인

명령 및 인수를 포함하여 Dockerfile의 특정 행.

Dockerfile 라인

다음 중 하나: LABEL, RUN, CMD, EXV, ADD, COPY, ENTRYPOINT, VOLUME, USER, WORKDIR, ONBUILD

! regex only for values,
AND, OR

Build,
Deploy,
Runtime (런타임 기준)과 함께 사용되는 경우)

이미지 검사 상태

이미지가 스캔되었는지 확인합니다.

검사되지 않은 이미지

부울

Build,
Deploy,
Runtime (런타임 기준)과 함께 사용되는 경우)

CVSS (Common Vulnerability Scoring System)

CVSS: 점수가 >보다 크거나 < , 지정된 CVSS보다 작거나 같은 취약점 일치하는 이미지를 사용합니다.

CVSS

<, > >, <=, >= 또는 아무것도(즉, 동일한 값)
Cryostat- Cryostatand Cryostat- Cryostat 
10진수(선택적인 소수 값이 있는 숫자)입니다.

예:
>=5 또는
9.5

AND, OR

Build,
Deploy,
Runtime (런타임 기준)과 함께 사용되는 경우)

심각도

CVSS 또는 공급 업체를 기반으로 하는 취약점의 심각도입니다. 낮음, 보통, 중요 또는 심각 중 하나일 수 있습니다.

심각도

<, >, Cryostat, >= 또는 아무것도(이는 동일함)
Cryostat-propertyand Cryostat- Cryostat 
one of:
UNKNOWN
LOW
LOW
MODERATE
CRITICAL

예:
>=IMPORTANT,
CRITICAL

AND, OR

Build,
Deploy,
Runtime (런타임 기준)과 함께 사용되는 경우)

수정자

이미지의 플래그가 지정된 취약점을 수정하는 패키지의 버전 문자열입니다. 이 기준은 예를 들어 CVE 기준을 사용하여 취약점을 식별하는 다른 기준과 함께 사용될 수 있습니다.

수정자

문자열

regex,
NOT,
AND, OR

Build,
Deploy,
Runtime (런타임 기준)과 함께 사용되는 경우)

CVE

일반적인 취약점 및 노출은 특정 CVE 번호와 함께 사용합니다.

CVE

문자열

regex,
NOT,
AND, OR

Build,
Deploy,
Runtime (런타임 기준)과 함께 사용되는 경우)

이미지 구성 요소

이미지에 있는 특정 소프트웨어 구성 요소의 이름 및 버전 번호입니다.

이미지 구성 요소

key=value

값은 선택 사항입니다.

값이 없는 경우 "key=" 형식이어야 합니다.

regex,
AND, OR

Build,
Deploy,
Runtime (런타임 기준)과 함께 사용되는 경우)

이미지 OS

이미지의 기본 운영 체제의 이름 및 버전 번호입니다. 예: alpine:3.17.3

이미지 OS

문자열

regex,
NOT,
AND, OR

Build,
Deploy,
Runtime (런타임 기준)과 함께 사용되는 경우)

이미지 레이블 필요

Docker 이미지 레이블이 있는지 확인합니다. 배포의 이미지에 지정된 레이블이 없는 경우 정책이 트리거됩니다. key 및 value 필드에 정규식을 사용하여 레이블과 일치시킬 수 있습니다. 이미지 레이블 정책 조건이 Docker 레지스트리와 통합되는 경우에만 작동합니다. Docker 레이블에 대한 자세한 내용은 https://docs.docker.com/config/labels-custom-metadata/ Docker 문서를 참조하십시오.

필수 이미지 레이블

key=value

값은 선택 사항입니다.

값이 없는 경우 "key=" 형식이어야 합니다.

regex,
AND, OR

Build,
Deploy,
Runtime (런타임 기준)과 함께 사용되는 경우)

이미지 레이블 허용

특정 Docker 이미지 레이블을 사용하지 않는지 확인합니다. 배포의 이미지에 지정된 레이블이 있으면 정책이 트리거됩니다. key 및 value 필드에 정규식을 사용하여 레이블과 일치시킬 수 있습니다. '이미지 레이블 정책 비활성화' 기준은 Docker 레지스트리와 통합할 때만 작동합니다. Docker 레이블에 대한 자세한 내용은 https://docs.docker.com/config/labels-custom-metadata/ Docker 문서를 참조하십시오.

허용되지 않는 이미지 라벨

key=value

값은 선택 사항입니다.

값이 없는 경우 "key=" 형식이어야 합니다.

regex,
AND, OR

Build,
Deploy,
Runtime (런타임 기준)과 함께 사용되는 경우)

섹션: 컨테이너 구성

환경 변수

이름 또는 값으로 환경 변수를 확인합니다. 환경 변수 속성이 포함된 정책을 생성할 때 정책이 일치해야 하는 환경 변수 유형을 선택할 수 있습니다. 예를 들어 배포 YAML에서 직접 제공되는 원시 값을 지정하거나 구성 맵, 시크릿, 필드 또는 리소스 요청 또는 제한의 값에 대한 참조를 지정할 수 있습니다. 배포 YAML에서 직접 지정된 원시 값이 아닌 모든 유형의 경우 정책 규칙의 해당 value 속성이 무시됩니다. 이 경우 정책 일치는 지정된 환경 변수 유형의 존재 여부에 따라 평가됩니다. 또한 이 기준에서는 raw 값이 아닌 유형에 대해 비어 있지 않은 특성을 사용하여 정책을 생성할 수 없습니다.

환경 변수

배포 YAML에 직접 지정된 환경 변수와 특정 키 및 값과 일치하는 RAW=key=value입니다. 키에서만 일치하도록 value 속성을 생략할 수 있습니다.

환경 변수가 구성 YAML에 정의되지 않은 경우 SOURCE=KEY 형식을 사용할 수 있습니다. 여기서 SOURCE 는 다음 오브젝트 중 하나입니다.

  • SECRET_KEY (SecretKeyRef)
  • CONFIG_MAP_KEY(ConfigMapRef)
  • FIELD (FieldRef)
  • RESOURCE_FIELD (ResourceFieldRef)

이전 목록은 먼저 API 오브젝트 레이블을 제공한 다음 사용자 인터페이스 레이블을 설명에 제공합니다.

! key 및 value ( RAW를 사용하는 경우)
AND, OR에 대해서만 regex

배포,
런타임 (런타임 기준과 함께 사용되는 경우)

컨테이너 CPU 요청

지정된 리소스에 예약된 코어 수를 확인합니다.

컨테이너 CPU 요청

<, > >, >= 또는 아무것도 (이를 의미하는 것과 같습니다)
Cryostat- Cryostatand Cryostat- Cryostat 
10진수 (선택적인 소수 값이 있는 숫자)

예:
>=5 또는
9.5

AND, OR

배포,
런타임 (런타임 기준과 함께 사용되는 경우)

컨테이너 CPU 제한

리소스에서 사용할 수 있는 최대 코어 수를 확인합니다.

컨테이너 CPU 제한

(컨테이너 CPU 요청과 동일)

AND, OR

배포,
런타임 (런타임 기준과 함께 사용되는 경우)

컨테이너 메모리 요청

요청되는 부분(MB)을 포함한 숫자입니다.

컨테이너 메모리 요청

(컨테이너 CPU 요청과 동일)

AND, OR

배포,
런타임 (런타임 기준과 함께 사용되는 경우)

컨테이너 메모리 제한

리소스가 사용할 수 있는 최대 메모리 양을 확인합니다.

컨테이너 메모리 제한

(컨테이너 CPU 요청과 동일)

AND, OR

배포,
런타임 (런타임 기준과 함께 사용되는 경우)

권한 있는 컨테이너

배포가 권한 있는 모드에서 구성되었는지 확인합니다. 이 기준은 해당 Pod 보안 컨텍스트에서 권한 있는 필드의 값만 확인합니다.

권한이 있는 컨테이너

부울: 해당 PodSecurityContextprivileged 필드 값이 true 로 설정된 경우 true

배포,
런타임 (런타임 기준과 함께 사용되는 경우)

루트 파일 시스템 쓰기 기능

배포가 readOnlyFilesystem 모드에서 구성되었는지 확인합니다.

읽기 전용 루트 파일 시스템

부울: 해당 PodSecurityContextreadOnlyRootFilesystem 필드 값이 true 로 설정된 경우 true

배포,
런타임 (런타임 기준과 함께 사용되는 경우)

seccomp 프로필 유형

배포에 정의된 seccomp 프로필의 유형입니다. seccomp 옵션이 Pod 및 컨테이너 수준에서 모두 제공되는 경우 컨테이너 옵션은 Pod 옵션을 재정의합니다. 보안 컨텍스트 를 참조하십시오.

seccomp 프로필 유형

그 중 하나:

UNCONFINED
RUNTIME_DEFAULT
LOCALHOST

배포,
런타임 (런타임 기준과 함께 사용되는 경우)

권한 에스컬레이션

배포를 통해 컨테이너 프로세스에서 상위 프로세스보다 더 많은 권한을 얻을 수 있는 경우 경고를 제공합니다.

권한 에스컬레이션 허용

부울

배포,
런타임 (런타임 기준과 함께 사용되는 경우)

드롭 기능

컨테이너에서 삭제해야 하는 Linux 기능. 지정된 기능이 삭제되지 않은 경우 경고를 제공합니다. 예를 들어 SYS_ADMIN AND SYS_BOOT 를 사용하여 구성하고 배포가 이 두 기능 중 하나만 떨어지면 경고가 발생합니다.

드롭 기능

그 중 하나:

모든
AUDIT_CONTROL
AUDIT_READ
AUDIT_WRITE
BLOCK_SUSPEND
DAC_OVERRIDE
DAC_READ_SEARCH
FOWNER CRYOSTAT FSETID CRYOSTAT IPC_LOCK IPC_OWNER CRYOSTAT




KILL
LEASE
LINUX_IMMU CRYOSTAT
MAC_ADMIN
MAC_OVERRIDE
MAC_ADMIN
NET_ADMIN
NET_BIND_SERVICE
NET_BROADCAST CRYOSTAT NET_RAW CRYOSTAT SETFCAP CRYOSTAT SETFCAP CRYOSTAT SETUID CRYOSTAT SYS_ADMIN






SYS_BOOT
SYS_CHROOT
SYS_MODULE
SYS_NICE
SYS_PACCT
SYS_PTRACE
SYS_RAWIO
SYS_RESOURCE CRYOSTAT SYS_TIME CRYOSTAT SYS_TTY_CONFIG>-< SYSLOG CRYOSTAT WAKE_ALARM




배포,
런타임 (런타임 기준과 함께 사용되는 경우)

기능 추가

원시 패킷을 보내거나 파일 권한을 재정의하는 기능과 같이 컨테이너에 추가해서는 안 되는 Linux 기능. 지정된 기능이 추가될 때 경고를 제공합니다. 예를 들어 NET_ADMIN 또는 NET_RAW 로 구성된 경우 배포 매니페스트 YAML 파일에 이러한 두 기능 중 하나 이상이 포함된 경우 경고가 발생합니다.

기능 추가

AUDIT_CONTROL
AUDIT_READ
BLOCK_WRITE
BLOCK_SUSPEND
DAC_OVERRIDE
DAC_READ_SEARCH
FOWNER
FSETID CRYOSTAT IPC_LOCK CRYOSTAT IPC_OWNER CRYOSTAT



KILL
LEASE
LINUX_IMMU CRYOSTAT
MAC_ADMIN
MAC_OVERRIDE
MAC_ADMIN
NET_ADMIN
NET_BIND_SERVICE
NET_BROADCAST CRYOSTAT NET_RAW CRYOSTAT SETFCAP CRYOSTAT SETFCAP CRYOSTAT SETUID CRYOSTAT SYS_ADMIN






SYS_BOOT
SYS_CHROOT
SYS_MODULE
SYS_PACCT
SYS_PTRACE
SYS_RAWIO
SYS_RESOURCE
SYS_TIME
SYS_TTY_CONFIG CRYOSTAT SYSLOG WAKE_ALARM


또는

배포,
런타임 (런타임 기준과 함께 사용되는 경우)

컨테이너 이름

컨테이너의 이름입니다.

컨테이너 이름

문자열

regex,
NOT,
AND, OR

배포,
런타임 (런타임 기준과 함께 사용되는 경우)

AppArmor 프로필

컨테이너에 사용되는 Application Armor("AppArmor") 프로필입니다.

AppArmor 프로필

문자열

regex,
NOT,
AND, OR

배포,
런타임 (런타임 기준과 함께 사용되는 경우)

활성 프로브

컨테이너에서 활성 프로브를 정의하는지 여부입니다.

활성 프로브

부울

배포,
런타임 (런타임 기준과 함께 사용되는 경우)

준비 프로브

컨테이너에서 준비 상태 프로브를 정의하는지 여부입니다.

준비 프로브

부울

배포,
런타임 (런타임 기준과 함께 사용되는 경우)

섹션: 배포 메타데이터

허용되지 않는 주석

지정된 환경의 Kubernetes 리소스에 존재할 수 없는 주석입니다.

허용되지 않는 주석

key=value

값은 선택 사항입니다.

값이 없는 경우 "key=" 형식이어야 합니다.

regex,
AND, OR

배포,
런타임 (런타임 기준과 함께 사용되는 경우)

필수 라벨

Kubernetes에 필수 라벨이 있는지 확인합니다.

필수 라벨

key=value

값은 선택 사항입니다.

값이 없는 경우 "key=" 형식이어야 합니다.

regex,
AND, OR

배포,
런타임 (런타임 기준과 함께 사용되는 경우)

필수 주석

Kubernetes에 필요한 주석이 있는지 확인합니다.

필수 주석

key=value

값은 선택 사항입니다.

값이 없는 경우 "key=" 형식이어야 합니다.

regex,
AND, OR

배포,
런타임 (런타임 기준과 함께 사용되는 경우)

런타임 클래스

배포의 RuntimeClass 입니다.

런타임 클래스

문자열

regex,
NOT,
AND, OR

배포,
런타임 (런타임 기준과 함께 사용되는 경우)

호스트 네트워크

컨테이너가 별도의 네트워크 스택 내에 배치되지 않았음을 나타내는 HostNetwork 가 활성화되어 있는지 확인합니다(예: 컨테이너의 네트워킹이 컨테이너화되지 않음). 이는 컨테이너에 호스트의 네트워크 인터페이스에 대한 전체 액세스 권한이 있음을 의미합니다.

호스트 네트워크

부울

배포,
런타임 (런타임 기준과 함께 사용되는 경우)

호스트 PID

컨테이너와 호스트 간에 PID(프로세스 ID) 네임스페이스가 격리되었는지 확인합니다. 이를 통해 다른 PID 네임스페이스의 프로세스에 동일한 PID가 있을 수 있습니다.

호스트 PID

부울

배포,
런타임 (런타임 기준과 함께 사용되는 경우)

호스트 IPC

호스트에서 이름이 지정된 공유 메모리 세그먼트, 세마포어 및 메시지 큐를 분리하는 IPC(POSIX/SysV IPC) 네임스페이스가 컨테이너와 공유되는지 확인합니다.

호스트 IPC

부울

배포,
런타임 (런타임 기준과 함께 사용되는 경우)

네임스페이스

배포가 속한 네임스페이스의 이름입니다.

네임스페이스

문자열

regex,
NOT,
AND, OR

배포,
런타임 (런타임 기준과 함께 사용되는 경우)

replicas

배포 복제본 수입니다. oc scale 을 사용하여 배포 복제본을 0에서 숫자로 확장하면 배포가 정책을 위반하는 경우 승인 컨트롤러에서 이 작업을 차단합니다.

replicas

<, >, Cryostat, >= 또는 아무것도 (이를 의미하는 것과 같습니다)
Cryostat-단지및진단-지정수 
10진수 (선택적인 소수 값이 있는 숫자)

예:
>=5 또는
9.5

NOT,
또는

배포,
런타임 (런타임 기준과 함께 사용되는 경우)

섹션: 스토리지

볼륨 이름

스토리지의 이름입니다.

볼륨 이름

문자열

regex,
NOT,
AND, OR

배포,
런타임 (런타임 기준과 함께 사용되는 경우)

볼륨 소스

볼륨이 프로비저닝되는 폼을 나타냅니다. 예를 들면 persistentVolumeClaim 또는 hostPath 입니다.

볼륨 소스

문자열

regex,
NOT,
AND, OR

배포,
런타임 (런타임 기준과 함께 사용되는 경우)

볼륨 대상

볼륨이 마운트된 경로입니다.

볼륨 대상

문자열

regex,
NOT,
AND, OR

배포,
런타임 (런타임 기준과 함께 사용되는 경우)

볼륨 유형

볼륨 유형입니다.

볼륨 유형

문자열

regex,
NOT,
AND, OR

배포,
런타임 (런타임 기준과 함께 사용되는 경우)

마운트된 볼륨 writability

쓰기 가능으로 마운트된 볼륨입니다.

쓰기 가능한 볼륨

부울

배포,
런타임 (런타임 기준과 함께 사용되는 경우)

Mount Propagation

컨테이너가 양방향, 호스트로컨테이너로의 호스트 또는 None 모드에서 볼륨을 마운트하는지 확인합니다.

Mount Propagation

그 중 하나:

NONE
HOSTTOCONTAINER
양방향

NOT,
또는

배포,
런타임 (런타임 기준과 함께 사용되는 경우)

호스트 마운트 writability

리소스에서 쓰기 권한이 있는 호스트의 경로를 마운트했습니다.

쓰기 가능한 호스트 마운트

부울

배포,
런타임 (런타임 기준과 함께 사용되는 경우)

섹션: 네트워킹

프로토콜

노출된 포트에서 사용하는 TCP 또는 UDP와 같은 프로토콜입니다.

노출된 포트 프로토콜

문자열

regex,
NOT,
AND, OR

배포,
런타임 (런타임 기준과 함께 사용되는 경우)

포트

배포로 노출된 포트 번호입니다.

노출된 포트

<, >, Cryostat, >= 또는 아무것도(즉, 동일한 값)
Cryostat- Cryostatand Cryostat- Cryostat 
정수입니다.

예:
>=1024 또는
22

NOT,
또는

배포,
런타임 (런타임 기준과 함께 사용되는 경우)

노출된 노드 포트

배포에 의해 외부에 노출되는 포트 번호입니다.

노출된 노드 포트

(종료된 포트와 동일합니다.)

NOT,
또는

배포,
런타임 (런타임 기준과 함께 사용되는 경우)

포트 노출

서비스의 노출 방법(예: 로드 밸런서 또는 노드 포트)

포트 노출 방법

그 중 하나:

설정되지 않음
외부
노드
호스트
내부
경로

NOT,
또는

배포,
런타임 (런타임 기준과 함께 사용되는 경우)

예기치 않은 네트워크 흐름 감지

감지된 네트워크 트래픽이 배포에 대한 네트워크 기준의 일부인지 확인합니다.

예기치 않은 네트워크 흐름 감지

부울

런타임 전용 - 네트워크

인그레스 네트워크 정책

ingress Kubernetes 네트워크 정책이 있는지 확인합니다.

Ingress 네트워크 정책

부울

regex,
AND, OR

배포,
런타임 (런타임 기준과 함께 사용되는 경우)

송신 네트워크 정책

송신 Kubernetes 네트워크 정책이 있는지 확인합니다.

Egress 네트워크 정책 보유

부울

regex,
AND, OR

배포,
런타임 (런타임 기준과 함께 사용되는 경우)

섹션: 프로세스 활동

프로세스 이름

배포에서 실행된 프로세스의 이름입니다.

프로세스 이름

문자열

regex,
NOT,
AND, OR

런타임 전용 - 프로세스

프로세스 Ancestor

배포에서 실행되는 프로세스의 상위 프로세스의 이름입니다.

프로세스 Ancestor

문자열

regex,
NOT,
AND, OR

런타임 전용 - 프로세스

프로세스 인수

배포에서 실행되는 프로세스의 명령 인수입니다.

프로세스 인수

문자열

regex,
NOT,
AND, OR

런타임 전용 - 프로세스

프로세스 UID

배포에서 실행되는 프로세스의 UNIX 사용자 ID입니다.

프로세스 UID

정수

NOT,
또는

런타임 전용 - 프로세스

예기치 않은 프로세스 실행

배포의 잠긴 프로세스 기준선에 프로세스 실행이 나열되지 않은 배포를 확인합니다.

예기치 않은 프로세스 실행

부울

런타임 전용 - 프로세스

섹션: Kubernetes 액세스

서비스 계정

서비스 계정의 이름입니다.

서비스 계정

문자열

regex,
NOT,
AND, OR

배포,
런타임 (런타임 기준과 함께 사용되는 경우)

Quarkus 서비스 계정 토큰

배포 구성이 서비스 계정 토큰을 자동으로 마운트하는지 확인합니다.

Quarkus 서비스 계정 토큰

부울

배포,
런타임 (런타임 기준과 함께 사용되는 경우)

최소 RBAC 권한

배포의 Kubernetes 서비스 계정에 Kubernetes RBAC 권한 수준이 = 또는 지정된 수준보다 경우 일치합니다.

최소 RBAC 권한

그 중 하나:

DEFAULT
ELEVATED_IN_NAMESPACE
ELEVATED_CLUSTER_WIDE
CLUSTER_ADMIN

NOT

배포,
런타임 (런타임 기준과 함께 사용되는 경우)

섹션: Kubernetes 이벤트

Kubernetes 작업

Pod Exec 과 같은 Kubernetes 작업의 이름입니다.

Kubernetes 리소스

그 중 하나:

PODS_EXEC
PODS_PORTFORWARD

! 또는 하나만

Runtime only - Kubernetes 이벤트

Kubernetes 사용자 이름

리소스에 액세스한 사용자의 이름입니다.

Kubernetes 사용자 이름

하이픈(-) 및 콜론(:)만으로 영숫자

regex,
not,
! 또는 하나만

Runtime only - Kubernetes 이벤트

Kubernetes 사용자 그룹

리소스에 액세스한 사용자가 속한 그룹의 이름입니다.

Kubernetes 사용자 그룹

하이픈(-) 및 콜론(:)만으로 영숫자

regex,
not,
! 또는 하나만

Runtime only - Kubernetes 이벤트

Kubernetes 리소스 유형

액세스한 Kubernetes 리소스의 유형입니다.

Kubernetes 리소스

그 중 하나:

구성 맵
시크릿
ClusterRoles
ClusterRoleBindings
NetworkPolicies
SecurityContextConstraints
EgressFirewalls

! 또는 하나만

런타임 전용 - 감사 로그

Kubernetes API Verb

GET 또는 POST 와 같이 리소스에 액세스하는 데 사용되는 Kubernetes API 동사입니다.

Kubernetes API Verb

그 중 하나:

생성
삭제
가져오기
패치
업데이트

! 또는 하나만

런타임 전용 - 감사 로그

Kubernetes 리소스 이름

액세스한 Kubernetes 리소스의 이름입니다.

Kubernetes 리소스 이름

하이픈(-) 및 콜론(:)만으로 영숫자

regex,
not,
! 또는 하나만

런타임 전용 - 감사 로그

사용자 에이전트

사용자가 리소스에 액세스하는 데 사용한 사용자 에이전트입니다. 예를 들면 oc 또는 kubectl 입니다.

사용자 에이전트

문자열

regex,
not,
! 또는 하나만

런타임 전용 - 감사 로그

소스 IP 주소

사용자가 리소스에 액세스한 IP 주소입니다.

소스 IP 주소

IPV4 또는 IPV6 주소

regex,
not,
! 또는 하나만

런타임 전용 - 감사 로그

Impersoned User

서비스 계정 또는 기타 계정으로 가장하는 사용자에 의해 요청이 수행되었는지 확인합니다.

Impersoned User

부울

런타임 전용 - 감사 로그

6.4.3.1. 정책 기준에 대한 논리 조건 추가

드래그 앤 드롭 정책 필드 패널을 사용하여 정책 기준에 대한 논리 조건을 지정할 수 있습니다.

사전 요구 사항

  • Red Hat Advanced Cluster Security for Kubernetes 버전 3.0.45 이상을 사용해야 합니다.

프로세스

  1. 정책 기준 섹션에서 새 조건 추가를 선택하여 새 정책 섹션을 추가합니다.

    • 편집 아이콘을 클릭하여 정책 섹션의 이름을 변경할 수 있습니다.
    • 정책 필드 섹션에는 사용 가능한 정책 기준이 여러 카테고리로 나열됩니다. 이러한 카테고리를 확장하고 축소하여 정책 기준 특성을 볼 수 있습니다.
  2. 속성을 정책 섹션의 범위 내에 있는 정책 필드로 드래그합니다.
  3. 선택한 특성 유형에 따라 선택한 특성에 대한 조건을 구성하는 다양한 옵션이 제공됩니다. 예를 들면 다음과 같습니다.

    • 부울 값이 읽기 전용 루트 파일 시스템인 속성을 선택하면 READ- ONLY 및 WRI Cryostat 옵션이 표시됩니다.
    • 복합 값 Environment 변수 를 사용하여 특성을 선택하는 경우 Key, Value 및 Value From 필드에 대한 값을 입력하는 옵션과 사용 가능한 옵션에 대한 더 많은 값을 추가하는 아이콘이 표시됩니다.

      1. 속성에 대해 여러 값을 결합하려면 추가 아이콘을 클릭합니다.
      2. 정책 섹션에 논리 연산자 AND 또는 OR 목록을 클릭하여 AND 및 OR 연산자 간에 전환할 수도 있습니다. 운영자 간 집계는 policy 섹션 내에서만 작동하며 두 개의 다른 정책 섹션 사이는 작동하지 않습니다.
  4. 이러한 단계를 반복하여 둘 이상의 ANDOR 조건을 지정할 수 있습니다. 추가된 속성에 대한 조건을 구성한 후 Next 를 클릭하여 정책 생성을 계속합니다.
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.