3.7. 보안 정책 관리
지정된 보안 표준, 카테고리 및 제어를 기반으로 클러스터 컴플라이언스를 보고하고 검증할 수 있는 보안 정책을 생성합니다.
다음 섹션을 확인합니다.
3.7.1. 보안 정책 생성 링크 복사링크가 클립보드에 복사되었습니다!
CLI(명령줄 인터페이스) 또는 콘솔에서 보안 정책을 생성할 수 있습니다.
필수 액세스: 클러스터 관리자
중요: 특정 클러스터에 정책을 적용하려면 배치 규칙 및 배치 바인딩을 정의해야 합니다. Cluster selector 필드에 유효한 값을 입력하여 PlacementRule
및 PlacementBinding
을 정의합니다. 유효한 표현식은 Kubernetes 문서의 세트 기반 요구 사항을 지원하는 리소스를 참조하십시오. Red Hat Advanced Cluster Management 정책에 필요한 오브젝트 정의를 확인합니다.
- PlacementRule: 정책을 배포해야 하는 클러스터 선택기를 정의합니다.
- PlacementBinding: 배치를 배치 규칙에 바인딩합니다.
정책 개요에서 정책 YAML 파일에 대한 자세한 설명을 확인하십시오.
3.7.1.1. 명령줄 인터페이스에서 보안 정책 생성 링크 복사링크가 클립보드에 복사되었습니다!
CLI(명령줄 인터페이스)에서 정책을 생성하려면 다음 단계를 완료합니다.
다음 명령을 실행하여 정책을 생성합니다.
kubectl create -f policy.yaml -n <policy-namespace>
kubectl 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 PlacementRule
을 정의합니다.PlacementRule
을 변경하여clusterSelector
를 조정하여 정책을 적용해야 하는 클러스터를 지정해야 합니다. 배치 규칙 샘플 개요보기PlacementRule
은 다음 내용과 유사할 수 있습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 정책을
PlacementRule
에 바인딩하도록PlacementBinding
을 정의합니다.PlacementBinding
은 다음 YAML 샘플과 유사할 수 있습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.7.1.1.1. CLI에서 보안 정책 보기 링크 복사링크가 클립보드에 복사되었습니다!
CLI에서 보안 정책을 보려면 다음 단계를 완료합니다.
다음 명령을 실행하여 특정 보안 정책에 대한 세부 정보를 확인합니다.
kubectl get policies.policy.open-cluster-management.io <policy-name> -n <policy-namespace> -o yaml
kubectl get policies.policy.open-cluster-management.io <policy-name> -n <policy-namespace> -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 보안 정책에 대한 설명을 확인합니다.
kubectl describe policies.policy.open-cluster-management.io <policy-name> -n <policy-namespace>
kubectl describe policies.policy.open-cluster-management.io <policy-name> -n <policy-namespace>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.7.1.2. 콘솔에서 클러스터 보안 정책 생성 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat Advanced Cluster Management에 로그인한 후 관리 페이지로 이동 하여 정책 생성을 클릭합니다.
콘솔에서 새 정책을 생성하면 YAML 파일도 YAML 편집기에서 생성됩니다. YAML 편집기를 보려면 Create 정책 양식의 시작 부분에 있는 토글을 선택하여 활성화합니다.
Create policy form을 완료한 후 Submit 버튼을 선택합니다.
YAML 파일은 다음 정책과 유사할 수 있습니다.
정책 생성을 클릭합니다. 콘솔에서 보안 정책을 생성합니다.
3.7.1.2.1. 콘솔에서 보안 정책 보기 링크 복사링크가 클립보드에 복사되었습니다!
콘솔에서 모든 보안 정책 및 해당 상태를 확인합니다. Governance 페이지로 이동하여 정책의 테이블 목록을 확인합니다. 참고: 정책 탭 또는 클러스터 위반 탭을 선택하여 정책의 표 목록을 필터링할 수 있습니다.
자세한 내용을 보려면 정책 중 하나를 선택합니다. 세부 정보 , 클러스터 및 템플릿 탭이 표시됩니다. 클러스터 또는 정책 상태를 확인할 수 없는 경우 다음 메시지가 표시됩니다. 상태 없음
.
3.7.1.3. CLI에서 정책 세트 생성 링크 복사링크가 클립보드에 복사되었습니다!
기본적으로 정책 세트는 정책 또는 배치 없이 생성됩니다. 정책 세트에 대한 배치를 생성하고 클러스터에 존재하는 정책이 하나 이상 있어야 합니다. 정책 세트를 생성하면 다양한 정책을 추가할 수 있습니다. 다음 명령을 실행하여 CLI에서 설정된 정책을 생성합니다.
kubectl apply -f <policyset-filename>
kubectl apply -f <policyset-filename>
3.7.1.4. 콘솔에서 정책 세트 생성 링크 복사링크가 클립보드에 복사되었습니다!
탐색 메뉴에서 Governance 를 선택합니다. 그런 다음 정책 설정 탭을 선택합니다. Create policy set 버튼을 선택하고 양식을 작성합니다. 정책 세트 세부 정보를 추가한 후 Submit 버튼을 선택합니다.
배포를 위해 정책
생성기가 필요한 안정된 정책 세트를 확인합니다. PolicySets-- Stable.
3.7.2. 보안 정책 업데이트 링크 복사링크가 클립보드에 복사되었습니다!
다음 섹션을 확인하여 보안 정책을 업데이트하는 방법을 알아봅니다.
3.7.2.1. CLI에서 설정된 정책에 정책 추가 링크 복사링크가 클립보드에 복사되었습니다!
다음 명령을 실행하여 정책 세트를 편집합니다. kubectl edit policysets your-policyset-name
정책 세트의 policies
섹션에 정책 이름을 추가합니다. kubectl apply -f your-added-policy.yaml
명령을 사용하여 다음 명령을 사용하여 정책 세트의 배치 섹션에 추가된 정책을 적용합니다. PlacementBinding
및 PlacementRule
이 생성됩니다. 참고: 배치 바인딩을 삭제하면 정책 세트에 따라 정책이 계속 배치됩니다.
3.7.2.2. 콘솔에서 설정된 정책에 정책 추가 링크 복사링크가 클립보드에 복사되었습니다!
Policy sets 탭을 선택하여 설정된 정책에 정책을 추가합니다. 작업 아이콘을 선택하고 편집 을 선택합니다. Edit policy set form이 나타납니다.
양식의 Policies 섹션으로 이동하여 정책 세트에 추가할 정책을 선택합니다.
3.7.2.3. 보안 정책 비활성화 링크 복사링크가 클립보드에 복사되었습니다!
정책은 기본적으로 활성화되어 있습니다. 콘솔에서 정책을 비활성화합니다.
Kubernetes 콘솔의 Red Hat Advanced Cluster Management에 로그인한 후 Governance 페이지로 이동하여 정책의 표 목록을 확인합니다.
Actions 아이콘 > Disable policy 를 선택합니다. 정책 비활성화 대화 상자가 나타납니다.
Disable policy 를 클릭합니다. 정책이 비활성화되어 있습니다.
3.7.3. 보안 정책 삭제 링크 복사링크가 클립보드에 복사되었습니다!
CLI 또는 콘솔에서 보안 정책을 삭제합니다.
CLI에서 보안 정책을 삭제합니다.
다음 명령을 실행하여 보안 정책을 삭제합니다.
kubectl delete policies.policy.open-cluster-management.io <policy-name> -n <policy-namespace>
kubectl delete policies.policy.open-cluster-management.io <policy-name> -n <policy-namespace>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 정책이 삭제되면 대상 클러스터 또는 클러스터에서 제거됩니다.
kubectl get policies.policy.open-cluster-management.io <policy-name> -n <policy-namespace
>를 실행하여 정책이 제거되었는지 확인합니다.
콘솔에서 보안 정책을 삭제합니다.
탐색 메뉴에서 Governance 를 클릭하여 정책의 테이블 목록을 확인합니다. 정책 위반 테이블에서 삭제할 정책의 Actions 아이콘을 클릭합니다.
제거를 클릭합니다. 정책 제거 대화 상자에서 정책제거를 클릭합니다.
3.7.3.1. 콘솔에서 정책 세트 삭제 링크 복사링크가 클립보드에 복사되었습니다!
Policy sets 탭에서 정책 세트의 Actions 아이콘을 선택합니다. 삭제 를 클릭하면 정책 집합을 영구적으로 삭제하시겠습니까? 대화 상자가 나타납니다.
삭제 버튼을 클릭합니다.
다른 정책을 관리하려면 자세한 내용은 보안 정책 관리를 참조하십시오. 정책에 대한 자세한 내용은 감독을 참조하십시오.
3.7.4. 정책으로 생성된 리소스 정리 링크 복사링크가 클립보드에 복사되었습니다!
구성 정책에서 pruneObject&
gt;-< 매개변수를 사용하여 정책에서 생성한 리소스를 정리합니다. pruneObject
>-<이 설정되어 있는 경우 관련 오브젝트는 연결된 구성 정책(또는 상위 정책)이 삭제된 후에만 정리됩니다. 매개변수에 사용할 수 있는 값에 대한 다음 설명을 확인합니다.
-
DeleteIfCreated
: 정책으로 생성된 모든 리소스를 정리합니다. -
DeleteAll
: 정책이 관리하는 모든 리소스를 정리합니다. -
none
: 기본값이며 관련 리소스가 삭제되지 않는 이전 릴리스와 동일한 동작을 유지합니다.
CLI에서 정책을 생성할 때 YAML에서 직접 값을 설정할 수 있습니다. 콘솔의 정책 템플릿 단계의 오브젝트 제거 섹션에서 값을 선택할 수 있습니다.
참고: Operator를 설치하는 정책이 정의된 pruneObject
>-< 매개변수를 사용하는 경우 Operator 제거를 완료하려면 추가 정리가 필요합니다. 추가 정리에는 Operator ClusterServiceVersion
오브젝트 삭제가 포함될 수 있습니다.