정책 라이브러리 만들기

조직 관리자로서 코드형 인프라를 적용할 때 개발자가 준수해야 하는 정책을 정의해야 합니다. 조직의 정책 집합은 정책 라이브러리로 표시됩니다. 이 페이지에서는 중앙화된 정책 저장소를 만들고 제약조건을 추가하는 데 도움이 됩니다.

시작하기 전에

  • 조직 정책 라이브러리를 저장하기 위해 비어 있는 Git 저장소가 필요합니다.
  • 안전하게 연결하도록 Git를 구성해야 합니다. 예를 들어 git 저장소가 GitHub에 있는 경우 SSH로 GitHub에 연결에 설명된 프로세스를 따를 수 있습니다.

샘플 라이브러리 복제

Google은 개인 용도로 수정할 수 있는 사전 정의된 제약조건 템플릿 집합이 포함된 샘플 저장소를 제공합니다.

  1. 정책 라이브러리 샘플 저장소를 클론하여 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
    
  2. policies/templates에서 사용 가능한 제약조건 템플릿을 검토합니다. ls policies/templates

  3. 사용할 제약조건 템플릿을 선택합니다. 이 예시에서는 Cloud Storage 버킷의 위치를 시행하는 gcp_storage_location_v1.yaml을 선택합니다.

  4. policies/constraints 아래의 해당 템플릿에 해당하는 제약조건 YAML 파일을 만듭니다.

  5. 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 제약조건 만들기를 참조하세요.