검색

2.6. 지원되는 정책

download PDF

지원되는 정책을 보고 Red Hat Advanced Cluster Management for Kubernetes에서 정책을 생성하고 관리할 때 허브 클러스터에 대한 규칙, 프로세스 및 제어를 정의하는 방법을 알아봅니다.

2.6.1. 샘플 구성 정책 표

다음 샘플 구성 정책을 확인합니다.

표 2.6. 구성 정책의 표 목록
정책 샘플설명

네임스페이스 정책

네임스페이스를 사용하여 일관된 환경 격리 및 이름을 지정하십시오. Kubernetes 네임스페이스 설명서를 참조하십시오.

Pod 정책

클러스터 워크로드 구성을 확인합니다. Kubernetes 포드 설명서를 참조하십시오.

메모리 사용량 정책

제한 범위를 사용하여 워크로드 리소스 사용량을 제한합니다. 제한 범위 설명서를 참조하십시오.

Pod 보안 정책(더 이상 사용되지 않음)

일관된 워크로드 보안을 보장합니다. Kubernetes Pod 보안 정책 설명서를 참조하십시오.

역할 정책
역할 바인딩 정책

역할 및 역할 바인딩을 사용하여 역할 권한 및 바인딩을 관리합니다. Kubernetes RBAC 설명서를 참조하십시오.

SCC(보안 콘텐츠 제약 조건) 정책

보안 컨텍스트 제약 조건을 사용하여 워크로드 권한을 관리합니다. OpenShift Container Platform 설명서의 보안 컨텍스트 제약 조건 설명서를 참조하십시오.

ETCD 암호화 정책

etcd 암호화를 사용하여 데이터 보안을 확인하십시오. OpenShift Container Platform 설명서에서 etcd 데이터 암호화를 참조하십시오.

규정 준수 Operator 정책

Compliance Operator를 배포하여 OpenSCAP을 활용하여 클러스터의 규정 준수 상태를 스캔하고 적용합니다. OpenShift Container Platform 설명서 의 Compliance Operator 이해 를 참조하십시오.

컴플라이언스 Operator E8 검사

Compliance Operator 정책을 적용한 후 Essential 8 (E8) 검사를 배포하여 E8 보안 프로필 준수를 확인하십시오. OpenShift Container Platform 설명서 의 Compliance Operator 이해 를 참조하십시오.

컴플라이언스 Operator CIS 검사

Compliance Operator 정책을 적용한 후 CIS(Center for Internet Security) 검사를 배포하여 CIS 보안 프로필 준수를 확인합니다. OpenShift Container Platform 설명서 의 Compliance Operator 이해 를 참조하십시오.

이미지 취약점 정책

Container Security Operator를 배포하고 클러스터에서 실행되는 Pod에서 알려진 이미지 취약점을 감지합니다. Container Security Operator GitHub 리포지토리를 참조하십시오.

Gatekeeper Operator 배포

Gatekeeper는 OCI(Open Policy Agent) 정책 엔진에서 실행하는 사용자 정의 리소스 정의 기반 정책을 적용하는 승인 Webhook입니다. Gatekeeper 문서를 참조하십시오.

Gatekeeper 규정 준수 정책

Gatekeeper를 클러스터에 배포한 후 이 샘플 Gatekeeper 정책을 배포하여 클러스터에 생성된 네임스페이스가 지정된 대로 레이블이 지정되도록 합니다.

Red Hat OpenShift Platform Plus 정책 세트

Red Hat OpenShift Platform Plus는 여러 인프라의 애플리케이션을 안전하게 빌드, 배포, 실행 및 관리할 수 있는 하이브리드 클라우드 제품군입니다. Red Hat Advanced Cluster Management 애플리케이션을 통해 제공되는 PolicySets 를 사용하여 관리형 클러스터에 Red Hat OpenShift Platform Plus를 배포할 수 있습니다. OpenShift Platform Plus에 대한 자세한 내용은 OpenShift Platform Plus 설명서를 참조하십시오.

Red Hat OpenShift Container Platform 4.x는 Red Hat Advanced Cluster Management 구성 정책도 지원합니다.

정책 적용 방법을 알아보려면 다음 정책 설명서를 확인합니다.

자세한 내용은 Governance 를 참조하십시오.

2.6.2. 네임스페이스 정책

Kubernetes 구성 정책 컨트롤러는 네임스페이스 정책의 상태를 모니터링합니다. 네임스페이스 정책을 적용하여 네임스페이스에 대한 특정 규칙을 정의합니다.

다음 섹션에서 네임스페이스 정책 구조에 대해 자세히 알아봅니다.

2.6.2.1. 네임스페이스 정책 YAML 구조

apiVersion: policy.open-cluster-management.io/v1
kind: Policy
metadata:
  name:
  namespace:
  annotations:
    policy.open-cluster-management.io/standards:
    policy.open-cluster-management.io/categories:
    policy.open-cluster-management.io/controls:
    policy.open-cluster-management.io/description:
spec:
  remediationAction:
  disabled:
  policy-templates:
    - objectDefinition:
        apiVersion: policy.open-cluster-management.io/v1
        kind: ConfigurationPolicy
        metadata:
          name:
        spec:
          remediationAction:
          severity:
          object-templates:
            - complianceType:
              objectDefinition:
                kind: Namespace
                apiVersion: v1
                metadata:
                  name:
                ...

2.6.2.2. 네임스페이스 정책 YAML 테이블

필드선택 사항 또는 필수설명

apiVersion

필수 항목

값을 policy.open-cluster-management.io/v1 로 설정합니다.

kind

필수 항목

정책 유형을 나타내려면 값을 Policy 로 설정합니다.

metadata.name

필수 항목

정책 리소스를 식별하는 이름입니다.

