정책 라이브러리 만들기

컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.

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

시작하기 전에

  • 조직 정책 라이브러리를 저장하기 위해 비어 있는 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 제약조건 만들기를 참조하세요.