5.4.3. 정책 기준
정책 기준 섹션에서 정책 을 트리거할 데이터를 구성할 수 있습니다.
다음 표에 나열된 특성을 기반으로 정책을 구성할 수 있습니다.
이 표에서:
정규식,AND 또는, NOT 열은 특정 특성과 함께 정규식 및 기타 논리 연산자를 사용할 수 있는지 여부를 나타냅니다.
-
!정규식 열 에서 나열된 필드에 대해서만 정규 표현식을 사용할 수 있음을 나타냅니다. -
AND, OR 열은 특성에 언급된 논리 연산자만 사용할 수 있음을 나타냅니다.
-
- RHACS 버전 열은 특성을 사용해야 하는 Kubernetes의 Red Hat Advanced Cluster Security 버전을 나타냅니다.
다음과 같은 경우 논리적 결합
연산자 및OR를 사용할 수 없습니다.-
부울 값
true및false 최소 값 의미 체계, 예를 들면 다음과 같습니다.
- 최소 RBAC 권한
- 이미지가 생성된 날짜
-
부울 값
NOT논리 연산자는 다음과 같은 특성에 사용할 수 없습니다.-
부울 값
true및false -
< , > , <= , >= 연산자와 같은 비교가 이미 사용 중인
숫자값입니다. 여러 값을 가질 수 있는 복합 기준은 다음과 같습니다.
- 명령 및 인수를 모두 포함하는 Dockerfile 라인입니다.
- 환경 변수 - 이름과 값으로 모두 구성됩니다.
- 기능 추가,드롭 기능 추가, 이미지생성 날짜 및 이미지 마지막 스캔 후 Days를 포함한 기타 의미.
-
부울 값
논리 연산자 및,또는 보안 정책을 생성하지 않으려면 Kubernetes 버전 3.0.45 이상에 대한 Red Hat Advanced Cluster Security가 필요합니다. 그러나 이전 버전에서는 정규식 열에 나열된 필드에 대한 정규식을 계속 사용할 수 있습니다.However, on earlier versions you can still use regular expressions for the fields listed in the Regular expressions column.
| 속성 | 설명 | RHACS 버전 | 정규 표현식 | NOT | AND, OR | 단계 |
|---|---|---|---|---|---|---|
| 네임스페이스 | 네임스페이스의 이름입니다. | 3.0.51 이상 | ✓ | ✓ | ✓ | 배포 |
| 이미지 레지스트리 | 이미지 레지스트리의 이름입니다. | All | ✓ | ✓ | ✓ | 배포 |
| 이미지 원격 |
레지스트리의 이미지 전체 이름입니다(예: | All | ✓ | ✓ | ✓ | 배포 |
| 이미지 태그 | 이미지의 식별자입니다. | All | ✓ | ✓ | ✓ | 배포 |
| 이미지가 생성된 날짜 | 이미지 생성 날짜의 일 수입니다. | All | ✕ | ✕ | ✕ | Build |
| 이미지가 마지막으로 스캔된 날짜 | 마지막 이미지 스캔 이후의 일 수입니다. | All | ✕ | ✕ | ✕ | Build |
| Dockerfile 줄 | 명령과 인수를 모두 포함하여 Dockerfile의 특정 행. | All | 값의 경우 ! only for values | ✕ | ✓ | Build |
| 이미지를 스캔하지 않습니다. | 이미지에 사용 가능한 검사 데이터가 없습니다. | All | ✕ | ✕ | ✕ | Build |
| CVSS |
공통 취약점 평가 시스템을 사용하여 점수가 < 미만 또는 지정된 CVSS와 동일한 수준의 취약점과 이미지 | All | ✕ | ✕ | ✓ | Build |
| 고정 기준 | 이미지의 플래그된 취약점을 해결하는 패키지의 버전 문자열입니다. | All | ✓ | ✓ | ✓ | Build |
| CVE | 일반적인 취약점 및 노출은 특정 CVE 번호와 함께 사용합니다. | All | ✓ | ✓ | ✓ | Build |
| 이미지 구성 요소 | 이미지에 존재하는 특정 소프트웨어 구성 요소의 이름 및 버전 번호입니다. | All | ✓ | ✕ | ✓ | Build |
| 이미지 OS | 이미지의 기본 운영 체제의 이름 및 버전 번호입니다. | 3.0.47 이상 | ✓ | ✓ | ✓ | Build |
| 환경 변수 | 이름 또는 값으로 환경 변수를 확인합니다. | All | key 및 value에만 해당 | ✕ | ✓ | 배포 |
| 허용되지 않는 주석 | 지정된 환경의 Kubernetes 리소스에 존재할 수 없는 주석입니다. | All | ✓ | ✕ | ✓ | 배포 |
| 허용되지 않는 이미지 레이블 |
사용하지 않아야 하는 Docker 이미지 레이블이 있는지 확인합니다. 이 정책은 배포의 이미지에 지정된 레이블이 있는 경우 트리거됩니다. 레이블과 일치하도록 | 3.0.40 이상 | ✓ | ✕ | ✓ | 배포 |
| 필수 이미지 레이블 |
필요한 Docker 이미지 레이블이 있는지 확인합니다. 배포의 이미지에 지정된 라벨이 없으면 정책이 트리거됩니다. 레이블과 일치하도록 | 3.0.40 이상 | ✓ | ✕ | ✓ | 배포 |
| 필수 라벨 | Kubernetes에 필요한 레이블이 있는지 확인합니다. | All | ✓ | ✕ | ✓ | 배포 |
| 필수 주석 | Kubernetes에 필수 주석이 있는지 확인합니다. | All | ✓ | ✕ | ✓ | 배포 |
| 볼륨 이름 | 스토리지 이름입니다. | All | ✓ | ✓ | ✓ | 배포 |
| 볼륨 소스 |
볼륨이 프로비저닝되는 양식을 나타냅니다. 예: | All | ✓ | ✓ | ✓ | 배포 |
| 볼륨 대상 | 볼륨이 마운트된 경로입니다. | All | ✓ | ✓ | ✓ | 배포 |
| 볼륨 유형 | 볼륨 유형입니다. | All | ✓ | ✓ | ✓ | 배포 |
| 쓰기 가능한 볼륨 | 쓰기 가능으로 마운트된 볼륨. | All | ✕ | ✕ | ✕ | 배포 |
| 프로토콜 | 노출된 포트에서 사용하는 TCP 또는 UDP와 같은 프로토콜입니다. | All | ✓ | ✓ | ✓ | 배포 |
| 포트 | 배포에서 노출된 포트 번호입니다. | All | ✕ | ✓ | ✓ | 배포 |
| privileged | 권한 있는 실행 배포. | All | ✕ | ✕ | ✕ | 배포 |
| 읽기 전용 루트 파일 시스템 | 읽기 전용으로 구성된 루트 파일 시스템으로 실행되는 컨테이너입니다. | All | ✕ | ✕ | ✕ | 배포 |
| 드롭 기능 |
컨테이너에서 삭제해야 하는 Linux 기능. 예를 들면 | All | ✕ | ✕ | ✓ | 배포 |
| 기능 추가 | 컨테이너에 추가되지 않아야 하는 Linux 기능(예: 원시 패킷을 보내거나 파일 권한을 재정의하는 기능) | All | ✕ | ✕ | ✓ | 배포 |
| 프로세스 이름 | 배포에서 실행된 프로세스의 이름입니다. | All | ✓ | ✓ | ✓ | 런타임 |
| 프로세스 Ancestor | 배포에서 실행된 프로세스의 상위 프로세스 이름입니다. | All | ✓ | ✓ | ✓ | 런타임 |
| 프로세스 인수 | 배포에서 실행된 프로세스에 대한 명령 인수입니다. | All | ✓ | ✓ | ✓ | 런타임 |
| 프로세스 UID | 배포에서 실행된 프로세스의 UNIX 사용자 ID입니다. | All | ✕ | ✓ | ✓ | 런타임 |
| 포트 Exposure | 서비스의 노출 방법(예: 로드 밸런서 또는 노드 포트) | All | ✕ | ✓ | ✓ | 배포 |
| 서비스 계정 | 서비스 계정의 이름입니다. | All | ✓ | ✓ | ✓ | 배포 |
| 쓰기 가능한 호스트 마운트 | 리소스는 쓰기 권한이 있는 호스트에 경로를 마운트했습니다. | All | ✕ | ✕ | ✕ | 배포 |
| 예기치 않은 프로세스 실행 | 배포의 잠긴 프로세스 기준에 나열되지 않은 프로세스 실행에 대한 배포를 확인합니다. | All | ✕ | ✕ | ✕ | 런타임 |
| 최소 RBAC 권한 |
배포의 Kubernetes 서비스 계정에 Kubernetes RBAC 권한 수준이 | All | ✕ | ✓ | ✕ | 배포 |
| 컨테이너 이름 | 컨테이너의 이름입니다. | 3.0.52 이상 | ✓ | ✓ | ✓ | 배포 |
| 컨테이너 CPU 요청 | 지정된 리소스에 예약된 코어 수를 확인합니다. | All | ✕ | ✕ | ✓ | 배포 |
| 컨테이너 CPU 제한 | 리소스에서 사용할 수 있는 최대 코어 수를 확인합니다. | All | ✕ | ✕ | ✓ | 배포 |
| 컨테이너 메모리 요청 | 지정된 리소스에 예약된 메모리 양을 확인합니다. | All | ✕ | ✕ | ✓ | 배포 |
| 컨테이너 메모리 제한 | 리소스에서 사용할 수 있는 최대 메모리 양을 확인합니다. | All | ✕ | ✕ | ✓ | 배포 |
| Kubernetes 작업 |
Kubernetes 작업의 이름입니다(예: | 3.0.55 이상 | ✕ | ✕ |
! | 런타임 |
| Kubernetes 리소스 |
| 3.63 이상 | ✕ | ✕ |
! | 런타임 |
| Kubernetes 리소스 이름 | 액세스된 Kubernetes 리소스의 이름입니다. | 3.63 이상 | ✓ | ✓ |
! | 런타임 |
| Kubernetes API Verb |
| 3.63 이상 | ✕ | ✕ |
! | 런타임 |
| Kubernetes 사용자 이름 | 리소스에 액세스한 사용자의 이름입니다. | 3.63 이상 | ✓ | ✓ |
! | 런타임 |
| Kubernetes 사용자 그룹 | 리소스를 속한 사용자가 속한 그룹의 이름입니다. | 3.63 이상 | ✓ | ✕ |
! | 런타임 |
| 사용자 에이전트 |
사용자가 리소스에 액세스하는 데 사용한 사용자 에이전트입니다. 예를 들어 | 3.63 이상 | ✓ | ✓ |
! | 런타임 |
| 소스 IP 주소 | 사용자가 리소스에 액세스하는 IP 주소입니다. | 3.63 이상 | ✓ | ✓ |
! | 런타임 |
| Impersonated User | 서비스 계정 또는 다른 계정으로 가장하는 사용자가 요청을 수행했는지 확인합니다. | 3.63 이상 | ✕ | ✕ | ✕ | 런타임 |
| 런타임 클래스 | 배포 RuntimeClass입니다. | 3.67 이상 | ✓ | ✓ | ✓ | 배포 |
| 자동 마운트 서비스 계정 토큰 | 배포 구성에서 서비스 계정 토큰을 자동으로 마운트하는지 확인합니다. | 3.68 이상 | ✕ | ✕ | ✕ | 배포 |
| 활성 프로브 | 컨테이너가 활성 프로브를 정의하는지 여부입니다. | 3.69 이상 | ✕ | ✕ | ✕ | 배포 |
| 준비 프로브 | 컨테이너가 준비 상태 프로브를 정의하는지 여부입니다. | 3.69 이상 | ✕ | ✕ | ✕ | 배포 |
| replicas | 배포 복제본 수입니다. | 3.69 이상 | ✕ | ✓ | ✓ | 배포 |
| 권한 에스컬레이션 | 컨테이너 프로세스에서 상위 프로세스보다 더 많은 권한을 얻을 수 있도록 개발이 구성된 경우 경고를 제공합니다. | 3.70 이상 | ✕ | ✕ | ✕ | 배포 |
| Ingress 네트워크 정책 | Kubernetes 네트워크 정책의 존재 또는 존재 여부를 확인합니다. | 3.70 이상 | ✕ | ✕ | ✓ | 배포 |
| 송신 네트워크 정책 | 송신 Kubernetes 네트워크 정책이 있는지 확인합니다. | 3.70 이상 | ✕ | ✕ | ✓ | 신뢰할 수 있는 이미지 서명자가 확인되지 않음 |
Kubernetes 버전 3.0.44 이상에 Red Hat Advanced Cluster Security를 사용하는 경우 정책 기준에 지정된 정책 기준이 "AND"됨입니다. 이는 지정된 정책 조건이 모두 일치하는 경우에만 위반을 트리거합니다.
5.4.3.1. 정책 기준에 대한 논리 조건 추가
드래그 앤 드롭 정책 필드 패널을 사용하여 정책 기준에 대한 논리 조건을 지정할 수 있습니다.
사전 요구 사항
- Kubernetes 버전 3.0.45 이상에는 Red Hat Advanced Cluster Security를 사용해야 합니다.
절차
정책 기준 섹션에서 새 조건 추가를 선택하여 새 정책 섹션을 추가합니다.
- Edit (편집) 아이콘을 클릭하여 정책 섹션의 이름을 변경할 수 있습니다.
- 정책 필드 섹션은 여러 카테고리에서 사용 가능한 정책 기준을 나열합니다. 이러한 카테고리를 확장하고 축소하여 정책 기준 특성을 확인할 수 있습니다.
- 속성을 정책 섹션의 영역에 있는 Drop a policy 필드로 드래그합니다.
선택하는 특성 유형에 따라 선택한 특성에 대한 조건을 구성하는 다양한 옵션이 있습니다. 예를 들면 다음과 같습니다.
-
부울 값이
Read-Only Root Filesystem인 특성을 선택하는 경우READ-ONLY및WRITABLE옵션이 표시됩니다. 복합 값 환경 변수를 사용하여 특성을 선택하는 경우 키 , 값 및 값 From 필드의 값을 입력하는 옵션이 표시되고 사용 가능한 옵션에 대한 추가 값을 추가할 수 있습니다.If you select an attribute with compound values
Environment variable, you will see options to enter values forKey,Value, andValue Fromfields, and an icon to add more values for the available options.- 특성에 대해 여러 값을 결합하려면 추가 를 클릭합니다.
-
정책 섹션에 나열된 논리 연산자
AND또는 OR(또는OR)를 클릭하여AND및OR연산자 간에 전환할 수도 있습니다. Operator 간 전환은 정책 섹션에서만 작동하며 두 개의 서로 다른 정책 섹션 사이에서는 작동하지 않습니다.
-
부울 값이
-
이러한 단계를 반복하여 둘 이상의
AND및OR조건을 지정할 수 있습니다. 추가된 속성에 대한 조건을 구성한 후 Next 를 클릭하여 정책 생성을 계속합니다.