metadata.namespace

필수 항목

정책의 네임스페이스입니다.

spec.remediationAction

선택 사항

정책 수정을 지정합니다. 매개변수 값은 enforceinform 입니다. 이 값은 spec.policy-templates 에 제공된 모든 값을 덮어쓰므로 선택 사항입니다.

spec.disabled

필수 항목

값을 true 또는 false 로 설정합니다. disabled 매개 변수는 정책을 활성화 및 비활성화하는 기능을 제공합니다.

spec.policy-templates[].objectDefinition

필수 항목

관리 클러스터에 평가하거나 적용해야 하는 Kubernetes 오브젝트가 포함된 구성 정책을 나열하는 데 사용됩니다.

2.6.2.3. 네임스페이스 정책 샘플

정책 샘플을 보려면 policy-namespace.yaml 을 참조하십시오.

자세한 내용은 보안 정책 관리를 참조하십시오. 다른 구성 정책에 대한 자세한 내용은 정책 개요 설명서 및 Kubernetes 구성 정책 컨트롤러 를 참조하십시오.

2.6.3. Pod 정책

Kubernetes 구성 정책 컨트롤러는 Pod 정책의 상태를 모니터링합니다. Pod 정책을 적용하여 Pod의 컨테이너 규칙을 정의합니다. 이 정보를 사용하려면 Pod가 클러스터에 있어야 합니다.

다음 섹션에서 Pod 정책 구조에 대한 자세한 내용을 확인하십시오.

2.6.3.1. Pod 정책 YAML 구조

apiVersion: policy.open-cluster-management.io/v1
kind: Policy
metadata:
  name:
  namespace:
  annotations:
    policy.open-cluster-management.io/standards:
    policy.open-cluster-management.io/categories:
    policy.open-cluster-management.io/controls:
    policy.open-cluster-management.io/description:
spec:
  remediationAction:
  disabled:
  policy-templates:
    - objectDefinition:
        apiVersion: policy.open-cluster-management.io/v1
        kind: ConfigurationPolicy
        metadata:
          name:
        spec:
          remediationAction:
          severity:
          namespaceSelector:
            exclude:
            include:
            matchLabels:
            matchExpressions:
          object-templates:
            - complianceType:
              objectDefinition:
                apiVersion: v1
                kind: Pod
                metadata:
                  name:
                spec:
                  containers:
                  - image:
                    name:
                ...

2.6.3.2. Pod 정책 테이블

표 2.7. 매개변수 테이블
필드선택 사항 또는 필수설명

apiVersion

필수 항목

값을 policy.open-cluster-management.io/v1 로 설정합니다.

kind

필수 항목

정책 유형을 나타내려면 값을 Policy 로 설정합니다.

metadata.name

필수 항목

정책 리소스를 식별하는 이름입니다.

metadata.namespace

필수 항목

정책의 네임스페이스입니다.

spec.remediationAction

선택 사항

정책 수정을 지정합니다. 매개변수 값은 enforceinform 입니다. 이 값은 spec.policy-templates 에 제공된 값을 재정의하기 때문에 선택 사항입니다.

spec.disabled

필수 항목

값을 true 또는 false 로 설정합니다. disabled 매개 변수는 정책을 활성화 및 비활성화하는 기능을 제공합니다.

spec.policy-templates[].objectDefinition

필수 항목

관리 클러스터에 평가하거나 적용해야 하는 Kubernetes 오브젝트가 포함된 구성 정책을 나열하는 데 사용됩니다.

2.6.3.3. Pod 정책 샘플

정책 샘플을 보려면 policy-pod.yaml 을 참조하십시오.

Kubernetes 구성 정책 컨트롤러 를 참조하여 구성 컨트롤러에서 모니터링하는 다른 구성 정책을 확인하고 정책 개요 설명서를 참조하여 정책 YAML 구조 및 추가 필드에 대한 전체 설명을 확인합니다. 다른 정책 관리로 돌아가 구성 정책 설명서로 돌아갑니다.

2.6.4. 메모리 사용량 정책

Kubernetes 구성 정책 컨트롤러는 메모리 사용 정책의 상태를 모니터링합니다. 메모리 사용량 정책을 사용하여 메모리 및 컴퓨팅 사용량을 제한하거나 제한합니다. 자세한 내용은 Kubernetes 문서 의 제한 범위를 참조하십시오.

다음 섹션에서 메모리 사용 정책 구조에 대해 자세히 알아봅니다.

2.6.4.1. 메모리 사용량 정책 YAML 구조

메모리 사용량 정책은 다음 YAML 파일과 유사할 수 있습니다.

apiVersion: policy.open-cluster-management.io/v1
kind: Policy
metadata:
  name:
  namespace:
  annotations:
    policy.open-cluster-management.io/standards:
    policy.open-cluster-management.io/categories:
    policy.open-cluster-management.io/controls:
    policy.open-cluster-management.io/description:
spec:
  remediationAction:
  disabled:
  policy-templates:
    - objectDefinition:
        apiVersion: policy.open-cluster-management.io/v1
        kind: ConfigurationPolicy
        metadata:
          name:
        spec:
          remediationAction:
          severity:
          namespaceSelector:
            exclude:
            include:
            matchLabels:
            matchExpressions:
          object-templates:
            - complianceType: mustonlyhave
              objectDefinition:
                apiVersion: v1
                kind: LimitRange
                metadata:
                  name:
                spec:
                  limits:
                  - default:
                      memory:
                    defaultRequest:
                      memory:
                    type:
        ...

2.6.4.2. 메모리 사용량 정책 테이블

표 2.8. 매개변수 테이블
필드선택 사항 또는 필수설명

apiVersion

필수 항목

값을 policy.open-cluster-management.io/v1 로 설정합니다.

