2.8. 보안 정책 관리


지정된 보안 표준, 카테고리 및 제어를 기반으로 클러스터 컴플라이언스를 보고하고 검증할 수 있는 보안 정책을 생성합니다.

다음 섹션을 확인합니다.

2.8.1. 보안 정책 생성

CLI(명령줄 인터페이스) 또는 콘솔에서 보안 정책을 생성할 수 있습니다.

필수 액세스: 클러스터 관리자

중요: 배치 규칙(더 이상 사용되지 않음) 또는 배치와 정책을 특정 클러스터에 적용하려면 배치 바인딩을 정의해야 합니다. Cluster selector 필드에 유효한 값을 입력하여 PlacementRule (더 이상 사용되지 않음) 또는 PlacementPlacementBinding 을 정의합니다.

유효한 표현식은 Kubernetes 문서의 세트 기반 요구 사항을 지원하는 리소스를 참조하십시오. Red Hat Advanced Cluster Management 정책에 필요한 오브젝트 정의를 확인합니다.

  • PlacementRule: 정책을 배포해야 하는 클러스터 선택기를 정의합니다.
  • PlacementBinding: 배치를 배치 규칙에 바인딩합니다.

정책 개요에서 정책 YAML 파일에 대한 자세한 설명을 확인하십시오.

2.8.1.1. 명령줄 인터페이스에서 보안 정책 생성

CLI(명령줄 인터페이스)에서 정책을 생성하려면 다음 단계를 완료합니다.

  1. 다음 명령을 실행하여 정책을 생성합니다.

    oc create -f policy.yaml -n <policy-namespace>
  2. 정책이 사용하는 템플릿을 정의합니다. 템플릿을 정의하는 policy-templates 필드를 추가하여 YAML 파일을 편집합니다. 정책은 다음 YAML 파일과 유사합니다.

    apiVersion: policy.open-cluster-management.io/v1
    kind: Policy
    metadata:
      name: policy1
    spec:
      remediationAction: "enforce" # or inform
      disabled: false # or true
      namespaceSelector:
        include:
        - "default"
        - "my-namespace"
      policy-templates:
        - objectDefinition:
            apiVersion: policy.open-cluster-management.io/v1
            kind: ConfigurationPolicy
            metadata:
              name: operator
              # namespace: # will be supplied by the controller via the namespaceSelector
            spec:
              remediationAction: "inform"
              object-templates:
              - complianceType: "musthave" # at this level, it means the role must exist and must have the following rules
                apiVersion: rbac.authorization.k8s.io/v1
                kind: Role
                metadata:
                  name: example
                objectDefinition:
                  rules:
                    - complianceType: "musthave" # at this level, it means if the role exists the rule is a musthave
                      apiGroups: ["extensions", "apps"]
                      resources: ["deployments"]
                      verbs: ["get", "list", "watch", "create", "delete","patch"]
  3. 더 이상 사용되지 않는 PlacementRule 을 정의합니다. clusterSelector 를 조정하여 정책을 적용해야 하는 클러스터를 지정하도록 PlacementRule 를 변경해야 합니다. 배치 규칙 샘플 개요보기

    참고: 대신 배치를 사용합니다.

    PlacementRule 은 다음 내용과 유사할 수 있습니다.

    apiVersion: apps.open-cluster-management.io/v1
    kind: PlacementRule
    metadata:
      name: placement1
    spec:
      clusterConditions:
        - type: ManagedClusterConditionAvailable
          status: "True"
      clusterNames:
      - "cluster1"
      - "cluster2"
    - clusterSelector
        matchLabels:
          cloud: IBM
  4. 정책을 PlacementRule 에 바인딩하도록 PlacementBinding 을 정의합니다. PlacementBinding 은 다음 YAML 샘플과 유사할 수 있습니다.

    apiVersion: policy.open-cluster-management.io/v1
    kind: PlacementBinding
    metadata:
      name: binding1
    placementRef:
      name: placement1
      apiGroup: apps.open-cluster-management.io
      kind: PlacementRule
    subjects:
    - name: policy1
      apiGroup: policy.open-cluster-management.io
      kind: Policy
2.8.1.1.1. CLI에서 보안 정책 보기

