조직 관리자로서 코드형 인프라를 적용할 때 개발자가 준수해야 하는 정책을 정의해야 합니다. 조직의 정책 집합은 정책 라이브러리로 표시됩니다. 이 페이지에서는 중앙화된 정책 저장소를 만들고 제약조건을 추가하는 데 도움이 됩니다.
시작하기 전에
- 조직 정책 라이브러리를 저장하기 위해 비어 있는 Git 저장소가 필요합니다.
- 안전하게 연결하도록 Git를 구성해야 합니다. 예를 들어 git 저장소가 GitHub에 있는 경우 SSH로 GitHub에 연결에 설명된 프로세스를 따를 수 있습니다.
샘플 라이브러리 복제
Google은 개인 용도로 수정할 수 있는 사전 정의된 제약조건 템플릿 집합이 포함된 샘플 저장소를 제공합니다.
정책 라이브러리 샘플 저장소를 클론하여 POLICY_LIBRARY_REPO에 복제합니다.
git clone https://github.com/GoogleCloudPlatform/policy-library.git cd policy-library git remote set-url origin POLICY_LIBRARY_REPO git push origin main
policies/templates
에서 사용 가능한 제약조건 템플릿을 검토합니다.ls policies/templates
사용할 제약조건 템플릿을 선택합니다. 이 예시에서는 Cloud Storage 버킷의 위치를 시행하는
gcp_storage_location_v1.yaml
을 선택합니다.policies/constraints
아래의 해당 템플릿에 해당하는 제약조건 YAML 파일을 만듭니다.policy-library
저장소의 로컬 사본 내에서 다음 명령어를 사용하여 변경사항을 커밋하고 푸시합니다.git add --all . git commit -m "Initial commit of policy library constraints" git push -u origin main
라이브러리 구조
정책 라이브러리 저장소에는 다음 디렉터리가 포함됩니다.
policies/
– 이 디렉터리에는 2개의 하위 디렉터리가 포함됩니다.constraints/
– 이 디렉터리는 처음에 비어 있습니다. 제약조건 파일을 여기에 배치합니다.templates/
– 이 디렉터리에는 사전 정의된 제약조건 템플릿이 포함됩니다.
validator/
– 이 디렉터리에는.rego
파일 및 연결된 단위 테스트가 포함됩니다. 기존 제약조건 템플릿을 수정하거나 새 템플릿을 생성하려는 경우가 아니면 이 디렉터리를 수정할 필요가 없습니다.make build
를 실행하면 해당 제약조건 템플릿 파일에서 Rego 콘텐츠가 인라인으로 설정됩니다.
주기적 업데이트
주기적으로 공개 저장소에서 변경사항을 가져와야 합니다. 여기에는 새 템플릿 및 Rego 파일이 포함될 수 있습니다.
git remote add public https://github.com/GoogleCloudPlatform/policy-library.git
git pull public main
git push origin main
다음 단계
정책 라이브러리에는 여러 제약조건 템플릿과 예시 제약조건이 있는 samples
폴더가 포함됩니다. 제약조건 템플릿 및 제약조건을 작성 및 사용하는 방법에 대한 자세한 내용은 Terraform 제약조건 만들기 또는 CAI 제약조건 만들기를 참조하세요.