4.15. 보안 정책 관리
지정된 보안 표준, 카테고리 및 제어에 따라 클러스터 규정 준수를 보고하고 검증하는 보안 정책을 만듭니다.
다음 섹션을 확인합니다.
4.15.1. 보안 정책 생성 링크 복사링크가 클립보드에 복사되었습니다!
명령줄 또는 콘솔에서 보안 정책을 생성할 수 있습니다.
필수 액세스: 클러스터 관리자
중요: * 특정 클러스터에 정책을 적용하려면 배치 및 배치 바인딩을 정의해야 합니다. placement Binding 리소스는 배치를
바인딩합니다. 클러스터 라벨 선택기 필드에 유효한 값을 입력하여 Placement
및 PlacementBinding
리소스를 정의합니다. * 배치
리소스를 사용하려면 ManagedClusterSet
리소스를 ManagedClusterSetBinding
리소스를 사용하여 배치
리소스의 네임스페이스에 바인딩해야 합니다. 자세한 내용은 Creating a ManagedClusterSetBinding 리소스 를 참조하십시오.
4.15.1.1. 명령줄 인터페이스에서 보안 정책 생성 링크 복사링크가 클립보드에 복사되었습니다!
명령줄에서 정책을 생성하려면 다음 단계를 완료합니다.
다음 명령을 실행하여 정책을 생성합니다.
oc create -f policy.yaml -n <policy-namespace>
oc create -f policy.yaml -n <policy-namespace>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 정책에서 사용하는 템플릿을 정의합니다. 템플릿을 정의하는
policy-templates
필드를 추가하여 YAML 파일을 편집합니다. 정책은 다음 YAML 파일과 유사할 수 있습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 정책을 배치 리소스에 바인딩할
Placement
BindingPlacementBinding
리소스는 다음 YAML 샘플과 유사할 수 있습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.15.1.1.1. 명령줄에서 보안 정책 보기 링크 복사링크가 클립보드에 복사되었습니다!
명령줄에서 보안 정책을 보려면 다음 단계를 완료합니다.
다음 명령을 실행하여 특정 보안 정책에 대한 세부 정보를 확인합니다.
oc get policies.policy.open-cluster-management.io <policy-name> -n <policy-namespace> -o yaml
oc get policies.policy.open-cluster-management.io <policy-name> -n <policy-namespace> -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 보안 정책에 대한 설명을 확인합니다.
oc describe policies.policy.open-cluster-management.io <policy-name> -n <policy-namespace>
oc describe policies.policy.open-cluster-management.io <policy-name> -n <policy-namespace>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.15.1.2. 콘솔에서 클러스터 보안 정책 생성 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat Advanced Cluster Management에 로그인한 후 Governance 페이지로 이동하여 Create policy 를 클릭합니다. 콘솔에서 새 정책을 생성하면 YAML 편집기에도 YAML 파일이 생성됩니다. YAML 편집기를 보려면 Create policy 양식 시작 시 토글을 선택하여 활성화합니다.
Create policy 양식을 작성한 다음 Submit (제출) 버튼을 선택합니다. YAML 파일은 다음 정책과 유사할 수 있습니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음
PlacementBinding
예제를 참조하십시오.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음
배치
예제를 참조하십시오.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 선택 사항: 정책에 대한 설명을 추가합니다.
- 정책 생성을 클릭합니다. 콘솔에서 보안 정책이 생성됩니다.
4.15.1.2.1. 콘솔에서 보안 정책 보기 링크 복사링크가 클립보드에 복사되었습니다!
콘솔에서 보안 정책 및 상태를 확인합니다.
- Governance 페이지로 이동하여 정책의 테이블 목록을 확인합니다. 참고: 정책 탭 또는 클러스터 위반 탭을 선택하여 정책의 테이블 목록을 필터링할 수 있습니다.
-
자세한 내용을 보려면 정책 중 하나를 선택합니다. 세부 정보 , 클러스터 및 템플릿 탭이 표시됩니다. 클러스터 또는 정책 상태를 확인할 수 없는 경우 다음 메시지가 표시됩니다.
상태가 없습니다
. - 또는 Policies 탭을 선택하여 정책 목록을 확인합니다. 정책 행을 확장하여 Description,Standards,Controls 및 Categories 세부 정보를 확인합니다.
4.15.1.3. 명령줄에서 정책 세트 생성 링크 복사링크가 클립보드에 복사되었습니다!
기본적으로 정책 세트는 정책 또는 배치 없이 생성됩니다. 정책 세트에 대한 배치를 생성하고 클러스터에 존재하는 정책이 하나 이상 있어야 합니다. 정책 세트를 만들 때 다양한 정책을 추가할 수 있습니다.
다음 명령을 실행하여 명령줄에서 정책 세트를 생성합니다.
oc apply -f <policyset-filename>
oc apply -f <policyset-filename>
4.15.1.4. 콘솔에서 정책 세트 생성 링크 복사링크가 클립보드에 복사되었습니다!
- 탐색 메뉴에서 Governance 를 선택합니다.
- 정책 세트 탭을 선택합니다.
- Create policy set 버튼을 선택하고 양식을 작성합니다.
- 정책 세트에 대한 세부 정보를 추가하고 Submit (제출) 버튼을 선택합니다.
정책 테이블에는 정책이 나열됩니다.
4.15.2. 보안 정책 업데이트 링크 복사링크가 클립보드에 복사되었습니다!
보안 정책을 업데이트하는 방법을 알아봅니다.
4.15.2.1. 명령줄에서 정책 세트에 정책 추가 링크 복사링크가 클립보드에 복사되었습니다!
다음 명령을 실행하여 정책 세트를 편집합니다.
oc edit policysets <your-policyset-name>
oc edit policysets <your-policyset-name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
정책 세트의
policies
섹션에 정책 이름을 추가합니다. - 다음 명령을 사용하여 정책 세트의 placement 섹션에 추가된 정책을 적용합니다.
oc apply -f <your-added-policy.yaml>
oc apply -f <your-added-policy.yaml>
배치 바인딩
및 배치
가 모두 생성됩니다.
참고: 배치 바인딩을 삭제하면 정책 세트에 의해 정책이 여전히 배치됩니다.
4.15.2.2. 콘솔에서 정책 세트에 정책 추가 링크 복사링크가 클립보드에 복사되었습니다!
- 정책 세트 탭을 선택하여 설정된 정책에 정책을 추가합니다.
- 작업 아이콘을 선택하고 편집을 선택합니다. Edit policy set form이 표시됩니다.
- 양식의 Policies 섹션으로 이동하여 정책 세트에 추가할 정책을 선택합니다.
4.15.2.3. 보안 정책 비활성화 링크 복사링크가 클립보드에 복사되었습니다!
정책은 기본적으로 활성화되어 있습니다. 콘솔에서 정책을 비활성화합니다.
Red Hat Advanced Cluster Management for Kubernetes 콘솔에 로그인한 후 Governance 페이지로 이동하여 정책 테이블 목록을 확인합니다.
작업 아이콘 > 정책 비활성화를 선택합니다. 정책 비활성화 대화 상자가 표시됩니다.
정책 비활성화 를 클릭합니다. 정책이 비활성화되어 있습니다.
4.15.3. 보안 정책 삭제 링크 복사링크가 클립보드에 복사되었습니다!
명령줄 또는 콘솔에서 보안 정책을 삭제합니다.
다음 절차를 사용하여 명령줄에서 삭제합니다.
다음 명령을 실행하여 보안 정책을 삭제합니다.
oc delete policies.policy.open-cluster-management.io <policy-name> -n <policy-namespace>
oc delete policies.policy.open-cluster-management.io <policy-name> -n <policy-namespace>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
다음 명령을 실행하여 정책이 제거되었는지 확인합니다.
oc get policies.open-cluster-management.io <policy-name> -n <policy-namespace
>
콘솔에서 보안 정책을 삭제하려면 다음 절차를 사용하십시오.
- 탐색 메뉴에서 Governance 를 클릭하여 정책의 테이블 목록을 확인합니다.
- 정책 위반 테이블에서 삭제할 정책의 작업 아이콘을 클릭합니다.
- 제거를 클릭합니다.
- 정책 제거 대화 상자에서 정책 제거를 클릭합니다.
4.15.3.1. 콘솔에서 정책 세트 삭제 링크 복사링크가 클립보드에 복사되었습니다!
- Policy sets 탭에서 정책 세트의 Actions 아이콘을 선택합니다. 삭제 를 클릭하면 정책 집합을 영구적으로 삭제하시겠습니까? 대화 상자가 표시됩니다.
- Delete 버튼을 클릭합니다.
4.15.4. 정책에 의해 생성된 리소스 정리 링크 복사링크가 클립보드에 복사되었습니다!
구성 정책에서 pruneObjectBehavior
매개변수를 사용하여 정책에서 생성한 리소스를 정리합니다. pruneObjectBehavior
가 설정되면 연결된 구성 정책(또는 상위 정책)이 삭제된 후에만 관련 오브젝트가 정리됩니다.
매개변수에 사용할 수 있는 값에 대한 다음 설명을 확인합니다.
-
DeleteIfCreated
: 정책에서 생성한 모든 리소스를 정리합니다. -
DeleteAll
: 정책에서 관리하는 모든 리소스를 정리합니다. -
none
: 이는 기본값이며 관련 리소스가 삭제되지 않은 이전 릴리스와 동일한 동작을 유지합니다.
명령줄에서 정책을 생성할 때 YAML 파일에서 직접 값을 설정할 수 있습니다.
콘솔에서 정책 템플릿 단계의 Prune Object Behavior 섹션에서 값을 선택할 수 있습니다.
참고:
-
Operator를 설치하는 정책에
pruneObjectBehavior
매개변수가 정의된 경우 Operator 제거를 완료하려면 추가 정리가 필요합니다. 이 정리의 일부로 OperatorClusterServiceVersion
오브젝트를 삭제해야 할 수 있습니다. -
관리 클러스터에서
config-policy-addon
리소스를 비활성화하면pruneObjbectBehavior
가 무시됩니다. 정책에서 관련 리소스를 자동으로 정리하려면 애드온을 비활성화하기 전에 관리 클러스터에서 정책을 제거해야 합니다.
4.15.5. 정책 명령줄 도구 링크 복사링크가 클립보드에 복사되었습니다!
policytools
명령줄 툴을 사용하면 로컬에서 정책과 상호 작용하여 생성 및 디버깅에 도움이 될 수 있습니다. policytools
명령줄 툴은 허브 클러스터 콘솔에서 다운로드할 수 있습니다. 명령줄 툴 을 참조하십시오.
template-resolver
template-resolver
는 정책에 포함된 관리 클러스터 및 허브 클러스터 템플릿을 확인하는policytools
의 하위 명령입니다.template-resolver
는 파일 또는 표준 입력에서 읽습니다.hub 클러스터 템플릿을 사용하여 정책을 해결하려면 Red Hat Advanced Cluster Management로 가져온 관리 클러스터의 이름을
--cluster-name
인수를 제공해야 하며 hub 클러스터를 참조하는kubeconfig
파일의 경로를--hub-kubeconfig
인수를 제공해야 합니다.입력 정책에서
.ObjectName
또는.ObjectNamespace
템플릿 변수를 사용하는 경우--object-name
및--object-namespace
인수로 값을 설정해야 합니다.template-resolver
하위 명령은 관리 클러스터 및 hub 클러스터에 연결하여 템플릿을 확인하는 데 필요한 정보를 검색합니다.--save-resources
및--save-hub-resources
인수를 사용하여template-resolver
가 검색하는 리소스를 저장하여 경로를 제공합니다. 저장된 파일은dryrun
하위 명령의 입력으로 사용할 수 있습니다.dryrun
시험 실행
은 클러스터 상태에 대한 정적 입력 리소스를 사용하여ConfigurationPolicy
리소스를 로컬에서 평가하는policytools
의 하위 명령입니다.정책을 실행하려면
--policy
플래그를 사용하여ConfigurationPolicy
YAML에 경로를 추가합니다. 현재 클러스터 상태로 사용되는 추가 리소스 YAML 파일을 제공할 수 있습니다. 예를 들어 정책이 네임스페이스에 대한 특정 구성을 정의하는 경우 현재 네임스페이스 상태를 제공하여 정책의 기능을 확인합니다. 동일한 리소스 파일에 여러 리소스가 있을 수 있습니다.기본적으로
dryrun
은 정책에 정의된 오브젝트 상태와 해당 리소스의 현재 상태와ConfigurationPolicy
에서 생성하는 규정 준수 메시지 간의 차이점을 출력합니다. 규정 준수 메시지를 별도의 파일에 저장하려면--messages-path
인수를 사용합니다. 관련 오브젝트에 대한 추가 정보를 포함하여 전체 정책 상태를 저장하려면--status-path
인수를 사용합니다.정책이 입력을 기반으로
NonCompliant
인 경우 툴은 0이 아닌 종료 코드를 반환합니다. 결과 상태를 알려진 상태와 비교하려면--desired-status
인수를 사용합니다. 예를 들어 정책이 누락된 리소스를 보고하는지 확인하려면.relatedObjects
목록 내에 누락된 리소스가 포함된 YAML 파일을 제공합니다. 정책이NonCompliant
인지 확인하려면compliant: NonCompliant
행을 사용하여 YAML 파일을 만듭니다.
4.15.6. 추가 리소스 링크 복사링크가 클립보드에 복사되었습니다!
- Hub 클러스터 정책 프레임워크 [Policy overview]에서 정책YAML 파일에 대한 자세한 설명을 확인하십시오.
- 유효한 표현식은 Kubernetes 설명서에서 세트 기반 요구 사항을 지원하는 리소스 를 참조하십시오.
-
배포를 위해
정책 생성기가 필요한 안정적인 정책 세트
보기, PolicySets- Stable. - 정책에 대한 자세한 내용은 Governance 를 참조하십시오.
4.15.7. 연결이 끊긴 환경에서 Operator 정책 관리 링크 복사링크가 클립보드에 복사되었습니다!
인터넷에 연결되지 않은 Red Hat OpenShift Container Platform 클러스터에 Red Hat Advanced Cluster Management for Kubernetes 정책을 배포해야 할 수 있습니다. Operator Lifecycle Manager Operator를 설치하는 정책을 배포하는 데 배포하는 정책을 사용하는 경우 Operator 카탈로그 미러링 절차를 따라야 합니다.
Operator 이미지에 대한 액세스 권한을 확인하려면 다음 단계를 완료합니다.
정책에 사용해야 하는 패키지를 사용할 수 있는지 확인하려면 필수 패키지를 사용할 수 있는지 확인하십시오. 다음 정책이 배포되는 관리 클러스터에서 사용하는 각 이미지 레지스트리의 가용성을 확인해야 합니다.
-
container-security-operator
-
deprecated:
gatekeeper-operator-product
-
compliance-operator
-
소스를 사용할 수 있는지 확인하려면 이미지 콘텐츠 소스 정책 구성을 참조하십시오. 이미지 콘텐츠 소스 정책은 연결이 끊긴 각 클러스터에 있어야 하며, 프로세스를 단순화하기 위해 정책을 사용하여 배포할 수 있습니다. 다음 이미지 소스 위치를 참조하십시오.
Expand 거버넌스 정책 유형 이미지 소스 위치 컨테이너 보안
registry.redhat.io/quay
규정 준수
registry.redhat.io/compliance
Gatekeeper
registry.redhat.io/rhacm2
4.15.8. 정책 세트를 사용하여 Red Hat OpenShift Platform Plus 설치 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat Openshift Platform Plus 정책 세트를 적용하기 위한 지침을 계속 읽습니다. Red Hat OpenShift 정책 세트를 적용하면 Red Hat Advanced Cluster Security 보안 클러스터 서비스와 Compliance Operator가 모든 OpenShift Container Platform 관리 클러스터에 배포됩니다.
4.15.8.1. 사전 요구 사항 링크 복사링크가 클립보드에 복사되었습니다!
정책 세트를 적용하기 전에 다음 단계를 완료합니다.
서브스크립션을 클러스터에 적용할 수 있도록 하려면
policy-configure-subscription-admin-hub.yaml
정책을 적용하고 적용하도록 수정 작업을 설정해야 합니다.다음 YAML을 복사하여 콘솔의 YAML 편집기에 붙여넣습니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 명령줄 인터페이스에서 이전 YAML을 적용하려면 다음 명령을 실행합니다.
oc apply -f policy-configure-subscription-admin-hub.yaml
oc apply -f policy-configure-subscription-admin-hub.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Policy Generator kustomize 플러그인을 설치합니다. Kustomize v4.5 이상을 사용합니다. Operator를 설치하기 위한 정책 생성을 참조하십시오.
정책은
정책
네임스페이스에 설치됩니다. 해당 네임스페이스를ClusterSet
에 바인딩해야 합니다. 예를 들어 다음 예제 YAML을 복사하고 적용하여 네임스페이스를 기본ClusterSet
에 바인딩합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 명령줄 인터페이스에서
ManagedClusterSetBinding
리소스를 적용합니다.oc apply -f managed-cluster.yaml
oc apply -f managed-cluster.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
사전 요구 사항을 충족한 후 정책 세트를 적용할 수 있습니다.
4.15.8.2. Red Hat OpenShift Platform Plus 정책 세트 적용 링크 복사링크가 클립보드에 복사되었습니다!
-
Red Hat OpenShift Plus에 대한 사전 요구 사항 구성이 포함된
openshift-plus/policyGenerator.yaml
파일을 사용합니다. kustomize
명령을 사용하여 허브 클러스터에 정책을 적용합니다.kustomize build --enable-alpha-plugins | oc apply -f -
kustomize build --enable-alpha-plugins | oc apply -f -
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고: 설치하지 않으려는 OpenShift Platform Plus의 구성 요소의 경우
policyGenerator.yaml
파일을 편집하고 해당 구성 요소의 정책을 제거하거나 주석 처리합니다.
4.15.8.3. 추가 리소스 링크 복사링크가 클립보드에 복사되었습니다!
- 정책 세트에 대한 개요는 Red Hat OpenShift Platform Plus 정책 세트를 참조하십시오.
- 주제 시작으로 돌아가기, 정책 세트를 사용하여 Red Hat OpenShift Platform Plus 설치
4.15.9. OperatorPolicy 리소스를 사용하여 Operator 설치 링크 복사링크가 클립보드에 복사되었습니다!
관리 클러스터에 OLM(Operator Lifecycle Manager) 관리형 Operator를 설치하려면 정책 정의에서 Operator
정책 템플릿을 사용합니다.
Policy
4.15.9.1. Quay를 설치할 OperatorPolicy 리소스 생성 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat Operator 카탈로그를 사용하여 stable 채널에
최신 Quay Operator를 설치하는 다음 Operator 정책 샘플을 참조하십시오.
OperatorPolicy
정책 템플릿을 추가하면 컨트롤러를 사용하여 operatorGroup
및 서브스크립션
오브젝트가 클러스터에 생성됩니다. 결과적으로 OLM에서 나머지 설치를 완료합니다. 관리 클러스터의 OperatorPolicy
리소스의 .status.Conditions
및 .status.relatedObjects
필드에서 보유 리소스의 상태를 볼 수 있습니다.
Operator 정책 상태를 확인하려면 관리 클러스터에서 다음 명령을 실행합니다.
oc -n <managed cluster namespace> get operatorpolicy install-quay
oc -n <managed cluster namespace> get operatorpolicy install-quay