4.2. Operator를 사용하여 RHACS의 중앙 구성 옵션 구성
Operator를 사용하여 Central 인스턴스를 설치할 때 선택적 설정을 구성할 수 있습니다.
4.2.1. Operator를 사용하는 중앙 구성 옵션
Central 인스턴스를 생성할 때 Operator에는 Central
사용자 정의 리소스에 대한 다음 구성 옵션이 나열됩니다.
다음 표에는 외부 PostgreSQL 데이터베이스 설정이 포함되어 있습니다.
4.2.1.1. 중앙 설정
매개변수 | 설명 |
---|---|
|
암호 데이터 항목에 관리자 암호가 포함된 시크릿을 지정합니다. |
| 기본적으로 Central은 내부 TLS 인증서만 제공하므로 인그레스 또는 로드 밸런서 수준에서 TLS 종료를 처리해야 합니다. Central에서 TLS를 종료하고 사용자 지정 서버 인증서를 제공하려는 경우 인증서 및 개인 키가 포함된 보안을 지정할 수 있습니다. |
|
자동 관리자 암호 생성을 비활성화하려면 이 매개변수를 |
| 노드 선택기가 테인트된 노드를 선택하는 경우 이 매개변수를 사용하여 Central에 테인트 허용 오차 키, 값 및 효과를 지정합니다. 이 매개변수는 주로 인프라 노드에 사용됩니다. |
| 이 매개 변수를 사용하여 호스트 및 IP 주소를 Pod의 hosts 파일에 삽입합니다. |
|
로드 밸런서를 통해 Central을 노출하려면 이 값을 |
| 이 매개변수를 사용하여 로드 밸런서의 사용자 정의 포트를 지정합니다. |
| 이 매개변수를 사용하여 로드 밸런서용으로 예약된 고정 IP 주소를 지정합니다. |
|
Red Hat OpenShift 경로를 통해 Central을 노출하려면 이 값을 |
| Central의 경로에 사용할 사용자 지정 호스트 이름을 지정합니다. OpenShift Container Platform에서 제공하는 기본값을 허용하려면 설정되지 않은 상태로 두십시오. |
|
노드 포트를 통해 Central을 노출하려면 이 값을 |
| 이를 사용하여 명시적 노드 포트를 지정합니다. |
|
Central에 대한 모니터링을 활성화하려면 |
| 이 구성 요소를 특정 노드에서만 실행하려면 이 매개변수를 사용하여 노드 선택기를 구성할 수 있습니다. |
| 영구 데이터를 호스트의 디렉터리에 저장할 호스트 경로를 지정합니다. Red Hat은 이를 사용하지 않는 것이 좋습니다. 호스트 경로를 사용해야 하는 경우 노드 선택기와 함께 사용해야 합니다. |
|
영구 데이터를 관리할 PVC의 이름입니다. 지정된 이름의 PVC가 없으면 생성됩니다. 설정되지 않은 경우 기본값은 |
| 클레임을 통해 생성할 때 영구 볼륨의 크기입니다. 이는 기본적으로 자동으로 생성됩니다. |
| PVC에 사용할 스토리지 클래스의 이름입니다. 클러스터가 기본 스토리지 클래스로 구성되지 않은 경우 이 매개변수의 값을 제공해야 합니다. |
| 이 매개변수를 사용하여 Central의 기본 리소스 제한을 덮어씁니다. |
| 이 매개변수를 사용하여 Central의 기본 리소스 요청을 덮어씁니다. |
| 이 매개변수를 사용하여 중앙 이미지의 이미지 가져오기 보안을 지정합니다. |
|
암호 데이터 항목에 데이터베이스 암호가 있는 시크릿을 지정합니다. |
|
이 매개변수를 설정하면 중앙 DB가 배포되지 않으며 Central은 지정된 연결 문자열을 사용하여 연결됩니다. 이 매개변수의 값을 지정하는 경우
|
| 노드 선택기가 테인트된 노드를 선택하는 경우 이 매개변수를 사용하여 Central DB에 테인트 허용 오차 키, 값 및 효과를 지정합니다. 이 매개변수는 주로 인프라 노드에 사용됩니다. |
| 이 매개 변수를 사용하여 호스트 및 IP 주소를 Pod의 hosts 파일에 삽입합니다. |
| 영구 데이터를 호스트의 디렉터리에 저장할 호스트 경로를 지정합니다. Red Hat은 이를 사용하지 않는 것이 좋습니다. 호스트 경로를 사용해야 하는 경우 노드 선택기와 함께 사용해야 합니다. |
|
영구 데이터를 관리할 PVC의 이름입니다. 지정된 이름의 PVC가 없으면 생성됩니다. 설정되지 않은 경우 기본값은 |
| 클레임을 통해 생성할 때 영구 볼륨의 크기입니다. 이는 기본적으로 자동으로 생성됩니다. |
| PVC에 사용할 스토리지 클래스의 이름입니다. 클러스터가 기본 스토리지 클래스로 구성되지 않은 경우 이 매개변수의 값을 제공해야 합니다. |
| 이 매개변수를 사용하여 Central DB의 기본 리소스 제한을 덮어씁니다. |
| 이 매개변수를 사용하여 Central DB의 기본 리소스 요청을 덮어씁니다. |
| 이 구성 요소를 특정 노드에서만 실행하려면 이 매개변수를 사용하여 노드 선택기를 구성할 수 있습니다. |
4.2.1.2. StackRox 스캐너 설정
매개변수 | 설명 |
---|---|
| 이 스캐너를 특정 노드에서만 실행하려면 이 매개변수를 사용하여 노드 선택기를 구성할 수 있습니다. |
| 노드 선택기가 테인트된 노드를 선택하는 경우 이 매개변수를 사용하여 StackRox 스캐너에 대한 테인트 허용 오차 키, 값 및 효과를 지정합니다. 이 매개변수는 주로 인프라 노드에 사용됩니다. |
| 이 매개 변수를 사용하여 호스트 및 IP 주소를 Pod의 hosts 파일에 삽입합니다. |
| StackRox 스캐너의 기본 리소스 제한을 덮어쓰려면 이 매개변수를 사용합니다. |
| StackRox 스캐너의 기본 리소스 요청을 덮어쓰려면 이 매개변수를 사용합니다. |
| 활성화하면 분석기 복제본 수는 지정된 제한 내에서 부하를 기반으로 동적으로 관리됩니다. |
| Analyzer 자동 스케일링 구성에 사용할 최대 복제본을 지정합니다. |
| Analyzer 자동 스케일링 구성에 사용할 최소 복제본을 지정합니다. |
| 자동 스케일링이 비활성화되면 항상 복제본 수가 이 값과 일치하도록 구성됩니다. |
| 이 구성 요소를 특정 노드에서만 실행하려면 이 매개변수를 사용하여 노드 선택기를 구성할 수 있습니다. |
| 노드 선택기가 테인트된 노드를 선택하는 경우 이 매개변수를 사용하여 StackRox Scanner DB에 대한 테인트 허용 오차 키, 값 및 효과를 지정합니다. 이 매개변수는 주로 인프라 노드에 사용됩니다. |
| 이 매개 변수를 사용하여 호스트 및 IP 주소를 Pod의 hosts 파일에 삽입합니다. |
| StackRox 스캐너 DB의 기본 리소스 제한을 덮어쓰려면 이 매개변수를 사용합니다. |
| StackRox Scanner DB의 기본 리소스 요청을 덮어쓰려면 이 매개변수를 사용합니다. |
|
|
| StackRox 스캐너를 배포하지 않으려면 이 매개변수를 사용하여 비활성화할 수 있습니다. StackRox 스캐너를 비활성화하면 이 섹션의 다른 모든 설정이 적용되지 않습니다. Red Hat은 Red Hat Advanced Cluster Security for Kubernetes를 StackRox 스캐너를 비활성화하지 않는 것이 좋습니다. 스캐너 V4를 활성화한 경우 StackRox 스캐너를 비활성화하지 마십시오. 스캐너 V4에서는 필요한 검사 기능을 제공하기 위해 StackRox 스캐너도 활성화해야 합니다. |
4.2.1.3. 스캐너 V4 설정
매개변수 | 설명 |
---|---|
| 이 구성 요소를 특정 노드에서만 실행하려면 이 매개변수를 사용하여 노드 선택기를 구성할 수 있습니다. |
| 노드 선택기가 테인트된 노드를 선택하는 경우 이 매개변수를 사용하여 Scanner V4 DB에 테인트 허용 오차 키, 값 및 효과를 지정합니다. 이 매개변수는 주로 인프라 노드에 사용됩니다. |
| 이 매개 변수를 사용하여 호스트 및 IP 주소를 Pod의 hosts 파일에 삽입합니다. |
| scanner V4 DB의 기본 리소스 제한을 덮어쓰려면 이 매개변수를 사용합니다. |
| 이 매개변수를 사용하여 scanner V4 DB의 기본 리소스 요청을 덮어씁니다. |
|
scanner V4의 영구 데이터를 관리할 PVC의 이름입니다. 지정된 이름의 PVC가 없으면 생성됩니다. 설정되지 않은 경우 기본값은 |
| 이 구성 요소를 특정 노드에서만 실행하려면 이 매개변수를 사용하여 노드 선택기를 구성할 수 있습니다. |
| 노드 선택기가 테인트된 노드를 선택하는 경우 이 매개변수를 사용하여 Scanner V4 Indexer에 테인트 허용 오차 키, 값 및 효과를 지정합니다. 이 매개변수는 주로 인프라 노드에 사용됩니다. |
| 이 매개 변수를 사용하여 호스트 및 IP 주소를 Pod의 hosts 파일에 삽입합니다. |
| scanner V4 Indexer의 기본 리소스 제한을 덮어쓰려면 이 매개변수를 사용합니다. |
| scanner V4 Indexer의 기본 리소스 요청을 덮어쓰려면 이 매개변수를 사용합니다. |
| 활성화하면 스캐너 V4 Indexer 복제본 수가 지정된 제한 내에서 부하에 따라 동적으로 관리됩니다. |
| Scanner V4 Indexer 자동 스케일링 구성에서 사용할 최대 복제본을 지정합니다. |
| Scanner V4 Indexer 자동 스케일링 구성에서 사용할 최소 복제본을 지정합니다. |
| scanner V4 Indexer에 대해 자동 스케일링을 비활성화하면 복제본 수는 항상 이 값과 일치하도록 구성됩니다. |
| 이 구성 요소를 특정 노드에서만 실행하려면 이 매개변수를 사용하여 노드 선택기를 구성할 수 있습니다. |
| 노드 선택기가 테인트된 노드를 선택하는 경우 이 매개변수를 사용하여 스캐너 V4 Matcher에 테인트 허용 키, 값 및 효과를 지정합니다. 이 매개변수는 주로 인프라 노드에 사용됩니다. |
| 이 매개 변수를 사용하여 호스트 및 IP 주소를 Pod의 hosts 파일에 삽입합니다. |
| 스캐너 V4 Matcher의 기본 리소스 제한을 덮어쓰려면 이 매개변수를 사용합니다. |
| 이 매개변수를 사용하여 scanner V4 Matcher의 기본 리소스 요청을 덮어씁니다. |
| 활성화하면 스캐너 V4 일치 복제본 수는 지정된 제한 내에서 부하에 따라 동적으로 관리됩니다. |
| scanner V4 Matcher 자동 스케일링 구성에서 사용할 최대 복제본을 지정합니다. |
| scanner V4 Matcher 자동 스케일링 구성에서 사용할 최소 복제본을 지정합니다. |
| scanner V4 Matcher에 대해 자동 스케일링을 비활성화하면 복제본 수는 항상 이 값과 일치하도록 구성됩니다. |
|
scanner V4에 대한 모니터링 끝점을 구성합니다. 모니터링 끝점을 사용하면 다른 서비스에서 Prometheus 호환 형식으로 제공되는 scanner V4에서 지표를 수집할 수 있습니다. |
|
스캐너 V4를 활성화합니다. |
4.2.1.4. 일반 및 기타 설정
매개변수 | 설명 |
---|---|
| 중앙 배포의 사용자 지정 주석을 지정할 수 있습니다. |
| 환경 변수를 구성하는 고급 설정입니다. |
| RHACS를 온라인 또는 오프라인 모드에서 실행해야 하는지 여부를 구성합니다. 오프라인 모드에서는 취약점 정의 및 커널 모듈의 자동 업데이트가 비활성화됩니다. |
|
Central에 대한 SCC( |
|
이 옵션을 |
|
네트워크 수준에서 보안을 제공하기 위해 RHACS는 Central이 설치된 네임스페이스에 기본 주의 기본 네트워크 정책 생성을 비활성화하면 RHACS 구성 요소 간 통신이 중단될 수 있습니다. 기본 정책 생성을 비활성화하는 경우 이 통신을 허용하도록 자체 네트워크 정책을 생성해야 합니다. |
| "작업자가 오버레이가 있는 Operator를 사용하여 설치 사용자 지정"을 참조하십시오. |
| 신뢰할 수 있는 보안 클러스터를 위한 추가 신뢰할 수 있는 CA 인증서입니다. 이러한 인증서는 일반적으로 개인 인증 기관을 사용하여 서비스와 통합할 때 사용됩니다. |
4.2.2. 오버레이와 함께 Operator를 사용하여 설치 사용자 정의
오버레이와 함께 Operator 방법을 사용하여 RHACS 설치를 조정하는 방법을 알아봅니다.
4.2.2.1. 오버레이
Central
또는 SecuredCluster
사용자 정의 리소스가 특정 하위 수준 구성 옵션을 매개변수로 노출하지 않는 경우 조정에 .spec.overlays
필드를 사용할 수 있습니다. 이러한 사용자 정의 리소스에서 생성한 Kubernetes 리소스를 수정하려면 이 필드를 사용합니다.
.spec.overlays
필드는 나열된 순서로 적용된 일련의 패치로 구성됩니다. 이러한 패치는 클러스터에 배포하기 전에 Kubernetes 리소스에서 Operator에서 처리합니다.
Central
및 SecuredCluster
의 .spec.overlays
필드를 사용하면 임의의 방식으로 하위 수준 Kubernetes 리소스를 수정할 수 있습니다. 이 기능은 SecuredCluster
또는 Central
사용자 지정 리소스를 통해 원하는 사용자 지정을 사용할 수 없는 경우에만 사용합니다.
.spec.overlays
기능에 대한 지원은 주로 구현마다 크게 다를 수 있는 Kubernetes 리소스에 대한 복잡하고 구체적인 수정을 수행할 수 있는 기능을 부여하기 때문에 제한됩니다. 이러한 수준의 사용자 지정으로 인해 표준 사용 시나리오를 벗어나는 복잡성이 있어 광범위한 지원을 제공하기가 어렵습니다. 각 수정은 고유할 수 있으며 제품의 다양한 버전 및 구성에서 예기치 않은 방식으로 Kubernetes 시스템과 상호 작용할 수 있습니다. 이러한 변동성은 이러한 사용자 정의의 안정성을 해결하고 보장하려면 각 개인의 설정에 특정한 수준의 전문 지식 및 이해가 필요하다는 것을 의미합니다. 따라서 이 기능을 사용하면 정확한 요구 사항을 충족하도록 Kubernetes 리소스를 조정할 수 있지만 특히 기본 제품을 업그레이드하거나 변경하는 동안 구성의 호환성과 안정성을 보장하는 것으로 간주해야 합니다.
다음 예제에서는 오버레이 구조를 보여줍니다.
overlays: - apiVersion: v1 1 kind: ConfigMap 2 name: my-configmap 3 patches: - path: .data 4 value: | 5 key1: data2 key2: data2
4.2.2.1.1. 오버레이 추가
사용자 정의의 경우 중앙
또는 SecuredCluster
사용자 정의 리소스에 오버레이를 추가할 수 있습니다. 수정을 위해 OpenShift CLI(oc
) 또는 OpenShift Container Platform 웹 콘솔을 사용합니다.
오버레이가 예상대로 적용되지 않는 경우 RHACS Operator 로그에서 구문 오류 또는 기록된 문제를 확인합니다.
4.2.2.2. 오버레이 예
4.2.2.2.1. 중앙 서비스 계정의 EKS Pod 역할 ARN 지정
다음 예와 같이 EKS(Amazon Elastic Kubernetes Service) Pod 역할 ARMN(Amazon Resource Name) 주석을 중앙
ServiceAccount에 추가합니다.
apiVersion: platform.stackrox.io kind: Central metadata: name: central spec: # ... overlays: - apiVersion: v1 kind: ServiceAccount name: central patches: - path: metadata.annotations.eks\.amazonaws\.com/role-arn value: "\"arn:aws:iam:1234:role\""
4.2.2.2.2. 중앙 배포에 환경 변수 삽입
다음 예와 같이 환경 변수를 중앙
배포에 삽입합니다.
apiVersion: platform.stackrox.io kind: Central metadata: name: central spec: # ... overlays: - apiVersion: apps/v1 kind: Deployment name: central patches: - path: spec.template.spec.containers[name:central].env[-1] value: | name: MY_ENV_VAR value: value
4.2.2.2.3. 수신 규칙을 사용하여 네트워크 정책 확장
다음 예와 같이 포트 999 트래픽에 대한 allow-ext-to-central
네트워크 정책에 Ingress 규칙을 추가합니다.
apiVersion: platform.stackrox.io kind: Central metadata: name: central spec: # ... overlays: - apiVersion: networking.k8s.io/v1 kind: NetworkPolicy name: allow-ext-to-central patches: - path: spec.ingress[-1] value: | ports: - port: 999 protocol: TCP
4.2.2.2.4. ConfigMap 데이터 수정
다음 예와 같이 central-endpoints
ConfigMap 데이터를 수정합니다.
apiVersion: platform.stackrox.io kind: Central metadata: name: central spec: # ... overlays: - apiVersion: v1 kind: ConfigMap name: central-endpoints patches: - path: data value: | endpoints.yaml: | disableDefault: false
4.2.2.2.5. 중앙
배포에 컨테이너 추가
다음 예와 같이 중앙
배포에 새 컨테이너를 추가합니다.
apiVersion: platform.stackrox.io kind: Central metadata: name: central spec: # ... overlays: - apiVersion: apps/v1 kind: Deployment name: central patches: - path: spec.template.spec.containers[-1] value: | name: nginx image: nginx ports: - containerPort: 8000 name: http protocol: TCP