2.3. hub 클러스터 정책 프레임워크
정책을 생성 및 관리하고, 표준을 충족하기 위한 구성 가시성 및 수정을 얻으려면 Kubernetes 거버넌스 보안 정책 프레임워크에 Red Hat Advanced Cluster Management를 사용하십시오. Red Hat Advanced Cluster Management for Kubernetes 거버넌스는 기업이 자체 보안 정책을 도입할 수 있는 확장 가능한 정책 프레임워크를 제공합니다.
관리 클러스터 네임스페이스를 제외한 허브 클러스터의 모든 네임스페이스에 Policy 리소스를 생성할 수 있습니다. 관리형 클러스터 네임스페이스에 정책을 생성하면 Red Hat Advanced Cluster Management에서 삭제됩니다. 각 Red Hat Advanced Cluster Management 정책은 하나 이상의 정책 템플릿 정의로 구성할 수 있습니다. 정책 요소에 대한 자세한 내용은 이 페이지의 Policy YAML 테이블 섹션을 참조하십시오.
2.3.1. 요구 사항 링크 복사링크가 클립보드에 복사되었습니다!
각 정책에는 정책 문서가 적용되는 클러스터를 정의하는
배치리소스와 Kubernetes 정책에 대한 Red Hat Advanced Cluster Management를 바인딩하는PlacementBinding리소스가 필요합니다.정책 리소스는 관련
배치정의를 기반으로 클러스터에 적용되며 특정 기준과 일치하는 관리 클러스터 목록을 볼 수 있습니다.environment=dev레이블이 있는 모든 클러스터와 일치하는 샘플배치리소스는 다음 YAML과 유사합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 배치 및 지원되는 기준에 대한 자세한 내용은 클러스터 라이프사이클 설명서의 배치 개요 를 참조하십시오.
배치 리소스 외에도
배치리소스를 정책에 바인딩할을 생성해야 합니다.PlacementBindingenvironment=dev레이블이 있는 모든 클러스터와 일치하는 샘플배치리소스는 다음 YAML과 유사합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
배치리소스를 사용하려면ManagedClusterSet리소스를 ManagedClusterSet 리소스와 함께배치리소스의 네임스페이스에바인딩해야 합니다. 자세한 내용은 Creating a ManagedClusterSetBinding 리소스 를 참조하십시오. -
콘솔에서 정책에 대한
배치리소스를 생성하면 배치 허용 오차의 상태가 배치 리소스에 자동으로 추가됩니다.자세한 내용은 배치에 허용 오차 추가를 참조하십시오.
모범 사례: CLI(명령줄 인터페이스)를 사용하여 배치 리소스를 사용할 때 정책을 업데이트합니다.
2.3.2. hub 클러스터 정책 구성 요소 링크 복사링크가 클립보드에 복사되었습니다!
정책 구성 요소에 대한 자세한 내용은 다음 섹션에서 확인하십시오.
2.3.2.1. 정책 YAML 구조 링크 복사링크가 클립보드에 복사되었습니다!
정책을 생성할 때 필수 매개변수 필드 및 값을 포함해야 합니다. 정책 컨트롤러에 따라 다른 선택적 필드 및 값을 포함해야 할 수 있습니다. 정책에 대해 다음 YAML 구조를 확인합니다.
2.3.2.2. 정책 YAML 테이블 링크 복사링크가 클립보드에 복사되었습니다!
정책 매개변수 설명에 대해 다음 표를 확인하십시오.
| 필드 | 선택 사항 또는 필수 | 설명 |
|---|---|---|
|
| 필수 항목 |
값을 |
|
| 필수 항목 |
정책 유형을 나타내려면 값을 |
|
| 필수 항목 | 정책 리소스를 식별하는 이름입니다. |
|
| 선택 사항 | 정책의 유효성을 검사하려는 표준 집합을 설명하는 보안 세부 정보 집합을 지정하는 데 사용됩니다. 여기에 설명된 모든 주석은 쉼표로 구분된 목록이 포함된 문자열로 표시됩니다. 참고: 정책 페이지에서 정책에 대해 정의한 표준 및 카테고리에 따라 정책 위반을 볼 수 있습니다. |
|
| 선택 사항 |
이 매개변수를 |
|
| 선택 사항 |
바인딩된 정책의 하위 집합을 선택하려면 이 매개변수를 |
|
| 선택 사항 | 정책과 관련된 보안 표준의 이름 또는 이름입니다. 예를 들어 NIST(National Institute of Standards and Technology) 및 PCI(Payment Card Industry)가 있습니다. |
|
| 선택 사항 | 보안 제어 범주는 하나 이상의 표준에 대한 특정 요구 사항을 나타냅니다. 예를 들어 시스템 및 정보 무결성 카테고리는 HIPAA 및 PCI 표준에서 요구하는 대로 귀하의 정책에 개인정보를 보호하기 위한 데이터 전송 프로토콜이 포함되어 있음을 나타낼 수 있습니다. |
|
| 선택 사항 | 확인 중인 보안 컨트롤의 이름입니다. 예를 들어, 액세스 제어 또는 시스템 및 정보 무결성. |
|
| 필수 항목 |
값을 |
|
| 선택 사항 |
정책 수정을 지정합니다. 매개변수 값은 |
|
| 선택 사항 |
정책을 관리 클러스터에 복제할 때 정책의 라벨 및 주석을 복사해야 하는지 여부를 지정합니다. |
|
| 선택 사항 | 규정 준수에 대한 추가 고려 사항에 따라 자세히 설명된 종속성 오브젝트 목록을 만드는 데 사용됩니다. |
|
| 필수 항목 | 관리 클러스터에 적용할 하나 이상의 정책을 생성하는 데 사용됩니다. |
|
| 선택 사항 | 정책 템플릿의 경우 이는 규정 준수에 대한 추가 고려 사항에 자세히 설명된 종속성 오브젝트 목록을 생성하는 데 사용됩니다. |
|
| 선택 사항 | 종속성 기준을 확인할 때까지 정책 템플릿을 준수하는 것으로 표시하는 데 사용됩니다. 중요: 일부 정책 종류는 적용 기능을 지원하지 않을 수 있습니다. |
2.3.2.3. 정책 샘플 파일 링크 복사링크가 클립보드에 복사되었습니다!
역할에 대한 구성 정책인 다음 YAML 파일을 확인합니다.
2.3.3. 추가 리소스 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat Advanced Cluster Management 거버넌스 프레임워크의 관련 주제를 계속 읽으십시오.
2.3.4. 정책 종속 항목 링크 복사링크가 클립보드에 복사되었습니다!
종속성은 클러스터의 다른 정책이 특정 상태에 있는 경우에만 정책을 활성화하는 데 사용할 수 있습니다. 종속성 기준이 충족되지 않으면 정책에 Pending 로 레이블이 지정되고 관리 클러스터에서 리소스가 생성되지 않습니다. 정책 상태의 기준 상태에 대한 자세한 내용이 있습니다.
정책 종속성을 사용하여 오브젝트 적용 방법을 제어할 수 있습니다. 예를 들어 운영자에 대한 정책과 운영자가 관리하는 리소스에 대한 다른 정책이 있는 경우 두 번째 정책에 대한 종속성을 설정하여 Operator가 설치될 때까지 리소스를 생성하지 않도록 할 수 있습니다. 이는 관리 클러스터의 성능에 도움이 될 수 있습니다.
필수 액세스: 정책 관리자
중요:
- 다른 클러스터의 정책 상태에 따라 종속성을 사용하여 한 클러스터에 정책을 적용할 수 없습니다.
-
마침표를 사용하여 정책 종속성을 생성하는 경우 이름에서 네임스페이스를 종속성 섹션의 이름 시작 부분에 추가하고 마침표를 따라야 합니다
.예를 들어 이름이 지정된기본네임스페이스의 정책인my-4.16-policy는default.my-4.16-policy.
upstream-compliance-operator 정책이 관리 클러스터에서 이미 호환되는 경우에만 ScanSettingBinding 이 생성되는 다음 정책 종속성 예제를 확인합니다.
- 1
dependencies필드는Policy오브젝트에 설정되며 요구 사항은 정책의 모든 정책 템플릿에 적용됩니다.- 2
- 개별 정책 템플릿에
extraDependencies필드를 설정할 수 있습니다. 예를 들어 이 매개변수는 구성 정책에 대해 설정할 수 있으며 정책에 설정된종속성외에도 충족해야 하는 기준을 정의합니다. - 3
ignorePending필드는 각 개별 정책 템플릿에 설정할 수 있으며 전체 정책 규정 준수를 계산할 때 해당 템플릿의Pending상태가Compliant또는NonCompliant로 간주되는지 여부를 구성합니다. 기본적으로 이 값은false로 설정되고Pending템플릿에서 정책을NonCompliant로 설정합니다. 이 템플릿을true로 설정하면 이 템플릿이Pending이므로 템플릿의 예상 상태가 될 때 유용합니다.
2.3.5. 정책 생성기 통합 링크 복사링크가 클립보드에 복사되었습니다!
Policy Generator를 통합하여 Kubernetes 정책에 대한 Red Hat Advanced Cluster Management를 자동으로 빌드할 수 있습니다. 정책 생성기를 통합하려면 정책 생성기를 참조하십시오. ???
정책 생성기로 수행할 수 있는 작업의 예는 Compliance Operator를 설치하는 정책 생성을 참조하십시오.
2.3.6. 정책 생성기 링크 복사링크가 클립보드에 복사되었습니다!
Policy Generator는 Red Hat Advanced Cluster Management for Kubernetes 애플리케이션 라이프사이클 서브스크립션의 일부입니다. Red Hat OpenShift GitOps 워크플로는 Kustomize를 사용하여 Red Hat Advanced Cluster Management 정책을 생성합니다. Policy Generator는 Kubernetes 매니페스트 YAML 파일에서 Red Hat 고급 클러스터 관리 정책을 빌드합니다. 이 정책은 이를 구성하는 데 사용되는 PolicyGenerator 매니페스트 YAML 파일을 통해 제공됩니다. 정책 생성기는 Kustomize 생성기 플러그인으로 구현됩니다. Kustomize에 대한 자세한 내용은 Kustomize 문서를 참조하십시오.
정책 생성기에 대한 자세한 내용은 다음 섹션을 참조하십시오.
2.3.6.1. 정책 생성기 기능 링크 복사링크가 클립보드에 복사되었습니다!
Policy Generator와 Red Hat Advanced Cluster Management 애플리케이션 라이프사이클 서브스크립션 OpenShift GitOps 워크플로를 통합하면 Red Hat Advanced Cluster Management 정책을 통해 Kubernetes 리소스 오브젝트를 관리형 OpenShift Container Platform 클러스터에 배포할 수 있습니다.
정책 생성기를 사용하여 다음 작업을 완료합니다.
- Kustomize 디렉터리에서 생성된 매니페스트를 포함하여 Kubernetes 매니페스트 파일을 Red Hat Advanced Cluster Management 구성 정책으로 변환합니다.
- 생성된 Red Hat Advanced Cluster Management 정책에 삽입하기 전에 입력 Kubernetes 매니페스트를 패치합니다.
- Red Hat Advanced Cluster Management for Kubernetes를 통해 Gatekeeper 정책 위반에 대해 보고할 수 있도록 추가 구성 정책을 생성합니다.
- 허브 클러스터에서 정책 세트를 생성합니다.
2.3.6.2. 정책 생성기 구성 구조 링크 복사링크가 클립보드에 복사되었습니다!
정책 생성기는 PolicyGenerator 종류 및 policy.open-cluster-management.io/v1 API 버전의 매니페스트로 구성된 Kustomize 생성기 플러그인입니다. 구성 구조에 대해 알아보려면 계속 읽습니다.
플러그인을 사용하려면
kustomization.yaml파일에generators섹션을 추가합니다. 다음 예제를 확인합니다.generators: - policy-generator-config.yaml
generators: - policy-generator-config.yaml1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 이전 예에서 참조되는
policy-generator-config.yaml파일은 생성할 정책의 지침이 있는 YAML 파일입니다.
간단한
PolicyGenerator구성 파일은policyDefaults및policies와 다음 예와 유사할 수 있습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
configmap.yaml파일은 정책에 포함할 Kubernetes 매니페스트 YAML 파일을 나타냅니다. 또는 경로를 Kustomize 디렉터리 또는 여러 Kubernetes 매니페스트 YAML 파일이 있는 디렉터리를 설정할 수 있습니다. 다음ConfigMap예제를 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow object-templates-raw매니페스트를 사용하여 추가한 콘텐츠로ConfigurationPolicy리소스를 자동으로 생성할 수 있습니다. 예를 들어 다음 구문을 사용하여 매니페스트 파일을 생성할 수 있습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 매니페스트 파일을 생성한 후
PolicyGenerator구성 파일을 생성할 수 있습니다. 다음 YAML 예제 및경로에서는manifest.yaml파일의 경로를 입력합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 생성된
정책리소스 및 생성된 배치 리소스 및리소스는 다음 예와 유사할 수 있습니다. 참고: 리소스에 대한 사양은 Policy Generator 구성 참조 테이블에 설명되어 있습니다.PlacementBindingCopy to Clipboard Copied! Toggle word wrap Toggle overflow
2.3.6.3. 정책 생성기 구성 참조 테이블 링크 복사링크가 클립보드에 복사되었습니다!
네임스페이스 를 제외한 policyDefaults 섹션의 모든 필드는 각 정책에 대해 재정의할 수 있으며 policySetDefaults 섹션의 모든 필드를 각 정책 세트에 대해 재정의할 수 있습니다.
| 필드 | 선택 사항 또는 필수 | 설명 |
|---|---|---|
|
| 필수 항목 |
값을 |
|
| 필수 항목 |
값을 |
|
| 필수 항목 | 정책 리소스를 식별하는 이름입니다. |
|
| 선택 사항 |
여러 정책에서 동일한 배치를 사용하는 경우 이 이름은 결과 placement |
|
| 필수 항목 |
여기에 나열된 기본값은 |
|
| 필수 항목 | 모든 정책의 네임스페이스입니다. |
|
| 선택 사항 |
매니페스트를 클러스터의 오브젝트와 비교할 때 정책 컨트롤러 동작을 결정합니다. 사용할 수 있는 값은 |
|
| 선택 사항 |
매니페스트 메타데이터 섹션을 클러스터의 오브젝트와 비교할 때 |
|
| 선택 사항 |
|
|
| 선택 사항 |
|
|
| 선택 사항 |
|
|
| 선택 사항 |
정책이 |
|
| 선택 사항 |
생성된 구성 정책에 설정할 주석의 키-값 쌍입니다. 예를 들어 |
|
| 선택 사항 |
모든 정책에 대한 레이블 및 주석을 복사하여 복제본 정책에 추가합니다. 기본적으로 |
|
| 선택 사항 | 현재 규정 준수에 따라 지정된 Go 템플릿 중 하나를 사용하도록 구성 정책에서 내보내는 규정 준수 메시지를 구성합니다. |
|
| 선택 사항 |
정책 위반의 심각도입니다. 기본값은 |
|
| 선택 사항 |
정책이 비활성화되었는지 여부, 즉 전파되지 않고 결과적으로 상태가 없습니다. 정책을 활성화하는 기본값은 |
|
| 선택 사항 |
정책의 수정 메커니즘입니다. 매개변수 값은 |
|
| 네임스페이스가 지정되지 않은 네임스페이스된 오브젝트에 필요합니다. |
관리 클러스터에서 오브젝트가 적용되는 네임스페이스를 결정합니다. |
|
| 선택 사항 |
오브젝트 |
|
| 선택 사항 |
특정 규정 준수 상태에 있을 때 평가할 정책의 빈도를 지정합니다. 매개변수
관리 클러스터에 리소스가 부족하면 Kubernetes API 및 정책 컨트롤러에서 CPU 및 메모리 사용량을 줄이기 위해 평가 간격을 긴 폴링 간격으로 설정할 수 있습니다. 이는 기간 단위의 형식입니다. 예를 들어 |
|
| 선택 사항 |
규정 준수 정책의 평가 빈도를 지정합니다. 이전 폴링 동작을 활성화하려면 이 매개변수를 |
|
| 선택 사항 |
준수하지 않는 정책의 평가 빈도를 지정합니다. 이전 폴링 동작을 활성화하려면 이 매개변수를 |
|
| 선택 사항 |
정책을 삭제할 때 정책에 의해 생성되거나 모니터링되는 오브젝트를 삭제해야 하는지 여부를 결정합니다. 정책의 수정 작업이 |
|
| 선택 사항 |
업데이트가 필요할 때 오브젝트를 삭제하고 다시 생성할지 여부를 설명합니다.
recreate |
|
| 선택 사항 |
정책에서 클러스터의 오브젝트와 |
|
| 선택 사항 |
이 정책을 적용하기 전에 특정 규정 준수 상태에 있어야 하는 오브젝트 목록입니다. |
|
| 필수 항목 | 종속되는 오브젝트의 이름입니다. |
|
| 선택 사항 | 종속되는 오브젝트의 네임스페이스입니다. 기본값은 정책 생성기에 설정된 정책의 네임스페이스입니다. |
|
| 선택 사항 |
오브젝트가 있어야 하는 규정 준수 상태입니다. 기본값은 |
|
| 선택 사항 |
오브젝트의 종류입니다. 기본적으로 kind는 |
|
| 선택 사항 |
오브젝트의 API 버전입니다. 기본값은 |
|
| 선택 사항 | 생성할 정책에 대한 설명입니다. |
|
| 선택 사항 |
이 정책을 적용하기 전에 특정 규정 준수 상태에 있어야 하는 오브젝트 목록입니다. 정의한 종속 항목은 종속 항목 목록과 별도로 각 정책 템플릿(예: |
|
| 필수 항목 | 종속되는 오브젝트의 이름입니다. |
|
| 선택 사항 | 종속되는 오브젝트의 네임스페이스입니다. 기본적으로 값은 정책 생성기에 설정된 정책의 네임스페이스로 설정됩니다. |
|
| 선택 사항 |
오브젝트가 있어야 하는 규정 준수 상태입니다. 기본값은 |
|
| 선택 사항 |
오브젝트의 종류입니다. 기본값은 |
|
| 선택 사항 |
오브젝트의 API 버전입니다. 기본값은 |
|
| 선택 사항 |
정책 생성기가 원하는 상태에 도달하기 위해 종속성을 기다리는 경우 규정 준수 상태 검사를 바이패스합니다. 기본값은 |
|
| 선택 사항 |
정책 목록에 정의된 순서대로 적용되도록 정책에 대한 |
|
| 선택 사항 |
정책 |
|
| 선택 사항 |
이는 정책에서 래핑되는 모든 매니페스트에 대해 단일 구성 정책이 생성되었는지 여부를 결정합니다. |
|
| 선택 사항 |
구성 정책에서 GatekeeperPolicies를 직접 정의하지 않고 Gatekeeper 매니페스트를 직접 사용하려면 |
|
| 선택 사항 |
정책이 Kyverno 정책 매니페스트를 참조하는 경우 Kyverno 정책이 위반될 때 Red Hat Advanced Cluster Management에서 정책 위반을 수신하기 위해 추가 구성 정책이 생성되었는지 여부를 결정합니다. 기본값은 |
|
| 선택 사항 |
정책에 |
|
| 선택 사항 |
Gatekeeper 제약 조건의 |
|
| 선택 사항 |
정책이 결합되는 정책의 배열입니다. 정책 세트 세부 정보는 |
|
| 선택 사항 |
정책에 대한 배치 매니페스트를 생성합니다. 기본적으로 |
|
| 선택 사항 |
정책이 정책 세트의 일부인 경우 기본적으로 생성기는 정책 세트에 대한 배치가 생성되므로 이 정책에 대한 배치를 생성하지 않습니다. 정책 배치 및 정책 |
|
| 선택 사항 | 정책에 대한 배치 구성입니다. 기본값은 모든 클러스터와 일치하는 배치 구성입니다. |
|
| 선택 사항 | 동일한 클러스터 라벨 선택기가 포함된 배치를 통합할 이름을 지정합니다. |
|
| 선택 사항 |
|
|
| 선택 사항 |
클러스터에 이미 존재하는 배치를 사용하도록 이 매개 변수를 정의합니다. |
|
| 선택 사항 |
기존 배치를 재사용하려면 |
|
| 선택 사항 |
|
|
| 선택 사항 |
|
|
| 선택 사항 |
|
|
| 선택 사항 |
정책 세트의 기본값입니다. 이 매개변수에 나열된 기본값은 |
|
| 선택 사항 |
정책에 대한 배치 구성입니다. 기본값은 모든 클러스터와 일치하는 배치 구성입니다. 이 필드에 대한 설명은 |
|
| 선택 사항 |
정책 세트에 대한 배치 매니페스트를 생성합니다. 기본적으로 |
|
| 필수 항목 |
생성할 정책 목록은 기본값 또는 |
|
| 선택 사항 | 생성할 정책에 대한 설명입니다. |
|
| 필수 항목 | 생성할 정책의 이름입니다. |
|
| 필수 항목 |
정책에 포함할 Kubernetes 오브젝트 매니페스트 목록, 기본값, 이 |
|
| 필수 항목 |
단일 파일의 경로, 파일의 플랫 디렉터리 또는 지원되는 매니페스트는 다음과 같습니다.
|
|
| 선택 사항 |
|
|
| 선택 사항 |
경로의 매니페스트에 적용할 Kustomize 패치 목록입니다. 매니페스트가 여러 개인 경우 패치에는 |
|
| 선택 사항 |
|
|
| 선택 사항 |
정책에 |
|
| 선택 사항 |
생성할 정책 세트 목록과 기본값 또는 |
|
| 필수 항목 | 생성할 정책의 이름입니다. |
|
| 선택 사항 | 생성할 정책의 설명입니다. |
|
| 선택 사항 |
정책 세트에 포함할 정책 목록입니다. |
2.3.6.4. 추가 리소스 링크 복사링크가 클립보드에 복사되었습니다!
- GitOps Operator를 설치하기 위한 정책 생성을 읽습니다.
- 자세한 내용은 정책 설정 컨트롤러 를 참조하십시오.
- 자세한 내용은 Kustomize 적용을 참조하십시오.
- 자세한 내용은 Governance 설명서를 참조하십시오.
-
kustomization.yaml파일의 예를 참조하십시오. - Kubernetes 라벨 및 선택기 설명서를 참조하십시오.
- 자세한 내용은 Gatekeeper 를 참조하십시오.
- Kustomize 설명서를 참조하십시오.
2.3.7. Compliance Operator를 설치하는 정책 생성 링크 복사링크가 클립보드에 복사되었습니다!
클러스터에 Compliance Operator를 설치하는 정책을 생성합니다. Compliance Operator와 같이 네임스페이스 가 지정된 설치 모드를 사용하는 Operator의 경우 OperatorGroup 매니페스트도 필요합니다.
다음 단계를 완료합니다.
네임스페이스,서브스크립션및compliance-operator.yaml이라는OperatorGroup매니페스트를 사용하여 YAML 파일을 생성합니다. 다음 예제에서는 이러한 매니페스트를compliance-operator네임스페이스에 설치합니다. <release-0.x>를 올바른 채널로 바꿉니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow PolicyGenerator구성 파일을 생성합니다. 모든 OpenShift Container Platform 관리 클러스터에 Compliance Operator를 설치하는 다음PolicyGenerator정책 예를 확인합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow kustomization.yaml파일에 정책 생성기를 추가합니다.generators섹션은 다음 구성과 유사할 수 있습니다.generators: - policy-generator-config.yaml
generators: - policy-generator-config.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 결과적으로 생성된 정책은 다음 파일과 유사합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.3.8. 거버넌스 정책 프레임워크 아키텍처 링크 복사링크가 클립보드에 복사되었습니다!
Kubernetes 거버넌스 라이프사이클에 대한 Red Hat Advanced Cluster Management를 사용하여 클러스터의 보안을 강화합니다. 제품 거버넌스 라이프사이클은 지원되는 정책, 프로세스 및 절차를 사용하여 중앙 인터페이스 페이지에서 보안 및 규정 준수를 관리합니다. 거버넌스 아키텍처의 다음 다이어그램을 확인하십시오.
거버넌스 아키텍처 다이어그램에 대한 다음 구성 요소 설명을 확인합니다.
거버넌스 정책 프레임워크: 이전 이미지는 관리 클러스터에서
governance-policy-frameworkPod로 실행되고 다음 컨트롤러가 포함된 프레임워크를 나타냅니다.- spec 동기화 컨트롤러: 허브 클러스터의 관리 클러스터 네임스페이스에서 복제된 정책을 관리 클러스터의 관리형 클러스터 네임스페이스로 동기화합니다.
- 상태 동기화 컨트롤러: 허브 및 관리 클러스터에서 복제된 정책의 정책 컨트롤러에서 규정 준수 이벤트를 기록합니다. 상태에는 현재 정책과 관련된 업데이트만 포함되어 있으며 정책이 삭제되고 다시 생성되는 경우 이전 상태를 고려하지 않습니다.
-
템플릿 동기화 컨트롤러: 복제된 정책
spec.policy-templates항목의 정의를 기반으로 관리형 클러스터의 관리형 클러스터 네임스페이스에서 오브젝트를 생성, 업데이트, 삭제합니다. - Gatekeeper 동기화 컨트롤러: 해당 Red Hat Advanced Cluster Management 정책의 규정 준수 이벤트로 Gatekeeper 제약 조건 감사 결과를 기록합니다.
- 정책 전파 컨트롤러: Red Hat Advanced Cluster Management Hub 클러스터에서 실행되며 루트 정책에 바인딩된 배치를 기반으로 허브의 관리 클러스터 네임스페이스에 복제 정책을 생성합니다. 또한 복제된 정책의 규정 준수 상태를 루트 정책 상태로 집계하고 루트 정책에 바인딩된 정책 자동화를 기반으로 자동화를 시작합니다.
- 거버넌스 정책 애드온 컨트롤러: Red Hat Advanced Cluster Management Hub 클러스터에서 실행되며 관리 클러스터에 정책 컨트롤러 설치를 관리합니다.
2.3.8.1. 거버넌스 아키텍처 구성 요소 링크 복사링크가 클립보드에 복사되었습니다!
거버넌스 아키텍처에는 다음 구성 요소도 포함됩니다.
거버넌스 대시보드: 클라우드 거버넌스 및 위험 세부 정보에 대한 요약을 제공합니다. 여기에는 정책 및 클러스터 위반이 포함됩니다. Kubernetes 정책 프레임워크용 Red Hat Advanced Cluster Management의 구조와 Kubernetes 거버넌스용 Red Hat Advanced Cluster Management 대시보드 사용 방법에 대해서는 Manage Governance dashboard 섹션을 참조하십시오.
참고:
-
정책이 관리 클러스터로 전파되면 먼저 hub 클러스터의 클러스터 네임스페이스에 복제되며
namespaceName.policyName을 사용하여 이름이 지정되고 레이블이 지정됩니다. 정책을 생성할 때 레이블 값에 대한 Kubernetes 길이 제한으로 인해namespaceName.policyName의 길이가 63자를 초과하지 않는지 확인합니다. -
hub 클러스터에서 정책을 검색할 때 관리 클러스터 네임스페이스에서 복제된 정책의 이름을 수신할 수도 있습니다. 예를 들어
기본네임스페이스에서policy-dhaz-cert를 검색하는 경우 hub 클러스터의 다음 정책 이름도 관리 클러스터 네임스페이스default.policy-dhaz-cert에 표시될 수 있습니다.
-
정책이 관리 클러스터로 전파되면 먼저 hub 클러스터의 클러스터 네임스페이스에 복제되며
- 정책 기반 거버넌스 프레임워크: 지리적 리전과 같은 클러스터와 관련된 속성을 기반으로 다양한 관리형 클러스터에 정책 생성 및 배포를 지원합니다. 오픈 소스 커뮤니티에서 클러스터에 정책을 배포하는 방법에 대한 사전 정의된 정책의 예가 있습니다. 또한 정책을 위반하는 경우 사용자가 선택한 작업을 실행하고 수행하도록 자동화를 구성할 수 있습니다.
-
오픈 소스 커뮤니티: Red Hat Advanced Cluster Management 정책 프레임워크를 기반으로 커뮤니티 기여를 지원합니다. 정책 컨트롤러 및 타사 정책은
open-cluster-management-io프로젝트의 일부이기도 합니다. GitOps를 사용하여 정책을 기여하고 배포할 수 있습니다.
2.3.8.2. 추가 리소스 링크 복사링크가 클립보드에 복사되었습니다!
- 정책 컨트롤러 소개를 참조하십시오.
- GitOps를 사용하여 정책 배포를 참조하십시오.
2.3.9. 거버넌스 대시보드 링크 복사링크가 클립보드에 복사되었습니다!
Governance 대시보드를 사용하여 리소스를 생성, 보기 및 편집하여 보안 정책 및 정책 위반을 관리합니다. 명령줄 및 콘솔에서 정책에 대한 YAML 파일을 생성할 수 있습니다. 콘솔에서 Governance 대시보드에 대한 자세한 내용은 계속 읽습니다.
2.3.9.1. 거버넌스 페이지 링크 복사링크가 클립보드에 복사되었습니다!
다음 탭은 Governance 페이지 개요,정책 세트 및 정책에 표시됩니다. 다음 설명을 읽고 표시되는 정보를 확인합니다.
개요
개요 탭에서 다음 요약 카드가 표시됩니다. 정책 세트 위반,정책 위반 ,클러스터, 범주 ,제어 및 표준.
정책 세트
허브 클러스터 정책 세트를 생성하고 관리합니다.
Policies
- 보안 정책을 생성 및 관리합니다. 정책 테이블에는 다음과 같은 정책 세부 정보가 나열됩니다. 이름 , 네임스페이스 및 클러스터 위반이 표시됩니다.
- 작업 아이콘을 선택하여 정책을 편집, 활성화 또는 비활성화, 알리거나 적용하도록 수정을 설정할 수 있습니다. 드롭다운 화살표를 선택하여 특정 정책의 카테고리 및 표준을 보고 행을 확장할 수 있습니다.
- 열 관리 대화 상자에서 테이블 열을 다시 정렬합니다. 표시할 대화 상자의 열 관리 아이콘을 선택합니다. 열 순서를 다시 정렬하려면 순서 아이콘을 선택하고 열 이름을 이동합니다.To reorder your columns, select the Reorder icon and move the column name. 테이블에 표시할 열의 경우 특정 열 이름에 대한 확인란을 클릭하고 저장 버튼을 선택합니다.
여러 정책을 선택하고 작업 버튼을 클릭하여 대량 작업을 완료합니다. 필터 버튼을 클릭하여 정책 테이블을 사용자 지정할 수도 있습니다.
테이블 목록에서 정책을 선택하면 다음 정보 탭이 콘솔에 표시됩니다.
- Details: 정책 세부 정보 및 배치 세부 정보를 보려면 세부 정보 탭을 선택합니다. 배치 테이블에서 규정 준수 열에는 표시되는 클러스터의 규정 준수를 볼 수 있는 링크가 있습니다.
- 결과: 정책과 연결된 모든 클러스터의 테이블 목록을 보려면 결과 탭을 선택합니다.
- Message 열에서 View details 링크를 클릭하여 템플릿 세부 정보, 템플릿 YAML 및 관련 리소스를 확인합니다. 관련 리소스도 볼 수 있습니다. 보기 기록 링크를 클릭하여 위반 메시지와 마지막 보고서의 시간을 확인합니다.
2.3.9.2. 거버넌스 자동화 구성 링크 복사링크가 클립보드에 복사되었습니다!
특정 정책에 맞게 구성된 자동화가 있는 경우 자동화를 선택하여 세부 정보를 볼 수 있습니다. 자동화를 위한 스케줄 빈도 옵션에 대한 다음 설명을 확인합니다.
-
수동 실행: 수동으로 이 자동화를 한 번 실행하도록 설정합니다. 자동화가 실행된 후
disabled로 설정됩니다. 참고: 일정 빈도가 비활성화된 경우에만 수동 실행 모드를 선택할 수 있습니다. -
Run once mode: 정책을 위반하면 자동화가 한 번 실행됩니다. 자동화가 실행된 후
disabled로 설정됩니다. 자동화가disabled로 설정된 후에는 자동화를 수동으로 계속 실행해야 합니다. 한 번 모드를 실행하면target_clusters의 추가 변수가 정책을 위반하는 클러스터 목록과 자동으로 제공됩니다. Ansible Automation Platform 작업 템플릿에는EXTRA VARIABLES섹션(extra_vars라고도 함)에 대해 PROMPT ONCryostat가 활성화되어 있어야 합니다. -
모든Event 모드 실행: 정책이 위반되면 관리 클러스터당 각 고유한 정책 위반에 대해 자동화가 실행될 때마다 실행됩니다. 동일한 클러스터에서 자동화를 다시 시작하기 전에
DelayAfterRunSeconds매개변수를 사용하여 최소 초를 설정합니다. 정책이 지연 기간 동안 여러 번 위반되고 위반된 상태로 유지되는 경우 자동화는 지연 기간 후에 한 번 실행됩니다. 기본값은 0초이며everyEvent모드에만 적용됩니다.everyEvent모드를 실행하면target_clusters및 Ansible Automation Platform 작업 템플릿의 추가 변수는 한 모드와 동일합니다. -
자동화 비활성화: 예약된 자동화가
disabled로 설정된 경우 설정이 업데이트될 때까지 자동화가 실행되지 않습니다.
다음 변수는 Ansible Automation Platform 작업의 extra_vars 에 자동으로 제공됩니다.
-
policy_name: hub 클러스터에서 Ansible Automation Platform 작업을 시작하는 비호환 루트 정책의 이름입니다. -
policy_namespace: 루트 정책의 네임스페이스입니다. -
hub_cluster: 클러스터DNS오브젝트의 값에 따라 결정되는 허브클러스터의 이름입니다. -
policy_sets: 이 매개변수에는 루트 정책의 모든 관련 정책 세트 이름이 포함됩니다. 정책이 정책 세트에 없는 경우policy_set매개변수가 비어 있습니다. -
policy_violations: 이 매개변수에는 호환되지 않는 클러스터 이름 목록이 포함되어 있으며 값은 호환되지 않는 각 클러스터의 정책상태필드입니다.
2.3.9.3. 추가 리소스 링크 복사링크가 클립보드에 복사되었습니다!
보안 정책 생성 및 업데이트에 대한 자세한 내용은 다음 주제를 검토하십시오.
2.3.10. 구성 정책 생성 링크 복사링크가 클립보드에 복사되었습니다!
CLI(명령줄 인터페이스) 또는 콘솔에서 구성 정책에 대한 YAML 파일을 생성할 수 있습니다. 콘솔에서 구성 정책을 생성하면 YAML 편집기에 YAML 파일이 표시됩니다.
2.3.10.1. 사전 요구 사항 링크 복사링크가 클립보드에 복사되었습니다!
- 필수 액세스: 관리자 또는 클러스터 관리자
- 기존 Kubernetes 매니페스트가 있는 경우 정책 생성기를 사용하여 정책에 매니페스트를 자동으로 포함하는 것이 좋습니다. Policy Generator 설명서를 참조하십시오.
2.3.10.2. CLI에서 구성 정책 생성 링크 복사링크가 클립보드에 복사되었습니다!
(CLI)에서 구성 정책을 생성하려면 다음 단계를 완료합니다.
구성 정책에 대한 YAML 파일을 생성합니다. 다음 명령을 실행합니다.
oc create -f configpolicy-1.yaml
oc create -f configpolicy-1.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 구성 정책은 다음 정책과 유사할 수 있습니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 정책을 적용합니다.
oc apply -f <policy-file-name> --namespace=<namespace>
oc apply -f <policy-file-name> --namespace=<namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 정책을 확인하고 나열합니다.
oc get policies.policy.open-cluster-management.io --namespace=<namespace>
oc get policies.policy.open-cluster-management.io --namespace=<namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
구성 정책이 생성됩니다.
2.3.10.2.1. CLI에서 구성 정책 보기 링크 복사링크가 클립보드에 복사되었습니다!
CLI에서 구성 정책을 보려면 다음 단계를 완료합니다.
다음 명령을 실행하여 특정 구성 정책의 세부 정보를 확인합니다.
oc get policies.policy.open-cluster-management.io <policy-name> -n <namespace> -o yaml
oc get policies.policy.open-cluster-management.io <policy-name> -n <namespace> -o yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 구성 정책에 대한 설명을 확인합니다.
oc describe policies.policy.open-cluster-management.io <name> -n <namespace>
oc describe policies.policy.open-cluster-management.io <name> -n <namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.3.10.2.2. 콘솔에서 구성 정책 보기 링크 복사링크가 클립보드에 복사되었습니다!
콘솔에서 구성 정책 및 해당 상태를 확인합니다.
콘솔에서 클러스터에 로그인한 후 Governance 를 선택하여 정책의 테이블 목록을 확인합니다. 참고: 모든 정책 탭 또는 클러스터 위반 탭을 선택하여 정책의 테이블 목록을 필터링할 수 있습니다.
자세한 내용을 보려면 정책 중 하나를 선택합니다. 세부 정보 , 클러스터 및 템플릿 탭이 표시됩니다.
2.3.10.3. 구성 정책 비활성화 링크 복사링크가 클립보드에 복사되었습니다!
구성 정책을 비활성화하려면 정책의 작업 메뉴에서 정책 비활성화 를 선택합니다. 정책은 비활성화되어 있지만 삭제되지는 않습니다.
2.3.10.4. 구성 정책 삭제 링크 복사링크가 클립보드에 복사되었습니다!
CLI 또는 콘솔에서 구성 정책을 삭제합니다. 다음 단계를 완료합니다.
대상 클러스터 또는 클러스터에서 정책을 삭제하려면 다음 명령을 실행합니다.
oc delete policies.policy.open-cluster-management.io <policy-name> -n <namespace>
oc delete policies.policy.open-cluster-management.io <policy-name> -n <namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 정책이 제거되었는지 확인합니다.
oc get policies.policy.open-cluster-management.io <policy-name> -n <namespace>
oc get policies.policy.open-cluster-management.io <policy-name> -n <namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 콘솔에서 구성 정책을 삭제하려면 정책 위반 테이블에서 삭제할 정책의 작업 아이콘을 클릭한 다음 삭제 를 클릭합니다.
정책이 삭제됩니다.
2.3.10.5. 추가 리소스 링크 복사링크가 클립보드에 복사되었습니다!
- 컨트롤러에서 모니터링하는 다른 구성 정책을 보려면 샘플 구성 정책 표를 참조하십시오.
2.3.11. 거버넌스를 위한 Ansible Automation Platform 구성 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat Advanced Cluster Management for Kubernetes Governance를 Red Hat Ansible Automation Platform과 통합하여 정책 위반 자동화를 생성할 수 있습니다. Red Hat Advanced Cluster Management 콘솔에서 자동화를 구성할 수 있습니다.
2.3.11.1. 사전 요구 사항 링크 복사링크가 클립보드에 복사되었습니다!
- 지원되는 OpenShift Container Platform 버전
- Ansible Automation Platform 버전 3.7.3 또는 이후 버전이 설치되어 있어야 합니다. 지원되는 최신 버전의 Ansible Automation Platform을 설치하는 것이 좋습니다. 자세한 내용은 Red Hat Ansible Automation Platform 설명서 를 참조하십시오.
Operator Lifecycle Manager에서 Ansible Automation Platform Resource Operator를 설치합니다. Update Channel 섹션에서
stable-2.x-cluster-scoped를 선택합니다. 클러스터(기본값) 설치 모드에서 모든 네임스페이스를 선택합니다.참고: Ansible Automation Platform 작업 템플릿을 실행할 때 멱등인지 확인합니다. Ansible Automation Platform Resource Operator가 없는 경우 Red Hat OpenShift Container Platform OperatorHub 페이지에서 찾을 수 있습니다.
Red Hat Ansible Automation Platform 설치 및 구성에 대한 자세한 내용은 Ansible 작업 설정을 참조하십시오.
2.3.11.2. 콘솔에서 정책 위반 자동화 생성 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat Advanced Cluster Management Hub 클러스터에 로그인한 후 탐색 메뉴에서 Governance 를 선택한 다음 Policies 탭을 클릭하여 정책 테이블을 확인합니다.
자동화 열에서 구성을 클릭하여 특정 정책에 대한 자동화 를 구성합니다. 정책 자동화 패널이 표시되면 자동화를 생성할 수 있습니다. Ansible Credential 섹션에서 드롭다운 메뉴를 클릭하여 Ansible 자격 증명을 선택합니다. 인증 정보를 추가해야 하는 경우 인증 정보 관리 개요 를 참조하십시오.
참고: 이 인증 정보는 정책과 동일한 네임스페이스에 복사됩니다. 인증 정보는 자동화를 시작하기 위해 생성된 AnsibleJob 리소스에서 사용합니다. 콘솔의 Credentials 섹션에서 Ansible 자격 증명 변경 사항이 자동으로 업데이트됩니다.
인증 정보를 선택한 후 Ansible 작업 드롭다운 목록을 클릭하여 작업 템플릿을 선택합니다. Extra variables 섹션에서 PolicyAutomation 의 extra_vars 섹션에서 매개변수 값을 추가합니다. 자동화 빈도를 선택합니다. 한 번 모드 실행,everyEvent 모드를 실행 또는 자동화 비활성화 를 선택할 수 있습니다.
Submit 을 선택하여 정책 위반 자동화를 저장합니다. Ansible 작업 세부 정보 패널에서 작업 보기 링크를 선택하면 링크가 검색 페이지의 작업 템플릿으로 이동합니다. 자동화를 성공적으로 생성하면 자동화 열에 표시됩니다.
참고: 관련 정책 자동화가 있는 정책을 삭제하면 정리의 일부로 정책 자동화가 자동으로 삭제됩니다.
정책 위반 자동화는 콘솔에서 생성됩니다.
2.3.11.3. CLI에서 정책 위반 자동화 생성 링크 복사링크가 클립보드에 복사되었습니다!
CLI에서 정책 위반 자동화를 구성하려면 다음 단계를 완료합니다.
-
터미널에서
oc login명령을 사용하여 Red Hat Advanced Cluster Management Hub 클러스터에 로그인합니다. - 자동화를 추가할 정책을 검색하거나 생성합니다. 정책 이름과 네임스페이스를 확인합니다.
다음 샘플을 가이드로 사용하여
PolicyAutomation리소스를 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
이전 샘플의 자동화 템플릿 이름은
정책 준수 템플릿입니다. 작업 템플릿 이름과 일치하도록 해당 값을 변경합니다. -
extra_vars섹션에서 자동화 템플릿에 전달하는 데 필요한 매개변수를 추가합니다. -
모드를
한 번,everyEvent또는disabled로 설정합니다. -
policyRef를 정책 이름으로 설정합니다. -
Ansible Automation Platform 인증 정보가 포함된 이
PolicyAutomation리소스와 동일한 네임스페이스에 보안을 생성합니다. 이전 예에서 시크릿 이름은ansible-tower입니다. 애플리케이션 라이프사이클의 샘플을 사용하여 시크릿을 생성하는 방법을 확인합니다. PolicyAutomation리소스를 만듭니다.참고:
PolicyAutomation리소스에 다음 주석을 추가하여 정책 자동화를 즉시 실행할 수 있습니다.metadata: annotations: policy.open-cluster-management.io/rerun: "true"metadata: annotations: policy.open-cluster-management.io/rerun: "true"Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
정책이 한
번이면 정책을 준수하지 않을 때 자동화가 실행됩니다.target_clusters라는extra_vars변수가 추가되고 이 값은 정책이 준수하지 않는 각 관리 클러스터 이름의 배열입니다. -
정책이
everyEvent모드에 있고DelayAfterRunSeconds가 정의된 시간 값을 초과하면 정책을 준수하지 않고 모든 정책 위반에 대해 자동화가 실행됩니다.