CLI에서 보안 정책을 보려면 다음 단계를 완료합니다.

  1. 다음 명령을 실행하여 특정 보안 정책에 대한 세부 정보를 확인합니다.

    oc get policies.policy.open-cluster-management.io <policy-name> -n <policy-namespace> -o yaml
  2. 다음 명령을 실행하여 보안 정책에 대한 설명을 확인합니다.

    oc describe policies.policy.open-cluster-management.io <policy-name> -n <policy-namespace>

2.8.1.2. 콘솔에서 클러스터 보안 정책 생성

Red Hat Advanced Cluster Management에 로그인한 후 관리 페이지로 이동 하여 정책 생성을 클릭합니다. 콘솔에서 새 정책을 생성하면 YAML 파일도 YAML 편집기에서 생성됩니다. YAML 편집기를 보려면 Create 정책 양식의 시작 부분에 있는 토글을 선택하여 활성화합니다.

  1. Create policy form을 완료한 후 Submit 버튼을 선택합니다. YAML 파일은 다음 정책과 유사할 수 있습니다.

    apiVersion: policy.open-cluster-management.io/v1
    kind: Policy
    metadata:
      name: policy-pod
      annotations:
        policy.open-cluster-management.io/categories: 'SystemAndCommunicationsProtections,SystemAndInformationIntegrity'
        policy.open-cluster-management.io/controls: 'control example'
        policy.open-cluster-management.io/standards: 'NIST,HIPAA'
        policy.open-cluster-management.io/description:
    spec:
      complianceType: musthave
      namespaces:
        exclude: ["kube*"]
        include: ["default"]
        pruneObjectBehavior: None
      object-templates:
      - complianceType: musthave
        objectDefinition:
          apiVersion: v1
          kind: Pod
          metadata:
            name: pod1
          spec:
            containers:
            - name: pod-name
              image: 'pod-image'
              ports:
              - containerPort: 80
      remediationAction: enforce
      disabled: false

    다음 PlacementBinding 예제를 참조하십시오.

    apiVersion: apps.open-cluster-management.io/v1
    kind: PlacementBinding
    metadata:
      name: binding-pod
    placementRef:
      name: placement-pod
      kind: PlacementRule
      apiGroup: apps.open-cluster-management.io
    subjects:
    - name: policy-pod
      kind: Policy
      apiGroup: policy.open-cluster-management.io

    다음 PlacementRule 예제를 참조하십시오.

    apiVersion: apps.open-cluster-management.io/v1
     kind: PlacementRule
     metadata:
       name: placement-pod
    spec:
      clusterConditions: []
      clusterSelector:
         matchLabels:
           cloud: "IBM"
  2. 선택 사항: 정책에 대한 설명을 추가합니다.
  3. 정책 생성을 클릭합니다. 콘솔에서 보안 정책을 생성합니다.
2.8.1.2.1. 콘솔에서 보안 정책 보기

콘솔에서 모든 보안 정책 및 상태를 확인합니다.

  1. Governance 페이지로 이동하여 정책의 테이블 목록을 확인합니다. 참고: 정책 탭 또는 클러스터 위반 탭을 선택하여 정책의 표 목록을 필터링할 수 있습니다.
  2. 자세한 내용을 보려면 정책 중 하나를 선택합니다. 세부 정보 , 클러스터템플릿 탭이 표시됩니다. 클러스터 또는 정책 상태를 확인할 수 없는 경우 다음 메시지가 표시됩니다. 상태 없음.
  3. 또는 Policies 탭을 선택하여 정책 목록을 확인합니다. 정책 행을 확장하여 Description,Standards,ControlsCategories 세부 정보를 확인합니다.

2.8.1.3. CLI에서 정책 세트 생성

기본적으로 정책 세트는 정책 또는 배치 없이 생성됩니다. 정책 세트에 대한 배치를 생성하고 클러스터에 존재하는 정책이 하나 이상 있어야 합니다. 정책 세트를 생성하면 다양한 정책을 추가할 수 있습니다.

다음 명령을 실행하여 CLI에서 설정된 정책을 생성합니다.

oc apply -f <policyset-filename>

2.8.1.4. 콘솔에서 정책 세트 생성

  1. 탐색 메뉴에서 Governance 를 선택합니다.
  2. 정책 설정 탭을 선택합니다.
  3. Create policy set 버튼을 선택하고 양식을 작성합니다.
  4. 정책 세트 세부 정보를 추가하고 Submit 버튼을 선택합니다.
  5. 배포를 위해 정책 생성기가 필요한 안정적인 정책 세트 보기, PolicySets- Stable.