kind

필수 항목

정책 유형을 나타내려면 값을 Policy 로 설정합니다.

metadata.name

필수 항목

정책 리소스를 식별하는 이름입니다.

metadata.namespace

필수 항목

정책의 네임스페이스입니다.

spec.remediationAction

선택 사항

정책 수정을 지정합니다. 매개변수 값은 enforceinform 입니다. 이 값은 spec.policy-templates 에 제공된 값을 재정의하기 때문에 선택 사항입니다.

spec.disabled

필수 항목

값을 true 또는 false 로 설정합니다. disabled 매개 변수는 정책을 활성화 및 비활성화하는 기능을 제공합니다.

spec.policy-templates[].objectDefinition

필수 항목

관리 클러스터에 평가하거나 적용해야 하는 Kubernetes 오브젝트가 포함된 구성 정책을 나열하는 데 사용됩니다.

2.6.4.3. 메모리 사용량 정책 샘플

정책 샘플을 보려면 policy-limitmemory.yaml 을 참조하십시오. 자세한 내용은 보안 정책 관리를 참조하십시오. 컨트롤러에서 모니터링하는 다른 구성 정책을 보려면 정책 개요 문서 및 Kubernetes 구성 정책 컨트롤러를 참조하십시오.

2.6.5. Pod 보안 정책(더 이상 사용되지 않음)

Kubernetes 구성 정책 컨트롤러는 Pod 보안 정책의 상태를 모니터링합니다. Pod 보안 정책을 적용하여 Pod 및 컨테이너를 보호합니다.

다음 섹션에서 Pod 보안 정책 구조에 대한 자세한 내용을 확인하십시오.

2.6.5.1. Pod 보안 정책 YAML 구조

apiVersion: policy.open-cluster-management.io/v1
kind: Policy
metadata:
  name:
  namespace:
  annotations:
    policy.open-cluster-management.io/standards:
    policy.open-cluster-management.io/categories:
    policy.open-cluster-management.io/controls:
    policy.open-cluster-management.io/description:
spec:
  remediationAction:
  disabled:
  policy-templates:
    - objectDefinition:
        apiVersion: policy.open-cluster-management.io/v1
        kind: ConfigurationPolicy
        metadata:
          name:
        spec:
          remediationAction:
          severity:
          namespaceSelector:
            exclude:
            include:
            matchLabels:
            matchExpressions:
          object-templates:
            - complianceType:
              objectDefinition:
                apiVersion: policy/v1beta1
                kind: PodSecurityPolicy
                metadata:
                  name:
                  annotations:
                    seccomp.security.alpha.kubernetes.io/allowedProfileNames:
                spec:
                  privileged:
                  allowPrivilegeEscalation:
                  allowedCapabilities:
                  volumes:
                  hostNetwork:
                  hostPorts:
                  hostIPC:
                  hostPID:
                  runAsUser:
                  seLinux:
                  supplementalGroups:
                  fsGroup:
                ...

2.6.5.2. Pod 보안 정책 테이블

표 2.9. 매개변수 테이블
필드선택 사항 또는 필수설명

apiVersion

필수 항목

값을 policy.open-cluster-management.io/v1 로 설정합니다.

kind

필수 항목

정책 유형을 나타내려면 값을 Policy 로 설정합니다.

metadata.name

필수 항목

정책 리소스를 식별하는 이름입니다.

metadata.namespace

필수 항목

정책의 네임스페이스입니다.

spec.remediationAction

선택 사항

정책 수정을 지정합니다. 매개변수 값은 enforceinform 입니다. 이 값은 spec.policy-templates 에 제공된 값을 재정의하기 때문에 선택 사항입니다.

spec.disabled

필수 항목

값을 true 또는 false 로 설정합니다. disabled 매개 변수는 정책을 활성화 및 비활성화하는 기능을 제공합니다.

spec.policy-templates[].objectDefinition

필수 항목

관리 클러스터에 평가하거나 적용해야 하는 Kubernetes 오브젝트가 포함된 구성 정책을 나열하는 데 사용됩니다.

2.6.5.3. Pod 보안 정책 샘플

Pod 보안 정책 지원은 OpenShift Container Platform 4.13 이상 및 Kubernetes v1.25 이상에서 제거됩니다. PodSecurityPolicy 리소스를 적용하면 다음과 같은 비호환 메시지가 표시될 수 있습니다.

violation - couldn't find mapping resource with kind PodSecurityPolicy, please check if you have CRD deployed

2.6.6. 역할 정책

Kubernetes 구성 정책 컨트롤러는 역할 정책의 상태를 모니터링합니다. 오브젝트 템플릿에서 역할을 정의하여 클러스터의 특정 역할에 대한 규칙 및 권한을 설정합니다.

다음 섹션에서 역할 정책 구조에 대해 자세히 알아봅니다.

2.6.6.1. 역할 정책 YAML 구조

apiVersion: policy.open-cluster-management.io/v1
kind: Policy
metadata:
  name:
  namespace:
  annotations:
    policy.open-cluster-management.io/standards:
    policy.open-cluster-management.io/categories:
    policy.open-cluster-management.io/controls:
    policy.open-cluster-management.io/description:
spec:
  remediationAction:
  disabled:
  policy-templates:
    - objectDefinition:
        apiVersion: policy.open-cluster-management.io/v1
        kind: ConfigurationPolicy
        metadata:
          name:
        spec:
          remediationAction:
          severity:
          namespaceSelector:
            exclude:
            include:
            matchLabels:
            matchExpressions:
          object-templates:
            - complianceType:
              objectDefinition:
                apiVersion: rbac.authorization.k8s.io/v1
                kind: Role
                metadata:
                  name:
                rules:
                  - apiGroups:
                    resources:
                    verbs:
                ...

