Creazione di una libreria di criteri

In qualità di amministratore dell'organizzazione, devi definire i criteri che gli sviluppatori rispettano quando applicano l'infrastruttura come codice. L'insieme di criteri della tua organizzazione è rappresentato come una libreria di criteri. Questa pagina ti aiuta a creare un repository di criteri centralizzato e ad aggiungere vincoli.

Prima di iniziare

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

Duplica la libreria 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 dei criteri e duplicalo nel tuo 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 posizione dei bucket di Cloud Storage.

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

  5. All'interno della copia locale del repository policy-library, utilizza i comandi seguenti per eseguire il commit e l'invio delle modifiche:

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

Struttura della libreria

Un repository di libreria di criteri contiene le seguenti directory:

  • policies/ - Questa directory contiene due sottodirectory:

    • constraints/ – Inizialmente questa directory è vuota. Inserisci qui i tuoi file di vincoli.
    • templates/ - Questa directory contiene modelli di vincolo predefiniti.
  • validator/ - Questa directory contiene i file .rego e i relativi test delle unità associati. Non devi toccare questa directory a meno che non intendi modificare i modelli di vincolo esistenti o crearne di nuovi. L'esecuzione di make build include i contenuti Rego nei file modello di vincolo corrispondenti.

Aggiornamenti periodici

Periodicamente devi estrarre eventuali modifiche dal repository pubblico, che potrebbero 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 esempi di vincoli. Leggi Creazione di vincoli di Terraform o Creazione di vincoli CAI per informazioni su come scrivere e utilizzare i modelli e i vincoli dei vincoli.