2.8.2. 보안 정책 업데이트

보안 정책을 업데이트하는 방법을 알아봅니다.

2.8.2.1. CLI에서 설정된 정책에 정책 추가

  1. 다음 명령을 실행하여 정책 세트를 편집합니다.

    oc edit policysets <your-policyset-name>
  2. 정책 세트의 policies 섹션에 정책 이름을 추가합니다.
  3. 다음 명령을 사용하여 정책의 배치 섹션에 추가된 정책을 적용합니다.
oc apply -f <your-added-policy.yaml>

PlacementBindingPlacementRule 이 모두 생성됩니다.

참고: 배치 바인딩을 삭제하면 정책 세트에 따라 정책이 계속 배치됩니다.

2.8.2.2. 콘솔에서 설정된 정책에 정책 추가

  1. Policy sets 탭을 선택하여 설정된 정책에 정책을 추가합니다.
  2. 작업 아이콘을 선택하고 편집 을 선택합니다. Edit policy set form이 나타납니다.
  3. 양식의 Policies 섹션으로 이동하여 정책 세트에 추가할 정책을 선택합니다.

2.8.2.3. 보안 정책 비활성화

정책은 기본적으로 활성화되어 있습니다. 콘솔에서 정책을 비활성화합니다.

Kubernetes 콘솔의 Red Hat Advanced Cluster Management에 로그인한 후 Governance 페이지로 이동하여 정책의 표 목록을 확인합니다.

Actions 아이콘 > Disable policy 를 선택합니다. 정책 비활성화 대화 상자가 나타납니다.

Disable policy 를 클릭합니다. 정책이 비활성화되어 있습니다.

2.8.3. 보안 정책 삭제

CLI 또는 콘솔에서 보안 정책을 삭제합니다.

  • CLI에서 보안 정책을 삭제합니다.

    1. 다음 명령을 실행하여 보안 정책을 삭제합니다.

      oc delete policies.policy.open-cluster-management.io <policy-name> -n <policy-namespace>

      정책이 삭제되면 대상 클러스터 또는 클러스터에서 제거됩니다. oc get policies.policy.open-cluster-management.io <policy-name> -n <policy-namespace> 명령을 실행하여 정책이 제거되었는지 확인합니다.

  • 콘솔에서 보안 정책을 삭제합니다.

    탐색 메뉴에서 Governance 를 클릭하여 정책의 테이블 목록을 확인합니다. 정책 위반 테이블에서 삭제할 정책의 Actions 아이콘을 클릭합니다.

    제거를 클릭합니다. 정책 제거 대화 상자에서 정책 제거를 클릭합니다.

2.8.3.1. 콘솔에서 정책 세트 삭제

  1. Policy sets 탭에서 정책 세트의 Actions 아이콘을 선택합니다. 삭제 를 클릭하면 정책 집합을 영구적으로 삭제하시겠습니까? 대화 상자가 나타납니다.
  2. 삭제 버튼을 클릭합니다.

다른 정책을 관리하려면 자세한 내용은 보안 정책 관리를 참조하십시오. 정책에 대한 자세한 내용은 감독을 참조하십시오.

2.8.4. 정책으로 생성된 리소스 정리

구성 정책에서 pruneObject& gt;-< 매개변수를 사용하여 정책에서 생성한 리소스를 정리합니다. pruneObject >-<이 설정되어 있는 경우 관련 오브젝트는 연결된 구성 정책(또는 상위 정책)이 삭제된 후에만 정리됩니다.

매개변수에 사용할 수 있는 값에 대한 다음 설명을 확인합니다.

  • DeleteIfCreated: 정책으로 생성된 모든 리소스를 정리합니다.
  • DeleteAll: 정책이 관리하는 모든 리소스를 정리합니다.
  • none: 기본값이며 관련 리소스가 삭제되지 않는 이전 릴리스와 동일한 동작을 유지합니다.

명령줄에서 정책을 생성할 때 YAML 파일에서 직접 값을 설정할 수 있습니다.

콘솔에서 정책 템플릿 단계의 Prune Object Behavior 섹션에서 값을 선택할 수 있습니다.