2.6.6.2. 역할 정책 테이블

표 2.10. 매개변수 테이블
필드선택 사항 또는 필수설명

apiVersion

필수 항목

값을 policy.open-cluster-management.io/v1 로 설정합니다.

kind

필수 항목

정책 유형을 나타내려면 값을 Policy 로 설정합니다.

metadata.name

필수 항목

정책 리소스를 식별하는 이름입니다.

metadata.namespace

필수 항목

정책의 네임스페이스입니다.

spec.remediationAction

선택 사항

정책 수정을 지정합니다. 매개변수 값은 enforceinform 입니다. 이 값은 spec.policy-templates 에 제공된 값을 재정의하기 때문에 선택 사항입니다.

spec.disabled

필수 항목

값을 true 또는 false 로 설정합니다. disabled 매개 변수는 정책을 활성화 및 비활성화하는 기능을 제공합니다.

spec.policy-templates[].objectDefinition

필수 항목

관리 클러스터에 평가하거나 적용해야 하는 Kubernetes 오브젝트가 포함된 구성 정책을 나열하는 데 사용됩니다.

2.6.6.3. 역할 정책 샘플

클러스터의 특정 역할에 대한 규칙 및 권한을 설정하는 역할 정책을 적용합니다. 역할에 대한 자세한 내용은 역할 기반 액세스 제어를 참조하십시오. 역할 정책 샘플 보기 policy-role.yaml 을 참조하십시오.

역할 정책을 관리하는 방법에 대한 자세한 내용은 구성 정책 관리를 참조하십시오. 컨트롤러를 모니터링하는 다른 구성 정책을 보려면 Kubernetes 구성 정책 컨트롤러를 참조하십시오.

2.6.7. 역할 바인딩 정책

Kubernetes 구성 정책 컨트롤러는 역할 바인딩 정책의 상태를 모니터링합니다. 관리 클러스터의 네임스페이스에 정책을 바인딩하는 역할 바인딩 정책을 적용합니다.

다음 섹션에서 네임스페이스 정책 구조에 대해 자세히 알아봅니다.

2.6.7.1. 역할 바인딩 정책 YAML 구조

apiVersion: policy.open-cluster-management.io/v1
kind: Policy
metadata:
  name:
  namespace:
  annotations:
    policy.open-cluster-management.io/standards:
    policy.open-cluster-management.io/categories:
    policy.open-cluster-management.io/controls:
    policy.open-cluster-management.io/description:
spec:
  remediationAction:
  disabled:
  policy-templates:
    - objectDefinition:
        apiVersion: policy.open-cluster-management.io/v1
        kind: ConfigurationPolicy
        metadata:
          name:
        spec:
          remediationAction:
          severity:
          namespaceSelector:
            exclude:
            include:
            matchLabels:
            matchExpressions:
          object-templates:
            - complianceType:
              objectDefinition:
                kind: RoleBinding # role binding must exist
                apiVersion: rbac.authorization.k8s.io/v1
                metadata:
                  name:
                subjects:
                - kind:
                  name:
                  apiGroup:
                roleRef:
                  kind:
                  name:
                  apiGroup:
                ...

2.6.7.2. 역할 바인딩 정책 테이블

필드선택 사항 또는 필수설명

apiVersion

필수 항목

값을 policy.open-cluster-management.io/v1 로 설정합니다.

kind

필수 항목

정책 유형을 나타내려면 값을 Policy 로 설정합니다.

metadata.name

필수 항목

정책 리소스를 식별하는 이름입니다.

metadata.namespace

필수 항목

정책의 네임스페이스입니다.

spec.remediationAction

선택 사항

정책 수정을 지정합니다. 매개변수 값은 enforceinform 입니다. spec.policy-templates 에 제공된 모든 값을 덮어쓰므로 이 값은 선택 사항입니다.

spec.disabled

필수 항목

값을 true 또는 false 로 설정합니다. disabled 매개 변수는 정책을 활성화 및 비활성화하는 기능을 제공합니다.

spec.policy-templates[].objectDefinition

필수 항목

관리 클러스터에 평가하거나 적용해야 하는 Kubernetes 오브젝트가 포함된 구성 정책을 나열하는 데 사용됩니다.

2.6.7.3. 역할 바인딩 정책 샘플

정책 샘플을 보려면 policy-rolebinding.yaml 을 참조하십시오. policy YAML 구조 및 추가 필드에 대한 전체 설명은 정책 개요 설명서 를 참조하십시오. 다른 구성 정책에 대한 자세한 내용은 Kubernetes 구성 정책 컨트롤러 설명서를 참조하십시오.

2.6.8. 보안 컨텍스트 제약 조건 정책

Kubernetes 구성 정책 컨트롤러는 SCC(보안 컨텍스트 제약 조건) 정책의 상태를 모니터링합니다. SCC(보안 컨텍스트 제약 조건) 정책을 적용하여 정책의 조건을 정의하여 Pod 권한을 제어합니다.

다음 섹션에서 SCC 정책에 대한 자세한 내용을 확인하십시오.

2.6.8.1. SCC 정책 YAML 구조

apiVersion: policy.open-cluster-management.io/v1
kind: Policy
metadata:
  name:
  namespace:
  annotations:
    policy.open-cluster-management.io/standards:
    policy.open-cluster-management.io/categories:
    policy.open-cluster-management.io/controls:
    policy.open-cluster-management.io/description:
spec:
  remediationAction:
  disabled:
  policy-templates:
    - objectDefinition:
        apiVersion: policy.open-cluster-management.io/v1
        kind: ConfigurationPolicy
        metadata:
          name:
        spec:
          remediationAction:
          severity:
          namespaceSelector:
            exclude:
            include:
            matchLabels:
            matchExpressions:
          object-templates:
            - complianceType:
              objectDefinition:
                apiVersion: security.openshift.io/v1
                kind: SecurityContextConstraints
                metadata:
                  name:
                allowHostDirVolumePlugin:
                allowHostIPC:
                allowHostNetwork:
                allowHostPID:
                allowHostPorts:
                allowPrivilegeEscalation:
                allowPrivilegedContainer:
                fsGroup:
                readOnlyRootFilesystem:
                requiredDropCapabilities:
                runAsUser:
                seLinuxContext:
                supplementalGroups:
                users:
                volumes:
                ...

2.6.8.2. SCC 정책 테이블

필드선택 사항 또는 필수설명

apiVersion

필수 항목

값을 policy.open-cluster-management.io/v1 로 설정합니다.

kind

필수 항목

정책 유형을 나타내려면 값을 Policy 로 설정합니다.

metadata.name

필수 항목

정책 리소스를 식별하는 이름입니다.

metadata.namespace

필수 항목

정책의 네임스페이스입니다.

spec.remediationAction

선택 사항

정책 수정을 지정합니다. 매개변수 값은 enforceinform 입니다. spec.policy-templates 에 제공된 모든 값을 덮어쓰므로 이 값은 선택 사항입니다.

spec.disabled

필수 항목

값을 true 또는 false 로 설정합니다. disabled 매개 변수는 정책을 활성화 및 비활성화하는 기능을 제공합니다.

spec.policy-templates[].objectDefinition

필수 항목

관리 클러스터에 평가하거나 적용해야 하는 Kubernetes 오브젝트가 포함된 구성 정책을 나열하는 데 사용됩니다.

SCC 정책 콘텐츠에 대한 설명은 OpenShift Container Platform 설명서에서 보안 컨텍스트 제약 조건 관리를 참조하십시오.

2.6.8.3. SCC 정책 샘플

SCC(보안 컨텍스트 제약 조건) 정책을 적용하여 정책의 조건을 정의하여 Pod 권한을 제어합니다. 자세한 내용은 SCC(보안 컨텍스트 제약 조건) 관리를 참조하십시오.

정책 샘플을 보려면 policy-scc.yaml 을 참조하십시오. policy YAML 구조 및 추가 필드에 대한 전체 설명은 정책 개요 설명서를 참조하십시오. 다른 구성 정책에 대한 자세한 내용은 Kubernetes 구성 정책 컨트롤러 설명서를 참조하십시오.

2.6.9. ETCD 암호화 정책

etcd-encryption 정책을 적용하여 ETCD 데이터 저장소에서 중요한 데이터를 감지하거나 암호화를 활성화합니다. Kubernetes 구성 정책 컨트롤러는 etcd 암호화 정책의 상태를 모니터링합니다. 자세한 내용은 OpenShift Container Platform 설명서에서 etcd 데이터 암호화를 참조하십시오. 참고: ETCD 암호화 정책은 Red Hat OpenShift Container Platform 4 이상만 지원합니다.

다음 섹션에서 etcd-encryption 정책 구조에 대한 자세한 내용을 확인하십시오.

2.6.9.1. ETCD 암호화 정책 YAML 구조

etcd-encryption 정책은 다음 YAML 파일과 유사할 수 있습니다.

apiVersion: policy.open-cluster-management.io/v1
kind: Policy
metadata:
  name:
  namespace:
  annotations:
    policy.open-cluster-management.io/standards:
    policy.open-cluster-management.io/categories:
    policy.open-cluster-management.io/controls:
    policy.open-cluster-management.io/description:
spec:
  remediationAction:
  disabled:
  policy-templates:
    - objectDefinition:
        apiVersion: policy.open-cluster-management.io/v1
        kind: ConfigurationPolicy
        metadata:
          name:
        spec:
          remediationAction:
          severity:
          object-templates:
            - complianceType:
              objectDefinition:
                apiVersion: config.openshift.io/v1
                kind: APIServer
                metadata:
                  name:
                spec:
                  encryption:
                ...

2.6.9.2. ETCD 암호화 정책 테이블

표 2.11. 매개변수 테이블
필드선택 사항 또는 필수설명

apiVersion

필수 항목

값을 policy.open-cluster-management.io/v1 로 설정합니다.

kind

필수 항목

정책 유형을 나타내려면 값을 Policy 로 설정합니다.

metadata.name

필수 항목

정책 리소스를 식별하는 이름입니다.

metadata.namespace

필수 항목

정책의 네임스페이스입니다.

spec.remediationAction

선택 사항

정책 수정을 지정합니다. 매개변수 값은 enforceinform 입니다. 이 값은 spec.policy-templates 에 제공된 모든 값을 덮어쓰므로 선택 사항입니다.

spec.disabled

필수 항목

값을 true 또는 false 로 설정합니다. disabled 매개 변수는 정책을 활성화 및 비활성화하는 기능을 제공합니다.

spec.policy-templates[].objectDefinition

필수 항목

관리 클러스터에 평가하거나 적용해야 하는 Kubernetes 오브젝트가 포함된 구성 정책을 나열하는 데 사용됩니다.

2.6.9.3. ETCD 암호화 정책 샘플

정책 샘플은 policy-etcdencryption.yaml 을 참조하십시오. 정책 및 구성 정책 필드에 대한 자세한 내용은 정책 개요 설명서 및 Kubernetes 구성 정책 컨트롤러 를 참조하십시오.

2.6.10. Compliance Operator 정책

