이 문서에서는 Rego 정책 언어를 사용하여 맞춤 규칙을 작성하는 방법을 설명합니다. 워크로드 관리자에서 이러한 규칙을 사용하여 조직에 정의된 권장사항에 따라 워크로드를 평가할 수 있습니다.
자세한 내용은 워크로드 관리자의 맞춤 규칙 정보를 참고하세요.
시작하기 전에
- Rego 정책 언어를 숙지합니다.
Rego를 사용하여 맞춤 규칙 작성
Google은 워크로드를 평가하는 데 사용할 수 있는 사전 정의된 규칙 집합이 포함된 샘플 GitHub 저장소를 제공합니다. 이 샘플은 여러 사용 사례를 다룹니다.
저장소에서 규칙을 선택하거나 평가 요구사항을 설명하는 규칙 (.rego
) 파일을 만듭니다.
맞춤 규칙에는 다음 섹션이 있습니다.
메타데이터. 다음 필드는 규칙 메타데이터를 정의합니다.
DETAILS
: 규칙에 대한 간단한 설명입니다.SEVERITY
: 규칙 위반의 심각도를 정의하는 사용자 정의 값입니다. 예를 들면HIGH
,CRITICAL
,MEDIUM
,LOW
입니다.ASSET_TYPE
: 지원되는 애셋 중 하나입니다. 지원되는 데이터 소스를 참고하세요.TAGS
: 규칙의 하나 이상의 태그입니다. 이러한 태그는 규칙을 필터링하는 데 도움이 됩니다.
패키지 선언 예를 들면
templates.google.compute.instance.label
입니다.import 문 예를 들면
data.validator.google.lib as lib
입니다.규칙 정의: 규칙을 정의하는 안내 모음입니다.
규칙 예
다음 샘플 규칙은 GoogleCloudPlatform/workload-manager GitHub 저장소에서 확인할 수 있습니다. 이러한 규칙을 있는 그대로 Cloud Storage 버킷에 업로드하고 이를 사용하여 평가를 실행할 수 있습니다. 또는 조직 정책에 따라 규칙을 수정한 후 파일을 Cloud Storage 버킷에 업로드합니다.
- 예 1: VM에 라벨이 하나 이상 있는지 확인합니다.
- 예 2: 워크로드가 Compute Engine 기본 서비스 계정을 사용하지 않도록 합니다.
- 예 3: 워크로드의 VM이 외부 IP 주소를 사용하지 않도록 합니다.
Workload Manager에서 사용할 수 있는 샘플 규칙의 전체 목록은 GoogleCloudPlatform/workload-manager GitHub 저장소를 참고하세요.
예 1
Compute Engine 리소스에 태그가 하나 이상 있는지 확인합니다.
예 2
워크로드가 Compute Engine 기본 서비스 계정을 사용하지 않도록 합니다.
예시 3
워크로드의 VM이 외부 IP 주소를 사용하지 않도록 합니다.
Cloud Storage 버킷에 규칙 업로드
.rego
파일을 만든 후 Cloud Storage 버킷에 업로드합니다. Cloud Storage 버킷의 최상위 폴더에 /lib
및 /rules
폴더가 포함되어야 합니다.
lib
parameters.rego
utils.rego
/rules
rule_name1.rego
rule_name2.rego
다음 단계
- 워크로드 평가에 대해 자세히 알아보세요.
- 평가를 만들고 실행하는 방법을 알아보세요.