참고:

  • Operator를 설치하는 정책에 pruneObject >-< 매개변수가 정의되어 있으면 Operator 제거를 완료하기 위해 추가 정리가 필요합니다. 이 정리의 일부로 Operator ClusterServiceVersion 오브젝트를 삭제해야 할 수 있습니다.
  • 관리형 클러스터에서 config-policy-addon 리소스를 비활성화하면 pruneObjbectECDHE가 무시됩니다. 정책의 관련 리소스를 자동으로 정리하려면 애드온을 비활성화하기 전에 관리 클러스터에서 정책을 제거해야 합니다.

2.8.5. 구성 정책 관리

구성 정책 생성, 적용, 보기 및 업데이트 방법을 학습합니다.

필수 액세스: 관리자 또는 클러스터 관리자

2.8.5.1. 구성 정책 생성

CLI(명령줄 인터페이스) 또는 콘솔에서 구성 정책에 대한 YAML 파일을 생성할 수 있습니다.

기존 Kubernetes 매니페스트가 있는 경우 정책 생성기를 사용하여 매니페스트를 정책에 자동으로 포함하는 것이 좋습니다. 정책 생성기 설명서를 참조하십시오. 다음 섹션을 보고 구성 정책을 생성합니다.

2.8.5.1.1. CLI에서 구성 정책 생성

(CLI)에서 구성 정책을 생성하려면 다음 단계를 완료합니다.

  1. 구성 정책에 대한 YAML 파일을 생성합니다. 다음 명령을 실행합니다.

    oc create -f configpolicy-1.yaml

    구성 정책은 다음 정책과 유사할 수 있습니다.

    apiVersion: policy.open-cluster-management.io/v1
    kind: Policy
    metadata:
      name: policy-1
      namespace: my-policies
    policy-templates:
    - apiVersion: policy.open-cluster-management.io/v1
      kind: ConfigurationPolicy
      metadata:
        name: mustonlyhave-configuration
      spec:
        namespaceSelector:
          include: ["default"]
          exclude: ["kube-system"]
        remediationAction: inform
        disabled: false
        complianceType: mustonlyhave
        object-templates:
  2. 다음 명령을 실행하여 정책을 적용합니다.

    oc apply -f <policy-file-name>  --namespace=<namespace>
  3. 다음 명령을 실행하여 정책을 확인하고 나열합니다.

    oc get policies.policy.open-cluster-management.io --namespace=<namespace>

구성 정책이 생성됩니다.

2.8.5.1.2. CLI에서 구성 정책 보기

CLI에서 구성 정책을 보려면 다음 단계를 완료합니다.

  1. 다음 명령을 실행하여 특정 구성 정책에 대한 세부 정보를 확인합니다.

    oc get policies.policy.open-cluster-management.io <policy-name> -n <namespace> -o yaml
  2. 다음 명령을 실행하여 구성 정책에 대한 설명을 확인합니다.

    oc describe policies.policy.open-cluster-management.io <name> -n <namespace>
2.8.5.1.3. 콘솔에서 구성 정책 생성

콘솔에서 구성 정책을 생성하면 YAML 파일도 YAML 편집기에서 생성됩니다.

  1. 콘솔에서 클러스터에 로그인하고 탐색 메뉴에서 Governance 를 선택합니다.
  2. 정책 생성을 클릭합니다. 사양 매개변수에 대한 구성 정책 중 하나를 선택하여 생성할 정책을 지정합니다.
  3. 정책 양식을 작성하여 구성 정책 생성을 계속합니다. 다음 필드에 적절한 값을 입력하거나 선택합니다.

    • 이름
    • 사양
    • 클러스터 선택기
    • 수정 작업
    • 표준
    • 카테고리
    • 제어
  4. 생성을 클릭합니다. 구성 정책이 생성됩니다.
2.8.5.1.4. 콘솔에서 구성 정책 보기

콘솔에서 모든 구성 정책 및 해당 상태를 확인합니다.

콘솔에서 클러스터에 로그인한 후 Governance 를 선택하여 정책의 테이블 목록을 확인합니다. 참고: 모든 정책 탭 또는 클러스터 위반 탭을 선택하여 정책의 표 목록을 필터링할 수 있습니다.

자세한 내용을 보려면 정책 중 하나를 선택합니다. 세부 정보 , 클러스터템플릿 탭이 표시됩니다.

2.8.5.2. 구성 정책 업데이트

다음 섹션을 확인하여 구성 정책을 업데이트하는 방법을 알아봅니다.

2.8.5.2.1. 구성 정책 비활성화