Compliance Operator를 사용하여 다양한 기술 구현을 자동화하고 업계 표준, 벤치마크 및 기준선의 특정 측면과 비교할 수 있습니다. Compliance Operator는 감사자가 아닙니다. 이러한 다양한 표준을 준수하거나 인증하려면 QSA(Qualified Security Assessor), 공동 인증 기관(JAB) 또는 사용자 환경을 평가할 수 있는 기타 업계의 규제 당국과 같은 승인된 감사인에 참여해야 합니다.

Compliance Operator에서 생성되는 권장 사항은 이러한 표준에 대한 일반적으로 사용 가능한 정보와 관행을 기반으로 하며, 수정을 지원할 수 있지만 실제 규정 준수는 귀하의 책임이 있습니다. 표준 준수를 위해 승인된 감사자와 협력합니다.

최신 업데이트는 Compliance Operator 릴리스 노트 를 참조하십시오.

2.6.10.1. Compliance Operator 정책 개요

Compliance Operator 정책을 사용하여 관리 클러스터에 Compliance Operator를 설치할 수 있습니다. Compliance Operator 정책은 Red Hat Advanced Cluster Management에서 Kubernetes 구성 정책으로 생성됩니다. OpenShift Container Platform은 규정 준수 Operator 정책을 지원합니다.

참고: Compliance Operator 정책은 IBM Power 또는 IBM Z 아키텍처에서 지원되지 않는 OpenShift Container Platform Compliance Operator를 사용합니다. Compliance Operator에 대한 자세한 내용은 OpenShift Container Platform 설명서의 Compliance Operator 이해 를 참조하십시오.

2.6.10.2. Compliance Operator 리소스

규정 준수 Operator 정책을 생성하면 다음 리소스가 생성됩니다.

  • Operator 설치를 위한 규정 준수 Operator 네임스페이스(openshift-compliance)
apiVersion: policy.open-cluster-management.io/v1
kind: ConfigurationPolicy
metadata:
  name: comp-operator-ns
spec:
  remediationAction: inform # will be overridden by remediationAction in parent policy
  severity: high
  object-templates:
    - complianceType: musthave
      objectDefinition:
        apiVersion: v1
        kind: Namespace
        metadata:
          name: openshift-compliance
  • 대상 네임스페이스를 지정하는 Operator 그룹(compliance-operator)입니다.
apiVersion: policy.open-cluster-management.io/v1
kind: ConfigurationPolicy
metadata:
  name: comp-operator-operator-group
spec:
  remediationAction: inform # will be overridden by remediationAction in parent policy
  severity: high
  object-templates:
    - complianceType: musthave
      objectDefinition:
        apiVersion: operators.coreos.com/v1
        kind: OperatorGroup
        metadata:
          name: compliance-operator
          namespace: openshift-compliance
        spec:
          targetNamespaces:
            - openshift-compliance
  • 이름 및 채널을 참조하는 서브스크립션(comp-operator-subscription)입니다. 서브스크립션은 컨테이너에서 지원하는 프로필을 가져옵니다. 4.x 를 대체하는 현재 버전으로 다음 샘플을 참조하십시오.
apiVersion: policy.open-cluster-management.io/v1
kind: ConfigurationPolicy
metadata:
  name: comp-operator-subscription
spec:
  remediationAction: inform  # will be overridden by remediationAction in parent policy
  severity: high
  object-templates:
    - complianceType: musthave
      objectDefinition:
        apiVersion: operators.coreos.com/v1alpha1
        kind: Subscription
        metadata:
          name: compliance-operator
          namespace: openshift-compliance
        spec:
          channel: "4.x"
          installPlanApproval: Automatic
          name: compliance-operator
          source: redhat-operators
          sourceNamespace: openshift-marketplace

규정 준수 Operator 정책을 설치한 후 compliance-operator,ocp4rhcos4 Pod가 생성됩니다. policy-compliance-operator-install.yaml 샘플을 참조하십시오.

2.6.10.3. 추가 리소스

2.6.11. E8 검사 정책

Essential 8(E8) 검사 정책은 마스터 및 작업자 노드에서 E8 보안 프로필을 준수하는지 확인하는 검사를 배포합니다. E8 검사 정책을 적용하려면 컴플라이언스 Operator를 설치해야 합니다.

E8 검사 정책은 Red Hat Advanced Cluster Management에서 Kubernetes 구성 정책으로 생성됩니다. OpenShift Container Platform은 E8 검사 정책을 지원합니다. 자세한 내용은 OpenShift Container Platform 설명서에서 Compliance Operator 관리를 참조하십시오.

2.6.11.1. E8 검사 정책 리소스

E8 검사 정책을 생성할 때 다음 리소스가 생성됩니다.

  • 검사할 프로필을 식별하는 ScanSettingBinding 리소스(e8)입니다.

    apiVersion: policy.open-cluster-management.io/v1
    kind: ConfigurationPolicy
    metadata:
      name: compliance-suite-e8
    spec:
      remediationAction: inform
      severity: high
      object-templates:
        - complianceType: musthave # this template checks if scan has completed by checking the status field
          objectDefinition:
            apiVersion: compliance.openshift.io/v1alpha1
            kind: ScanSettingBinding
            metadata:
              name: e8
              namespace: openshift-compliance
            profiles:
            - apiGroup: compliance.openshift.io/v1alpha1
              kind: Profile
              name: ocp4-e8
            - apiGroup: compliance.openshift.io/v1alpha1
              kind: Profile
              name: rhcos4-e8
            settingsRef:
              apiGroup: compliance.openshift.io/v1alpha1
              kind: ScanSetting
              name: default
  • status 필드를 확인하여 검사가 완료되었는지 확인하는 ComplianceSuite 리소스(compliance-suite-e8)입니다.

    apiVersion: policy.open-cluster-management.io/v1
    kind: ConfigurationPolicy
    metadata:
      name: compliance-suite-e8
    spec:
      remediationAction: inform
      severity: high
      object-templates:
        - complianceType: musthave # this template checks if scan has completed by checking the status field
          objectDefinition:
            apiVersion: compliance.openshift.io/v1alpha1
            kind: ComplianceSuite
            metadata:
              name: e8
              namespace: openshift-compliance
            status:
              phase: DONE
  • ComplianceCheckResult 리소스(CR)를 확인하여 검사 모음 결과를 보고하는 Compliance-suite-e8-results .

    apiVersion: policy.open-cluster-management.io/v1
    kind: ConfigurationPolicy
    metadata:
      name: compliance-suite-e8-results
    spec:
      remediationAction: inform
      severity: high
      object-templates:
        - complianceType: mustnothave # this template reports the results for scan suite: e8 by looking at ComplianceCheckResult CRs
          objectDefinition:
            apiVersion: compliance.openshift.io/v1alpha1
            kind: ComplianceCheckResult
            metadata:
              namespace: openshift-compliance
              labels:
                compliance.openshift.io/check-status: FAIL
                compliance.openshift.io/suite: e8

