이 문서에서는 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 주소를 사용하지 않도록 합니다.
워크로드 관리자에서 사용할 수 있는 샘플 규칙의 전체 목록은 GoogleCloudPlatform/workload-manager GitHub 저장소를 참고하세요.
예 1
Compute Engine 리소스에 태그가 하나 이상 있는지 확인합니다.
예 2
워크로드에서 Compute Engine 기본 서비스 계정을 사용하지 않도록 합니다.
예시 3
워크로드의 VM이 외부 IP 주소를 사용하지 않도록 합니다.
Cloud Storage 버킷에 규칙 업로드
.rego 파일을 만든 후 Cloud Storage 버킷에 업로드합니다. Cloud Storage 버킷의 최상위 수준에는 /lib 및 /rules 폴더가 포함되어야 합니다.
libparameters.regoutils.rego
/rulesrule_name1.regorule_name2.rego
다음 단계
- 워크로드 평가에 대해 자세히 알아보세요.
- 평가를 만들고 실행하는 방법을 알아봅니다.