구성 정책을 비활성화합니다. 앞에서 언급한 명령과 유사하게 로그인하고 Governance 페이지로 이동하여 작업을 완료합니다.

  1. 테이블 목록에서 구성 정책의 Actions 아이콘을 선택한 다음 Disable 를 클릭합니다. 정책 비활성화 대화 상자가 나타납니다.
  2. Disable policy 를 클릭합니다.

정책이 비활성화되었지만 삭제되지는 않습니다.

2.8.5.3. 구성 정책 삭제

CLI 또는 콘솔에서 구성 정책을 삭제합니다.

  • 다음 절차에 따라 CLI에서 구성 정책을 삭제합니다.

    1. 다음 명령을 실행하여 대상 클러스터 또는 클러스터에서 정책을 삭제합니다.

      oc delete policies.policy.open-cluster-management.io <policy-name> -n <namespace>
    2. 다음 명령을 실행하여 정책이 제거되었는지 확인합니다.
    oc get policies.policy.open-cluster-management.io <policy-name> -n <namespace>
  • 다음 절차를 사용하여 콘솔에서 구성 정책을 삭제합니다.

    1. 탐색 메뉴에서 Governance 를 클릭하여 정책의 테이블 목록을 확인합니다.
    2. 정책 위반 테이블에서 삭제할 정책의 Actions 아이콘을 클릭한 다음 제거를 클릭합니다.
    3. 정책 제거 대화 상자에서 정책 제거를 클릭합니다.

정책이 삭제됩니다.

CM-Configuration-Management 폴더 에서 Red Hat Advanced Cluster Management에서 지원하는 구성 정책 샘플을 참조하십시오.

또는 샘플 구성 정책 표를 참조하여 컨트롤러에서 모니터링하는 다른 구성 정책을 볼 수 있습니다. 다른 정책을 관리하는 방법에 대한 자세한 내용은 보안 정책 관리를 참조하십시오.

2.8.6. Gatekeeper operator 정책 관리

Gatekeeper operator 정책을 사용하여 관리 클러스터에 Gatekeeper Operator 및 Gatekeeper를 설치합니다. 다음 섹션에서 Gatekeeper Operator 정책을 생성, 보기 및 업데이트하는 방법을 알아봅니다.

필수 액세스: 클러스터 관리자

2.8.6.1. Gatekeeper Operator 정책을 사용하여 Gatekeeper 설치

거버넌스 프레임워크를 사용하여 Gatekeeper Operator를 설치합니다. 게이트키퍼 Operator는 OpenShift Container Platform 카탈로그에서 사용할 수 있습니다. 자세한 내용은 OpenShift Container Platform 설명서에서 클러스터에 Operator 추가 를 참조하십시오.

구성 정책 컨트롤러를 사용하여 Gatekeeper Operator 정책을 설치합니다. 설치 중에 운영자 그룹과 구독은 Gatekeeper Operator를 가져와서 관리 클러스터에 설치합니다. 그런 다음 Gatekeeper Operator는 게이트키퍼(Gatekeeper) 사용자 지정 리소스를 생성하여 Gatekeeper를 구성합니다. Gatekeeper Operator 사용자 정의 리소스 샘플을 확인합니다.

게이트키퍼 운영자 정책은 적용 작업을 지원하는 Red Hat Advanced Cluster Management 구성 정책 컨트롤러에서 모니터링합니다. 게이트키퍼 운영자 정책은 강제 적용이 설정된 경우 컨트롤러에서 자동으로 생성합니다.

2.8.6.2. 콘솔에서 Gatekeeper 정책 생성

콘솔에서 Gatekeeper 정책을 생성하여 Gatekeeper 정책을 설치합니다. 또는 샘플 YAML에 대한 참조를 위해 추가 리소스 섹션으로 이동하여 policy-gatekeeper-operator.yaml 을 배포합니다.

클러스터에 로그인한 후 Governance 페이지로 이동합니다.

정책 생성을 선택합니다. 양식을 작성할 때 사양 필드에서 Gatekeeper Operator 를 선택합니다. 정책의 매개변수 값은 자동으로 채워지고 정책이 기본적으로 알림 으로 설정됩니다. Gatekeeper를 설치하도록 적용하도록 수정 작업을 설정합니다.

참고: Operator에서 기본값을 생성합니다.

2.8.6.2.1. 게이트 키퍼 Operator 사용자 정의 리소스
apiVersion: operator.gatekeeper.sh/v1alpha1
kind: Gatekeeper
metadata:
  name: gatekeeper
