Creazione di una libreria di criteri

In qualità di amministratore dell'organizzazione, devi definire i criteri che gli sviluppatori devono rispettare quando applicano Infrastructure as Code. L'insieme di criteri della tua organizzazione è rappresentato come una libreria di criteri. Questa pagina ti consente di creare un repository di criteri centralizzato e aggiungere vincoli.

Prima di iniziare

  • Per archiviare la libreria di criteri dell'organizzazione è necessario un repository Git vuoto.
  • Devi configurare Git per connetterti in modo sicuro. Ad esempio, se il tuo repository git si trova su GitHub, puoi seguire la procedura descritta in Connessione a GitHub con SSH.

Duplicare la raccolta di esempio

Google fornisce un repository di esempio che include un insieme di modelli di vincoli predefiniti che puoi modificare per uso personale.

  1. Clona il repository di esempio della libreria di criteri e duplicalo in 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. Esamina i modelli di vincolo disponibili in policies/templates: ls policies/templates

  3. Seleziona i modelli di vincolo che vuoi utilizzare. Per questo esempio, scegli gcp_storage_location_v1.yaml, che applica la località per i bucket Cloud Storage.

  4. Crea i file YAML vincolo corrispondenti a questi modelli in policies/constraints.

  5. Dall'interno della tua copia locale del repository policy-library, utilizza i seguenti comandi per eseguire il commit delle modifiche ed eseguirne il push:

    git add --all .
    git commit -m "Initial commit of policy library constraints"
    git push -u origin main
    

Struttura della biblioteca

Il repository di una libreria di criteri contiene le seguenti directory:

  • policies/ - Questa directory contiene due sottodirectory:

    • constraints/ - Inizialmente questa directory è vuota. Posiziona i file dei vincoli qui.
    • templates/: questa directory contiene modelli di vincolo predefiniti.
  • validator/: questa directory contiene i file .rego e i relativi test delle unità. Non è necessario toccare questa directory a meno che tu non intenda modificare modelli di vincoli esistenti o crearne di nuovi. L'esecuzione di make build incorpora i contenuti Rego nei file dei modelli di vincolo corrispondenti.

Aggiornamenti periodici

Periodicamente dovresti eseguire il pull di eventuali modifiche dal repository pubblico, che potrebbe contenere nuovi modelli e file Rego.

git remote add public https://github.com/GoogleCloudPlatform/policy-library.git
git pull public main
git push origin main

Passaggi successivi

La libreria di criteri contiene una serie di modelli di vincoli e una cartella samples con vincoli di esempio. Consulta Creare vincoli Terraform o Creare vincoli CAI per maggiori dettagli su come scrivere e utilizzare modelli e vincoli di vincolo.