6.4. 사용자 정의 정책 생성
기본 정책을 사용하는 것 외에도 Red Hat Advanced Cluster Security for Kubernetes에서 사용자 지정 정책을 만들 수도 있습니다.
새 정책을 빌드하려면 기존 정책을 복제하거나 처음부터 새 정책을 생성할 수 있습니다.
- RHACS 포털의 위험 보기의 필터 기준을 기반으로 정책을 생성할 수도 있습니다.
-
정책 기준에는
AND
,OR
, 및NOT
논리 연산자를 사용하여 고급 정책을 생성할 수도 있습니다.
6.4.1. 시스템 정책 보기에서 보안 정책 생성
시스템 정책 보기에서 새 보안 정책을 생성할 수 있습니다.
프로세스
-
RHACS 포털에서 플랫폼 구성
정책 관리로 이동합니다. - 정책 생성을 클릭합니다.
정책 세부 정보 섹션에서 정책에 대한 다음 세부 정보를 입력합니다.
- 정책의 이름을 입력합니다.
선택 사항: 사용 가능한 알림 섹션의 사용 가능한 알림 에서 선택하여 정책에 알림 기를 연결합니다.
참고경고를 전달하려면 Webhook, Jira, PagerDuty, Splunk 등과 같은 RHACS를 알림 공급자와 통합해야 합니다.
-
이 정책에 대한 심각도 수준을 선택합니다(
심각
,높음
,중간
또는낮음
). - 이 정책에 적용할 정책 범주를 선택합니다. 범주 생성에 대한 자세한 내용은 이 문서의 뒷부분에 나오는 "정책 카테고리 생성 및 관리"를 참조하십시오.
- 설명 필드에 정책에 대한 세부 정보를 입력합니다.
- Rationale 필드에 정책이 존재하는 이유에 대한 설명을 입력합니다.
- 지침 필드에 이 정책 위반을 해결하는 단계를 입력합니다.
선택 사항: MITRE ATT&CK 섹션에서 정책에 지정할 전략 및 기술을 선택합니다.
- 전략 추가 를 클릭한 다음 드롭다운 목록에서 전략을 선택합니다.
- 선택한 전략의 기술을 추가하려면 추가 기술을 클릭합니다. 방법에 대한 여러 기술을 지정할 수 있습니다.
- 다음을 클릭합니다.
정책 동작 섹션에서 다음 단계를 수행합니다.
정책이 적용되는 라이프사이클 단계 ( 빌드,배포 또는 런타임 )를 선택합니다. 하나 이상의 단계를 선택할 수 있습니다.
- 빌드 시간 정책은 CVE 및 Dockerfile 명령과 같은 이미지 필드에 적용됩니다.
- 배포 시간 정책에는 모든 빌드 시간 정책 기준이 포함될 수 있지만 권한 있는 모드에서 실행 또는 Docker 소켓 마운트와 같은 클러스터 구성의 데이터를 포함할 수도 있습니다.
- 런타임 정책에는 모든 빌드 시간 및 배포 시간 정책 기준이 포함될 수 있지만 런타임 중에 프로세스 실행에 대한 데이터를 포함할 수도 있습니다.
선택 사항: 런타임 라이프사이클 단계를 선택한 경우 다음 이벤트 소스 중 하나를 선택합니다.
- 배포: RHACS는 이벤트 소스에 프로세스 및 네트워크 활동, Pod exec 및 Pod 포트 전달이 포함된 경우 정책 위반을 트리거합니다.
- 이벤트 소스가 Kubernetes 감사 로그 레코드와 일치하는 경우 RHACS는 정책 위반을 트리거합니다.
응답 방법의 경우 다음 옵션 중 하나를 선택합니다.
- notify: 위반 목록에 위반을 포함합니다.
- 정보 및 적용: 작업을 시행합니다.
선택 사항: 시행 동작 구성에서 Inform 및 enforce 를 선택한 경우 각 라이프사이클에 토글을 사용하여 정책의 시행 동작을 선택합니다. 라이프사이클 단계를 구성할 때 선택한 단계에서만 사용할 수 있습니다. 적용 동작은 라이프사이클 단계마다 다릅니다.
- Build: RHACS는 이미지가 정책의 기준과 일치할 때 CI(Continuous Integration) 빌드에 실패합니다.
배포 단계의 경우 RHACS는 RHACS 승인 컨트롤러가 구성되어 실행되는 경우 정책 조건과 일치하는 배포의 생성 및 업데이트를 차단합니다.
- 승인 컨트롤러 적용이 있는 클러스터에서 Kubernetes 또는 OpenShift Container Platform API 서버는 호환되지 않는 모든 배포를 차단합니다. 다른 클러스터에서 RHACS는 비호환 배포를 편집하여 Pod가 예약되지 않도록 합니다.
- 기존 배포의 경우 정책 변경으로 인해 Kubernetes 이벤트가 발생하는 경우 다음 기준을 탐지할 때만 적용됩니다. 적용 단계에 대한 자세한 내용은 "배포 단계에 대한 보안 정책 적용"을 참조하십시오.
Runtime - RHACS는 Pod의 이벤트가 정책 기준과 일치하면 모든 Pod를 삭제합니다.
주의정책 적용은 실행 중인 애플리케이션 또는 개발 프로세스에 영향을 미칠 수 있습니다. 시행 옵션을 활성화하기 전에 모든 이해 관계자에게 알리고 자동화된 적용 작업에 대응하는 방법을 계획하십시오.
- 다음을 클릭합니다.
정책 기준 섹션에서 정책을 트리거할 속성을 구성합니다.
정책 필드를 클릭하고 Policy 섹션 으로 드래그하여 기준을 추가합니다.
참고사용 가능한 정책 필드는 정책에 선택한 라이프사이클 단계에 따라 다릅니다. 예를 들어
Kubernetes 액세스 정책
또는네트워킹
의 기준은 런타임 라이프사이클에 대한 정책을 생성할 때 사용할 수 있지만 빌드 라이프사이클에 대한 정책을 생성할 때는 사용할 수 없습니다. 기준 및 사용 가능한 라이프사이클 단계에 대한 정보를 포함하여 정책 기준에 대한 자세한 내용은 "추가 리소스" 섹션의 "정책 기준"을 참조하십시오.-
선택 사항: 정책을 트리거할 추가 기준이 포함된 정책 섹션을 추가하려면(예: 오래된
이미지에서 트리거하려면 이미지 태그가
최신
또는 이미지 기간이 아니며이미지가
빌드된 이후 최소 일 수를 지정할 수 있습니다).
- 다음을 클릭합니다.
정책 범위 섹션에서 다음을 구성합니다.
- Restrict by scope 을 사용하려면 포함 범위 추가 를 클릭하여 특정 클러스터, 네임스페이스 또는 라벨에만 이 정책을 활성화합니다. 네임스페이스 및 레이블에 RE2 Syntax 에서 여러 범위를 추가하고 정규식을 사용할 수도 있습니다.
- Exclude를 사용하여 지정된 배포, 클러스터, 네임스페이스 및 레이블을 제외하려면 제외 범위 추가 를 클릭합니다. 정책은 선택한 엔터티에는 적용되지 않습니다. 네임스페이스 및 레이블에 RE2 Syntax 에서 여러 범위를 추가하고 정규식을 사용할 수도 있습니다. 그러나 배포 선택에는 정규식을 사용할 수 없습니다.
제외된 이미지(Build Lifecycle only) 의 경우 위반을 트리거하지 않으려는 모든 이미지를 선택합니다.
참고제외된 이미지 설정은 Build 라이프사이클 단계와 함께 연속 통합 시스템에서 이미지를 확인하는 경우에만 적용됩니다. 이 정책을 사용하여 Runtime 라이프사이클 단계의 Deploy 라이프사이클 단계 또는 런타임 활동에서 실행 중인 배포를 확인하는 경우에는 적용되지 않습니다.
- 다음을 클릭합니다.
- 검토 정책 섹션에서 정책 위반을 미리 봅니다.
- 저장을 클릭합니다.
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 서버는 호환되지 않는 모든 배포를 차단합니다. 승인 컨트롤러는 CREATE
및 UPDATE
작업을 차단합니다. 배포 시간 적용이 활성화된 정책을 충족하는 Pod 생성 또는 업데이트 요청이 실패합니다.
Kubernetes 승인 Webhook는 CREATE
,UPDATE
,DELETE
또는 CONNECT
작업만 지원합니다. RHACS 승인 컨트롤러는 CREATE
및 UPDATE
작업만 지원합니다. 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. 위험 보기에서 보안 정책 생성
위험 보기에서 배포 위험을 평가하는 동안 로컬 페이지 필터링을 적용할 때 사용 중인 필터링 기준을 기반으로 새 보안 정책을 만들 수 있습니다.
프로세스
- RHACS 포털로 이동하여 탐색 메뉴에서 위험을 선택합니다.
- 정책을 생성할 로컬 페이지 필터링 기준을 적용합니다.
- 새 정책을 선택하고 필수 필드를 입력하여 새 정책을 생성합니다.
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 버전이 표시됩니다.
다음과 같은 특성에는 논리 조합 연산자
AND
및OR
를 사용할 수 없습니다.-
부울 값이
true
및false
최소 값 의미 체계는 다음과 같습니다.
- 최소 RBAC 권한
- 이미지가 생성된 이후 일수
-
부울 값이
다음과 같은 특성에
NOT
논리 연산자를 사용할 수 없습니다.-
부울 값이
true
및false
-
< , > , , <= , >= 연산자와 같이 이미 비교를 사용하는 숫자 값입니다.
예를 들어 여러 값을 가질 수 있는 복합 조건:
- Dockerfile line: 명령 및 인수를 모두 포함합니다.
- 환경 변수: name 및 value로 구성됩니다.
- 기능 추가,드롭다운 기능, 이미지가생성된 이후의 일, 이미지가 마지막으로 스캔된 날짜 등 기타 의미
-
부울 값이
속성 | 설명 | JSON 속성 | 허용되는 값 | regex,NOT,AND, OR | 단계 |
---|---|---|---|---|---|
섹션: 이미지 레지스트리 | |||||
이미지 레지스트리 | 이미지 레지스트리의 이름입니다. | 이미지 레지스트리 | 문자열 |
regex, |
Build, |
이미지 이름 |
레지스트리의 이미지의 전체 이름입니다(예: | 이미지 원격 이미지 | 문자열 |
regex, |
Build, |
이미지 태그 | 이미지의 식별자입니다. | 이미지 태그 | 문자열 |
regex, |
Build, |
이미지 서명 | 이미지의 서명을 확인하는 데 사용할 수 있는 서명 통합 목록입니다. 서명이 없거나 제공된 서명 통합 중 하나 이상에서 확인할 수 없는 이미지에 대한 경고를 생성합니다. | 이미지 서명 확인 | 이미 구성된 이미지 서명 통합의 유효한 ID |
! |
Build, |
섹션: 이미지 콘텐츠 | |||||
CVE(Common Vulnerabilities and Exposures)는 수정 가능 | 이 기준으로 평가 중인 배포에 있는 이미지에 수정 가능한 CVE가 있는 경우에만 위반이 발생합니다. | 수정 가능 | 부울 | ✕ |
Build, |
CVE가 이미지에 처음 발견된 일자 | 이러한 기준은 RHACS가 특정 이미지에서 CVE를 발견한 이후 지정된 일수보다 많은 경우에만 위반을 초래합니다. | CVE가 이미지에 처음 발견된 일자 | 정수 | ✕ |
Build, |
CVE가 시스템에서 처음 발견된 일자 | 이러한 기준은 RHACS가 RHACS가 모니터링하는 모든 클러스터에서 배포된 모든 이미지에서 CVE를 발견한 이후 지정된 일수에 해당하는 경우에만 위반이 발생합니다. | CVE가 시스템에서 처음 발견된 일자 | 정수 | ✕ |
Build, |
이미지 기간 | 이미지 생성 날짜로부터 최소 일 수입니다. | 이미지 기간 | 정수 | ✕ |
Build, |
이미지 검사 기간 | 이미지가 마지막으로 스캔된 후 최소 일 수입니다. | 이미지 검사 기간 | 정수 | ✕ |
Build, |
이미지 사용자 | Dockerfile의 USER 지시문과 일치합니다. 자세한 내용은 https://docs.docker.com/engine/reference/builder/#user 을 참조하십시오. | 이미지 사용자 | 문자열 |
regex, |
Build, |
Dockerfile 라인 | 명령 및 인수를 포함하여 Dockerfile의 특정 행. | Dockerfile 라인 | 다음 중 하나: LABEL, RUN, CMD, EXV, ADD, COPY, ENTRYPOINT, VOLUME, USER, WORKDIR, ONBUILD |
! regex only for values, |
Build, |
이미지 검사 상태 | 이미지가 스캔되었는지 확인합니다. | 검사되지 않은 이미지 | 부울 | ✕ |
Build, |
CVSS (Common Vulnerability Scoring System) |
CVSS: 점수가 >보다 크거나 < , 지정된 CVSS보다 작거나 같은 취약점 | CVSS |
<, > >, <=, >= 또는 아무것도(즉, 동일한 값)
예: | AND, OR |
Build, |
심각도 | CVSS 또는 공급 업체를 기반으로 하는 취약점의 심각도입니다. 낮음, 보통, 중요 또는 심각 중 하나일 수 있습니다. | 심각도 |
<, >, Cryostat, >= 또는 아무것도(이는 동일함)
예: | AND, OR |
Build, |
수정자 | 이미지의 플래그가 지정된 취약점을 수정하는 패키지의 버전 문자열입니다. 이 기준은 예를 들어 CVE 기준을 사용하여 취약점을 식별하는 다른 기준과 함께 사용될 수 있습니다. | 수정자 | 문자열 |
regex, |
Build, |
CVE | 일반적인 취약점 및 노출은 특정 CVE 번호와 함께 사용합니다. | CVE | 문자열 |
regex, |
Build, |
이미지 구성 요소 | 이미지에 있는 특정 소프트웨어 구성 요소의 이름 및 버전 번호입니다. | 이미지 구성 요소 |
key=value
값은 선택 사항입니다. 값이 없는 경우 "key=" 형식이어야 합니다. |
regex, |
Build, |
이미지 OS |
이미지의 기본 운영 체제의 이름 및 버전 번호입니다. 예: | 이미지 OS | 문자열 |
regex, |
Build, |
이미지 레이블 필요 |
Docker 이미지 레이블이 있는지 확인합니다. 배포의 이미지에 지정된 레이블이 없는 경우 정책이 트리거됩니다. key 및 value 필드에 정규식을 사용하여 레이블과 일치시킬 수 있습니다. | 필수 이미지 레이블 |
key=value
값은 선택 사항입니다. 값이 없는 경우 "key=" 형식이어야 합니다. |
regex, |
Build, |
이미지 레이블 허용 | 특정 Docker 이미지 레이블을 사용하지 않는지 확인합니다. 배포의 이미지에 지정된 레이블이 있으면 정책이 트리거됩니다. key 및 value 필드에 정규식을 사용하여 레이블과 일치시킬 수 있습니다. '이미지 레이블 정책 비활성화' 기준은 Docker 레지스트리와 통합할 때만 작동합니다. Docker 레이블에 대한 자세한 내용은 https://docs.docker.com/config/labels-custom-metadata/ Docker 문서를 참조하십시오. | 허용되지 않는 이미지 라벨 |
key=value
값은 선택 사항입니다. 값이 없는 경우 "key=" 형식이어야 합니다. |
regex, |
Build, |
섹션: 컨테이너 구성 | |||||
환경 변수 |
이름 또는 값으로 환경 변수를 확인합니다. 환경 변수 속성이 포함된 정책을 생성할 때 정책이 일치해야 하는 환경 변수 유형을 선택할 수 있습니다. 예를 들어 배포 YAML에서 직접 제공되는 원시 값을 지정하거나 구성 맵, 시크릿, 필드 또는 리소스 요청 또는 제한의 값에 대한 참조를 지정할 수 있습니다. 배포 YAML에서 직접 지정된 원시 값이 아닌 모든 유형의 경우 정책 규칙의 해당 | 환경 변수 |
배포 YAML에 직접 지정된 환경 변수와 특정 키 및 값과 일치하는 RAW=key=value입니다. 키에서만 일치하도록
환경 변수가 구성 YAML에 정의되지 않은 경우
이전 목록은 먼저 API 오브젝트 레이블을 제공한 다음 사용자 인터페이스 레이블을 설명에 제공합니다. |
! key 및 value ( RAW를 사용하는 경우) |
배포, |
컨테이너 CPU 요청 | 지정된 리소스에 예약된 코어 수를 확인합니다. | 컨테이너 CPU 요청 |
<, > >, >= 또는 아무것도 (이를 의미하는 것과 같습니다)
예: | AND, OR |
배포, |
컨테이너 CPU 제한 | 리소스에서 사용할 수 있는 최대 코어 수를 확인합니다. | 컨테이너 CPU 제한 | (컨테이너 CPU 요청과 동일) | AND, OR |
배포, |
컨테이너 메모리 요청 | 요청되는 부분(MB)을 포함한 숫자입니다. | 컨테이너 메모리 요청 | (컨테이너 CPU 요청과 동일) | AND, OR |
배포, |
컨테이너 메모리 제한 | 리소스가 사용할 수 있는 최대 메모리 양을 확인합니다. | 컨테이너 메모리 제한 | (컨테이너 CPU 요청과 동일) | AND, OR |
배포, |
권한 있는 컨테이너 |
배포가 권한 있는 모드에서 구성되었는지 확인합니다. 이 기준은 해당 Pod 보안 컨텍스트에서 | 권한이 있는 컨테이너 |
부울: 해당 | ✕ |
배포, |
루트 파일 시스템 쓰기 기능 |
배포가 | 읽기 전용 루트 파일 시스템 |
부울: 해당 | ✕ |
배포, |
seccomp 프로필 유형 |
배포에 정의된 | seccomp 프로필 유형 |
그 중 하나:
UNCONFINED | ✕ |
배포, |
권한 에스컬레이션 | 배포를 통해 컨테이너 프로세스에서 상위 프로세스보다 더 많은 권한을 얻을 수 있는 경우 경고를 제공합니다. | 권한 에스컬레이션 허용 | 부울 | ✕ |
배포, |
드롭 기능 |
컨테이너에서 삭제해야 하는 Linux 기능. 지정된 기능이 삭제되지 않은 경우 경고를 제공합니다. 예를 들어 |
드롭 기능 |
그 중 하나:
모든 | 및 |
배포, |
기능 추가 |
원시 패킷을 보내거나 파일 권한을 재정의하는 기능과 같이 컨테이너에 추가해서는 안 되는 Linux 기능. 지정된 기능이 추가될 때 경고를 제공합니다. 예를 들어 | 기능 추가 |
AUDIT_CONTROL | 또는 |
배포, |
컨테이너 이름 | 컨테이너의 이름입니다. | 컨테이너 이름 | 문자열 |
regex, |
배포, |
AppArmor 프로필 | 컨테이너에 사용되는 Application Armor("AppArmor") 프로필입니다. | AppArmor 프로필 | 문자열 |
regex, |
배포, |
활성 프로브 | 컨테이너에서 활성 프로브를 정의하는지 여부입니다. | 활성 프로브 | 부울 | ✕ |
배포, |
준비 프로브 | 컨테이너에서 준비 상태 프로브를 정의하는지 여부입니다. | 준비 프로브 | 부울 | ✕ |
배포, |
섹션: 배포 메타데이터 | |||||
허용되지 않는 주석 | 지정된 환경의 Kubernetes 리소스에 존재할 수 없는 주석입니다. | 허용되지 않는 주석 |
key=value
값은 선택 사항입니다. 값이 없는 경우 "key=" 형식이어야 합니다. |
regex, |
배포, |
필수 라벨 | Kubernetes에 필수 라벨이 있는지 확인합니다. | 필수 라벨 |
key=value
값은 선택 사항입니다. 값이 없는 경우 "key=" 형식이어야 합니다. |
regex, |
배포, |
필수 주석 | Kubernetes에 필요한 주석이 있는지 확인합니다. | 필수 주석 |
key=value
값은 선택 사항입니다. 값이 없는 경우 "key=" 형식이어야 합니다. |
regex, |
배포, |
런타임 클래스 |
배포의 | 런타임 클래스 | 문자열 |
regex, |
배포, |
호스트 네트워크 |
컨테이너가 별도의 네트워크 스택 내에 배치되지 않았음을 나타내는 | 호스트 네트워크 | 부울 | ✕ |
배포, |
호스트 PID | 컨테이너와 호스트 간에 PID(프로세스 ID) 네임스페이스가 격리되었는지 확인합니다. 이를 통해 다른 PID 네임스페이스의 프로세스에 동일한 PID가 있을 수 있습니다. | 호스트 PID | 부울 | ✕ |
배포, |
호스트 IPC | 호스트에서 이름이 지정된 공유 메모리 세그먼트, 세마포어 및 메시지 큐를 분리하는 IPC(POSIX/SysV IPC) 네임스페이스가 컨테이너와 공유되는지 확인합니다. | 호스트 IPC | 부울 | ✕ |
배포, |
네임스페이스 | 배포가 속한 네임스페이스의 이름입니다. | 네임스페이스 | 문자열 |
regex, |
배포, |
replicas |
배포 복제본 수입니다. | replicas |
<, >, Cryostat, >= 또는 아무것도 (이를 의미하는 것과 같습니다)
예: |
NOT, |
배포, |
섹션: 스토리지 | |||||
볼륨 이름 | 스토리지의 이름입니다. | 볼륨 이름 | 문자열 |
regex, |
배포, |
볼륨 소스 |
볼륨이 프로비저닝되는 폼을 나타냅니다. 예를 들면 | 볼륨 소스 | 문자열 |
regex, |
배포, |
볼륨 대상 | 볼륨이 마운트된 경로입니다. | 볼륨 대상 | 문자열 |
regex, |
배포, |
볼륨 유형 | 볼륨 유형입니다. | 볼륨 유형 | 문자열 |
regex, |
배포, |
마운트된 볼륨 writability | 쓰기 가능으로 마운트된 볼륨입니다. | 쓰기 가능한 볼륨 | 부울 | ✕ |
배포, |
Mount Propagation |
컨테이너가 | Mount Propagation |
그 중 하나:
NONE |
NOT, |
배포, |
호스트 마운트 writability | 리소스에서 쓰기 권한이 있는 호스트의 경로를 마운트했습니다. | 쓰기 가능한 호스트 마운트 | 부울 | ✕ |
배포, |
섹션: 네트워킹 | |||||
프로토콜 | 노출된 포트에서 사용하는 TCP 또는 UDP와 같은 프로토콜입니다. | 노출된 포트 프로토콜 | 문자열 |
regex, |
배포, |
포트 | 배포로 노출된 포트 번호입니다. | 노출된 포트 |
<, >, Cryostat, >= 또는 아무것도(즉, 동일한 값)
예: |
NOT, |
배포, |
노출된 노드 포트 | 배포에 의해 외부에 노출되는 포트 번호입니다. | 노출된 노드 포트 | (종료된 포트와 동일합니다.) |
NOT, |
배포, |
포트 노출 | 서비스의 노출 방법(예: 로드 밸런서 또는 노드 포트) | 포트 노출 방법 |
그 중 하나:
설정되지 않음 |
NOT, |
배포, |
예기치 않은 네트워크 흐름 감지 | 감지된 네트워크 트래픽이 배포에 대한 네트워크 기준의 일부인지 확인합니다. | 예기치 않은 네트워크 흐름 감지 | 부울 | ✕ | 런타임 전용 - 네트워크 |
인그레스 네트워크 정책 | ingress Kubernetes 네트워크 정책이 있는지 확인합니다. | Ingress 네트워크 정책 | 부울 |
regex, |
배포, |
송신 네트워크 정책 | 송신 Kubernetes 네트워크 정책이 있는지 확인합니다. | Egress 네트워크 정책 보유 | 부울 |
regex, |
배포, |
섹션: 프로세스 활동 | |||||
프로세스 이름 | 배포에서 실행된 프로세스의 이름입니다. | 프로세스 이름 | 문자열 |
regex, | 런타임 전용 - 프로세스 |
프로세스 Ancestor | 배포에서 실행되는 프로세스의 상위 프로세스의 이름입니다. | 프로세스 Ancestor | 문자열 |
regex, | 런타임 전용 - 프로세스 |
프로세스 인수 | 배포에서 실행되는 프로세스의 명령 인수입니다. | 프로세스 인수 | 문자열 |
regex, | 런타임 전용 - 프로세스 |
프로세스 UID | 배포에서 실행되는 프로세스의 UNIX 사용자 ID입니다. | 프로세스 UID | 정수 |
NOT, | 런타임 전용 - 프로세스 |
예기치 않은 프로세스 실행 | 배포의 잠긴 프로세스 기준선에 프로세스 실행이 나열되지 않은 배포를 확인합니다. | 예기치 않은 프로세스 실행 | 부울 | ✕ | 런타임 전용 - 프로세스 |
섹션: Kubernetes 액세스 | |||||
서비스 계정 | 서비스 계정의 이름입니다. | 서비스 계정 | 문자열 |
regex, |
배포, |
Quarkus 서비스 계정 토큰 | 배포 구성이 서비스 계정 토큰을 자동으로 마운트하는지 확인합니다. | Quarkus 서비스 계정 토큰 | 부울 | ✕ |
배포, |
최소 RBAC 권한 |
배포의 Kubernetes 서비스 계정에 Kubernetes RBAC 권한 수준이 | 최소 RBAC 권한 |
그 중 하나:
DEFAULT | NOT |
배포, |
섹션: Kubernetes 이벤트 | |||||
Kubernetes 작업 |
| Kubernetes 리소스 |
그 중 하나:
PODS_EXEC |
! | Runtime only - Kubernetes 이벤트 |
Kubernetes 사용자 이름 | 리소스에 액세스한 사용자의 이름입니다. | Kubernetes 사용자 이름 | 하이픈(-) 및 콜론(:)만으로 영숫자 |
regex, | Runtime only - Kubernetes 이벤트 |
Kubernetes 사용자 그룹 | 리소스에 액세스한 사용자가 속한 그룹의 이름입니다. | Kubernetes 사용자 그룹 | 하이픈(-) 및 콜론(:)만으로 영숫자 |
regex, | Runtime only - Kubernetes 이벤트 |
Kubernetes 리소스 유형 | 액세스한 Kubernetes 리소스의 유형입니다. | Kubernetes 리소스 |
그 중 하나:
구성 맵 |
! | 런타임 전용 - 감사 로그 |
Kubernetes API Verb |
| Kubernetes API Verb |
그 중 하나:
생성 |
! | 런타임 전용 - 감사 로그 |
Kubernetes 리소스 이름 | 액세스한 Kubernetes 리소스의 이름입니다. | Kubernetes 리소스 이름 | 하이픈(-) 및 콜론(:)만으로 영숫자 |
regex, | 런타임 전용 - 감사 로그 |
사용자 에이전트 |
사용자가 리소스에 액세스하는 데 사용한 사용자 에이전트입니다. 예를 들면 | 사용자 에이전트 | 문자열 |
regex, | 런타임 전용 - 감사 로그 |
소스 IP 주소 | 사용자가 리소스에 액세스한 IP 주소입니다. | 소스 IP 주소 | IPV4 또는 IPV6 주소 |
regex, | 런타임 전용 - 감사 로그 |
Impersoned User | 서비스 계정 또는 기타 계정으로 가장하는 사용자에 의해 요청이 수행되었는지 확인합니다. | Impersoned User | 부울 | ✕ | 런타임 전용 - 감사 로그 |
6.4.3.1. 정책 기준에 대한 논리 조건 추가
드래그 앤 드롭 정책 필드 패널을 사용하여 정책 기준에 대한 논리 조건을 지정할 수 있습니다.
사전 요구 사항
- Red Hat Advanced Cluster Security for Kubernetes 버전 3.0.45 이상을 사용해야 합니다.
프로세스
정책 기준 섹션에서 새 조건 추가를 선택하여 새 정책 섹션을 추가합니다.
- 편집 아이콘을 클릭하여 정책 섹션의 이름을 변경할 수 있습니다.
- 정책 필드 섹션에는 사용 가능한 정책 기준이 여러 카테고리로 나열됩니다. 이러한 카테고리를 확장하고 축소하여 정책 기준 특성을 볼 수 있습니다.
- 속성을 정책 섹션의 범위 내에 있는 정책 필드로 드래그합니다.
선택한 특성 유형에 따라 선택한 특성에 대한 조건을 구성하는 다양한 옵션이 제공됩니다. 예를 들면 다음과 같습니다.
-
부울 값이
읽기 전용 루트 파일 시스템인 속성을 선택하면
및 WRI CryostatREAD-
ONLY옵션이
표시됩니다. 복합 값
Environment 변수
를 사용하여 특성을 선택하는 경우Key
, Value 및
필드에 대한 값을 입력하는 옵션과 사용 가능한 옵션에 대한 더 많은 값을 추가하는 아이콘이 표시됩니다.Value
From- 속성에 대해 여러 값을 결합하려면 추가 아이콘을 클릭합니다.
-
정책 섹션에 논리 연산자
AND
또는OR
목록을 클릭하여 AND 및OR
연산자 간에전환할
수도 있습니다. 운영자 간 집계는 policy 섹션 내에서만 작동하며 두 개의 다른 정책 섹션 사이는 작동하지 않습니다.
-
부울 값이
-
이러한 단계를 반복하여 둘 이상의
AND
및OR
조건을 지정할 수 있습니다. 추가된 속성에 대한 조건을 구성한 후 Next 를 클릭하여 정책 생성을 계속합니다.