spec:
  audit:
    replicas: 1
    logLevel: DEBUG
    auditInterval: 10s
    constraintViolationLimit: 55
    auditFromCache: Enabled
    auditChunkSize: 66
    emitAuditEvents: Enabled
    resources:
      limits:
        cpu: 500m
        memory: 150Mi
      requests:
        cpu: 500m
        memory: 130Mi
  validatingWebhook: Enabled
  webhook:
    replicas: 2
    logLevel: ERROR
    emitAdmissionEvents: Enabled
    failurePolicy: Fail
    resources:
      limits:
        cpu: 480m
        memory: 140Mi
      requests:
        cpu: 400m
        memory: 120Mi
  nodeSelector:
    region: "EMEA"
  affinity:
    podAffinity:
      requiredDuringSchedulingIgnoredDuringExecution:
        - labelSelector:
            matchLabels:
              auditKey: "auditValue"
          topologyKey: topology.kubernetes.io/zone
  tolerations:
    - key: "Example"
      operator: "Exists"
      effect: "NoSchedule"
  podAnnotations:
    some-annotation: "this is a test"
    other-annotation: "another test"

2.8.6.3. 업그레이드 Gatekeeper 및 Gatekeeper operator

Gatekeeper 및 Gatekeeper Operator의 버전을 업그레이드할 수 있습니다. Gatekeeper Operator 정책을 사용하여 Gatekeeper Operator를 설치할 때 installPlanApproval 의 값을 확인합니다. installPlanApproval 이 자동으로 설정된 경우 Operator 업그레이드가 자동으로 수행됩니다.

installPlanApprovalManual 로 설정된 경우 각 클러스터에 대해 Gatekeeper Operator의 업그레이드를 수동으로 승인해야 합니다.

2.8.6.4. Gatekeeper operator 정책 업데이트

다음 섹션을 확인하여 Gatekeeper operator 정책을 업데이트하는 방법을 알아보십시오.

2.8.6.4.1. 콘솔에서 Gatekeeper operator 정책 보기

Gatekeeper operator 정책 및 콘솔에서 해당 상태를 확인합니다.

콘솔에서 클러스터에 로그인한 후 Governance 를 클릭하여 정책의 테이블 목록을 확인합니다. 참고: 정책 탭 또는 클러스터 위반 탭을 선택하여 정책의 표 목록을 필터링할 수 있습니다.

자세한 내용을 보려면 policy-gatekeeper-operator 정책을 선택합니다. Clusters 탭을 선택하여 정책 위반을 확인합니다.

2.8.6.4.2. Gatekeeper operator 정책 비활성화

게이트키퍼 운영자 정책을 비활성화합니다.

Kubernetes 콘솔의 Red Hat Advanced Cluster Management에 로그인한 후 Governance 페이지로 이동하여 정책의 표 목록을 확인합니다.

policy-gatekeeper-operator 정책의 Actions 아이콘을 선택한 다음 Disable 를 클릭합니다. 정책 비활성화 대화 상자가 나타납니다.

Disable policy 를 클릭합니다. policy-gatekeeper-operator 정책이 비활성화되어 있습니다.

2.8.6.5. Gatekeeper operator 정책 삭제

CLI 또는 콘솔에서 Gatekeeper Operator 정책을 삭제합니다.

  • CLI에서 Gatekeeper Operator 정책을 삭제합니다.

    1. 다음 명령을 실행하여 Gatekeeper Operator 정책을 삭제합니다.

      oc delete policies.policy.open-cluster-management.io <policy-gatekeeper-operator-name> -n <namespace>

      정책이 삭제되면 대상 클러스터 또는 클러스터에서 제거됩니다.

    2. 다음 명령을 실행하여 정책이 제거되었는지 확인합니다.

      oc get policies.policy.open-cluster-management.io <policy-gatekeeper-operator-name> -n <namespace>
  • 콘솔에서 Gatekeeper operator 정책 삭제:

    Governance 페이지로 이동하여 정책의 테이블 목록을 확인합니다.

    이전 콘솔 지침과 유사하게 policy-gatekeeper-operator 정책의 Actions 아이콘을 클릭합니다. 제거를 클릭하여 정책을 삭제합니다. 정책 제거 대화 상자에서 정책 제거를 클릭합니다.

Gatekeeper operator 정책이 삭제됩니다.