참고: 자동 수정이 지원됩니다. ScanSettingBinding 리소스를 생성하도록 적용 하도록 수정 작업을 설정합니다.

policy-compliance-operator-e8-scan.yaml 샘플을 참조하십시오. 자세한 내용은 보안 정책 관리를 참조하십시오. 참고: E8 정책이 삭제되면 대상 클러스터 또는 클러스터에서 제거됩니다.

2.6.12. OpenShift CIS 검사 정책

OpenShift CIS 검사 정책은 마스터 노드와 작업자 노드에서 OpenShift CIS 보안 벤치마크를 준수하는지 확인하는 검사를 배포합니다. OpenShift CIS 정책을 적용하려면 규정 준수 Operator를 설치해야 합니다.

OpenShift CIS 검사 정책은 Red Hat Advanced Cluster Management에서 Kubernetes 구성 정책으로 생성됩니다. OpenShift Container Platform은 OpenShift CIS 검사 정책을 지원합니다. 자세한 내용은 OpenShift Container Platform 설명서 의 Compliance Operator 이해 를 참조하십시오.

2.6.12.1. OpenShift CIS 리소스

OpenShift CIS 검사 정책을 생성할 때 다음 리소스가 생성됩니다.

  • 검사할 프로필을 식별하는 ScanSettingBinding 리소스(cis)입니다.

    apiVersion: policy.open-cluster-management.io/v1
    kind: ConfigurationPolicy
    metadata:
      name: compliance-cis-scan
    spec:
      remediationAction: inform
      severity: high
      object-templates:
        - complianceType: musthave # this template creates ScanSettingBinding:cis
          objectDefinition:
            apiVersion: compliance.openshift.io/v1alpha1
            kind: ScanSettingBinding
            metadata:
              name: cis
              namespace: openshift-compliance
            profiles:
            - apiGroup: compliance.openshift.io/v1alpha1
              kind: Profile
              name: ocp4-cis
            - apiGroup: compliance.openshift.io/v1alpha1
              kind: Profile
              name: ocp4-cis-node
            settingsRef:
              apiGroup: compliance.openshift.io/v1alpha1
              kind: ScanSetting
              name: default
  • status 필드를 확인하여 검사가 완료되었는지 확인하는 ComplianceSuite 리소스(compliance-suite-cis)입니다.

    apiVersion: policy.open-cluster-management.io/v1
    kind: ConfigurationPolicy
    metadata:
      name: compliance-suite-cis
    spec:
      remediationAction: inform
      severity: high
      object-templates:
        - complianceType: musthave # this template checks if scan has completed by checking the status field
          objectDefinition:
            apiVersion: compliance.openshift.io/v1alpha1
            kind: ComplianceSuite
            metadata:
              name: cis
              namespace: openshift-compliance
            status:
              phase: DONE
  • ComplianceCheckResult 리소스(CR)를 확인하여 검사 모음 결과를 보고하는 Compliance-suite-cis-results .

    apiVersion: policy.open-cluster-management.io/v1
    kind: ConfigurationPolicy
    metadata:
      name: compliance-suite-cis-results
    spec:
      remediationAction: inform
      severity: high
      object-templates:
        - complianceType: mustnothave # this template reports the results for scan suite: cis by looking at ComplianceCheckResult CRs
          objectDefinition:
            apiVersion: compliance.openshift.io/v1alpha1
            kind: ComplianceCheckResult
            metadata:
              namespace: openshift-compliance
              labels:
                compliance.openshift.io/check-status: FAIL
                compliance.openshift.io/suite: cis

policy-compliance-operator-cis-scan.yaml 파일의 샘플을 참조하십시오. 정책 생성에 대한 자세한 내용은 보안 정책 관리를 참조하십시오.

2.6.13. 이미지 취약점 정책

Container Security Operator를 활용하여 컨테이너 이미지에 취약점이 있는지 감지하려면 이미지 취약점 정책을 적용합니다. 이 정책은 관리 클러스터에 Container Security Operator가 설치되지 않은 경우 설치합니다.

이미지 취약점 정책은 Kubernetes 구성 정책 컨트롤러에서 확인합니다. Security Operator에 대한 자세한 내용은 Quay 리포지토리Container Security Operator 를 참조하십시오.

참고:

자세한 내용은 다음 섹션을 확인하십시오.

2.6.13.1. 이미지 취약점 정책 YAML 구조