2.8.6.6. Gatekeeper 정책, 게이트키퍼, 게이트키퍼 운영자 정책 설치 제거

Gatekeeper 정책, Gatekeeper 및 Gatekeeper operator 정책을 제거하려면 다음 단계를 완료합니다.

  1. 관리 클러스터에 적용되는 Gatekeeper ConstraintConstraintTemplate 을 제거합니다.

    1. Gatekeeper operator 정책을 편집합니다. Gatekeeper ConstraintConstraintTemplate 을 생성하는 데 사용한 ConfigurationPolicy 템플릿을 찾습니다.
    2. ConfigurationPolicy 템플릿의 complianceType 값을 mustnothave 로 변경합니다.
    3. 정책을 저장하고 적용합니다.
  2. 관리 클러스터에서 Gatekeeper 인스턴스를 제거합니다.

    1. Gatekeeper operator 정책을 편집합니다. Gatekeeper 사용자 정의 리소스를 생성하는 데 사용한 ConfigurationPolicy 템플릿을 찾습니다.
    2. ConfigurationPolicy 템플릿의 complianceType 값을 mustnothave 로 변경합니다.
  3. 관리형 클러스터에 있는 Gatekeeper Operator를 제거합니다.

    1. Gatekeeper operator 정책을 편집합니다. Subscription CR을 생성하는 데 사용한 ConfigurationPolicy 템플릿을 찾습니다.
    2. ConfigurationPolicy 템플릿의 complianceType 값을 mustnothave 로 변경합니다.

게이트키퍼 정책, 게이트키퍼, 게이트키퍼 운영자 정책이 제거됩니다.

2.8.6.7. 추가 리소스

2.8.7. 연결이 끊긴 환경에서 Operator 정책 관리

인터넷에 연결되지 않은 (연결 끊기) Red Hat OpenShift Container Platform 클러스터에 Kubernetes 정책용 Red Hat Advanced Cluster Management를 배포해야 할 수 있습니다. Operator Lifecycle Manager Operator를 설치하는 정책을 배포하는 데 배포하는 정책이 사용되는 경우 Operator 카탈로그 미러링 절차를 따라야 합니다.

Operator 이미지에 대한 액세스 권한을 검증하려면 다음 단계를 완료합니다.

  1. 정책에 사용해야 하는 패키지를 사용할 수 있는지 확인하려면 Check required packages are available을 참조하십시오. 다음 정책이 배포된 관리형 클러스터에서 사용하는 각 이미지 레지스트리의 가용성을 검증해야 합니다.

    • container-security-operator
    • 더 이상 사용되지 않음: gatekeeper-operator-product
    • compliance-operator
  2. 소스를 사용할 수 있는지 확인하려면 이미지 콘텐츠 소스 정책 구성을 참조하십시오. 이미지 콘텐츠 소스 정책은 연결이 끊긴 각 관리 클러스터에 있어야 프로세스를 단순화하기 위해 정책을 사용하여 배포할 수 있습니다. 다음 이미지 소스 위치 표를 참조하십시오.

    거버넌스 정책 유형이미지 소스 위치

    컨테이너 보안

    registry.redhat.io/quay

    컴플라이언스

    registry.redhat.io/compliance

    게이트 키퍼

    registry.redhat.io/rhacm2

2.8.8. 정책 세트를 사용하여 Red Hat OpenShift Platform Plus 설치

Red Hat Openshift Platform Plus 정책 세트를 적용하기 위한 지침을 계속 읽습니다. Red Hat OpenShift 정책 세트를 적용하면 Red Hat Advanced Cluster Security 보안 클러스터 서비스와 Compliance Operator가 모든 OpenShift Container Platform 관리 클러스터에 배포됩니다.

2.8.8.1. 사전 요구 사항