컨테이너 보안 Operator 정책을 생성할 때 다음과 같은 정책이 포함됩니다.

  • 이름과 채널을 참조하는 서브스크립션(container-security-operator)을 생성하는 정책입니다. 이 구성 정책에는 리소스를 생성하기 위해 적용할 spec.remediationAction 이 설정되어 있어야 합니다. 서브스크립션은 컨테이너에서 서브스크립션을 지원하는 프로필을 가져옵니다. 다음 예제를 확인합니다.

    apiVersion: policy.open-cluster-management.io/v1
    kind: ConfigurationPolicy
    metadata:
      name: policy-imagemanifestvuln-example-sub
    spec:
      remediationAction: enforce  # will be overridden by remediationAction in parent policy
      severity: high
      object-templates:
        - complianceType: musthave
          objectDefinition:
            apiVersion: operators.coreos.com/v1alpha1
            kind: Subscription
            metadata:
              name: container-security-operator
              namespace: openshift-operators
            spec:
              # channel: quay-v3.3 # specify a specific channel if desired
              installPlanApproval: Automatic
              name: container-security-operator
              source: redhat-operators
              sourceNamespace: openshift-marketplace
  • ClusterServiceVersion 을 감사하여 컨테이너 보안 Operator 설치에 성공했는지 확인하는 정보 구성 정책입니다. 다음 예제를 확인합니다.

    apiVersion: policy.open-cluster-management.io/v1
    kind: ConfigurationPolicy
    metadata:
      name: policy-imagemanifestvuln-status
    spec:
      remediationAction: inform  # will be overridden by remediationAction in parent policy
      severity: high
      object-templates:
        - complianceType: musthave
          objectDefinition:
            apiVersion: operators.coreos.com/v1alpha1
            kind: ClusterServiceVersion
            metadata:
              namespace: openshift-operators
            spec:
              displayName: Red Hat Quay Container Security Operator
            status:
              phase: Succeeded   # check the CSV status to determine if operator is running or not
  • 이미지 취약점 검사에서 ImageManifestVuln 오브젝트가 생성되었는지 여부를 감사하는 정보 구성 정책입니다. 다음 예제를 확인합니다.

    apiVersion: policy.open-cluster-management.io/v1
    kind: ConfigurationPolicy
    metadata:
      name: policy-imagemanifestvuln-example-imv
    spec:
      remediationAction: inform  # will be overridden by remediationAction in parent policy
      severity: high
      namespaceSelector:
        exclude: ["kube-*"]
        include: ["*"]
      object-templates:
        - complianceType: mustnothave # mustnothave any ImageManifestVuln object
          objectDefinition:
            apiVersion: secscan.quay.redhat.com/v1alpha1
            kind: ImageManifestVuln # checking for a Kind

2.6.13.2. 이미지 취약점 정책 샘플

policy-imagemanifestvuln.yaml 을 참조하십시오. 자세한 내용은 보안 정책 관리를 참조하십시오. 구성 컨트롤러에서 모니터링하는 다른 구성 정책을 보려면 Kubernetes 구성 정책 컨트롤러를 참조하십시오.

2.6.14. Red Hat OpenShift Platform Plus 정책 세트

Red Hat OpenShift Platform Plus Plus를 설치하기 위해 OpenShift Platform Plus 정책 세트(openshift-plus)를 구성하고 적용합니다.

OpenShift Platform Plus 정책 세트에는 배포된 두 개의 PolicySets 가 포함되어 있습니다. OpenShift Plus 정책 세트는 OpenShift Platform Plus 제품을 설치하도록 설정된 여러 정책을 적용합니다. Red Hat Advanced Cluster Security 보안 클러스터 서비스 및 Compliance Operator는 모든 OpenShift Container Platform 관리 클러스터에 배포됩니다.

2.6.14.1. 사전 요구 사항

  • AWS(Amazon Web Services) 환경에 Red Hat OpenShift Container Platform 4.13 이상을 설치합니다.
  • Red Hat Advanced Cluster Management for Kubernetes 2.7 이상을 설치합니다.
  • Policy Generator Kustomize 플러그인을 설치합니다. 자세한 내용은 정책 생성기 설명서를 참조하십시오.

2.6.14.2. OpenShift Platform Plus 정책 세트 구성 요소

hub 클러스터에 설정된 정책을 적용하면 다음 OpenShift Platform Plus 구성 요소가 설치됩니다.

표 2.12. 구성 요소 테이블
Component정책설명

Red Hat Advanced Cluster Security

policy-acs-central-ca-bundle

Kubernetes 허브 클러스터 및 관리형 클러스터에 중앙 서버를 설치하는 데 사용되는 정책입니다.

policy-acs-central-status

Red Hat Advanced Cluster Security 상태를 수신하기 위한 배포.

policy-acs-operator-central

Red Hat Advanced Cluster Security 중앙 운영자 구성.

policy-acs-sync-resources

Red Hat Advanced Cluster Security 리소스가 생성되었는지 확인하는 데 사용되는 정책입니다.

OpenShift Container Platform

policy-advanced-managed-cluster-status

관리 허브 클러스터입니다. 관리 클러스터의 관리자입니다.

Compliance Operator

policy-compliance-operator-install

Compliance Operator를 설치하는 데 사용되는 정책입니다.

Red Hat Quay

policy-config-quay

Red Hat Quay의 구성 정책.

policy-install-quay

Red Hat Quay를 설치하는 데 사용되는 정책입니다.

policy-quay-status

Red Hat Advanced Cluster Management Hub 클러스터에 설치되어 있어야 합니다.

Red Hat Advanced Cluster Management

policy-ocm-observability

Red Hat Advanced Cluster Management observability 서비스를 설정합니다.

Red Hat OpenShift Data Platform

policy-odf

Red Hat Advanced Cluster Management observability 및 Quay에서 사용하는 허브 클러스터 구성 요소에 사용할 수 있는 스토리지입니다.

policy-odf-status

Red Hat OpenShift Data Platform 상태를 구성하는 데 사용되는 정책입니다.

2.6.14.3. 추가 리소스

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.