정책 세트를 적용하기 전에 다음 단계를 완료합니다.

  1. 서브스크립션을 클러스터에 적용할 수 있도록 하려면 policy-configure-subscription-admin-hub.yaml 정책을 적용하고 적용하도록 수정 작업을 설정해야 합니다. 다음 YAML을 복사하여 콘솔의 YAML 편집기에 붙여넣습니다.

    apiVersion: policy.open-cluster-management.io/v1
    kind: Policy
    metadata:
      name: policy-configure-subscription-admin-hub
      annotations:
        policy.open-cluster-management.io/standards: NIST SP 800-53
        policy.open-cluster-management.io/categories: CM Configuration Management
        policy.open-cluster-management.io/controls: CM-2 Baseline Configuration
    spec:
      remediationAction: inform
      disabled: false
      policy-templates:
        - objectDefinition:
            apiVersion: policy.open-cluster-management.io/v1
            kind: ConfigurationPolicy
            metadata:
              name: policy-configure-subscription-admin-hub
            spec:
              remediationAction: inform
              severity: low
              object-templates:
                - complianceType: musthave
                  objectDefinition:
                    apiVersion: rbac.authorization.k8s.io/v1
                    kind: ClusterRole
                    metadata:
                      name: open-cluster-management:subscription-admin
                    rules:
                    - apiGroups:
                      - app.k8s.io
                      resources:
                      - applications
                      verbs:
                      - '*'
                    - apiGroups:
                      - apps.open-cluster-management.io
                      resources:
                      - '*'
                      verbs:
                      - '*'
                    - apiGroups:
                      - ""
                      resources:
                      - configmaps
                      - secrets
                      - namespaces
                      verbs:
                      - '*'
                - complianceType: musthave
                  objectDefinition:
                    apiVersion: rbac.authorization.k8s.io/v1
                    kind: ClusterRoleBinding
                    metadata:
                      name: open-cluster-management:subscription-admin
                    roleRef:
                      apiGroup: rbac.authorization.k8s.io
                      kind: ClusterRole
                      name: open-cluster-management:subscription-admin
                    subjects:
                    - apiGroup: rbac.authorization.k8s.io
                      kind: User
                      name: kube:admin
                    - apiGroup: rbac.authorization.k8s.io
                      kind: User
                      name: system:admin
    ---
    apiVersion: policy.open-cluster-management.io/v1
    kind: PlacementBinding
    metadata:
      name: binding-policy-configure-subscription-admin-hub
    placementRef:
      name: placement-policy-configure-subscription-admin-hub
      kind: PlacementRule
      apiGroup: apps.open-cluster-management.io
    subjects:
    - name: policy-configure-subscription-admin-hub
      kind: Policy
      apiGroup: policy.open-cluster-management.io
    ---
    apiVersion: apps.open-cluster-management.io/v1
    kind: PlacementRule
    metadata:
      name: placement-policy-configure-subscription-admin-hub
    spec:
      clusterConditions:
      - status: "True"
        type: ManagedClusterConditionAvailable
      clusterSelector:
        matchExpressions:
          - {key: name, operator: In, values: ["local-cluster"]}
  2. 명령줄 인터페이스에서 이전 YAML을 적용하려면 다음 명령을 실행합니다.

    oc apply -f policy-configure-subscription-admin-hub.yaml
  3. Policy Generator kustomize 플러그인을 설치합니다. Kustomize v4.5 이상을 사용합니다. Operator를 설치하기 위한 정책 생성을 참조하십시오.
  4. 정책은 정책 네임스페이스에 설치됩니다. 해당 네임스페이스를 ClusterSet 에 바인딩해야 합니다. 예를 들어 다음 예제 YAML을 복사하고 적용하여 네임스페이스를 기본 ClusterSet 에 바인딩합니다.

    apiVersion: cluster.open-cluster-management.io/v1beta2
    kind: ManagedClusterSetBinding
    metadata:
        name: default
        namespace: policies
    spec:
        clusterSet: default
  5. 다음 명령을 실행하여 명령줄 인터페이스에서 ManagedClusterSetBinding 리소스를 적용합니다.

    oc apply -f managed-cluster.yaml

사전 요구 사항을 충족한 후 정책 세트를 적용할 수 있습니다.

2.8.8.2. Red Hat OpenShift Platform Plus 정책 세트 적용

  1. Red Hat OpenShift Plus에 대한 사전 요구 사항 구성이 포함된 openshift-plus/policyGenerator.yaml 파일을 사용합니다. openshift-plus/policyGenerator.yaml 을 참조하십시오.
  2. kustomize 명령을 사용하여 허브 클러스터에 정책을 적용합니다.

    kustomize build --enable-alpha-plugins  | oc apply -f -

    참고: 설치하지 않으려는 OpenShift Platform Plus의 구성 요소의 경우 policyGenerator.yaml 파일을 편집하고 해당 구성 요소의 정책을 제거하거나 주석 처리합니다.

2.8.8.3. 추가 리소스

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.