Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
In qualità di amministratore dell'organizzazione, devi definire le norme che gli sviluppatori devono rispettare quando applicano l'infrastruttura come codice. L'insieme di criteri della tua organizzazione è rappresentato come una raccolta di criteri. Questa pagina ti aiuta a creare un repository centralizzato di criteri e ad aggiungere vincoli.
Prima di iniziare
Hai bisogno di un repository Git vuoto per archiviare la raccolta di criteri della tua organizzazione.
Devi configurare Git per connetterti in modo sicuro. Ad esempio, se il repository Git si trova su GitHub, puoi seguire la procedura descritta in Connessione a GitHub con SSH.
Duplicare la libreria di esempi
Google fornisce un repository di esempio che include un insieme di modelli di vincolo predefiniti che puoi modificare per uso personale.
Clona il repository di esempio della libreria di 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
Esamina i modelli di vincolo disponibili in policies/templates:
ls policies/templates
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.
Crea file YAML di vincolo corrispondenti a questi modelli in policies/constraints.
Dall'interno della copia locale del repository policy-library, utilizza i seguenti comandi per eseguire il commit e il push delle modifiche:
gitadd--all.gitcommit-m"Initial commit of policy library constraints"gitpush-uoriginmain
Struttura della libreria
Un repository della libreria di criteri contiene le seguenti directory:
policies/: questa directory contiene due sottodirectory:
constraints/: questa directory è inizialmente vuota. Inserisci qui i file di vincoli.
templates/: questa directory contiene modelli di vincoli predefiniti.
validator/: questa directory contiene i file .rego e i relativi test unitari. Non è necessario intervenire su questa directory, a meno che tu non intenda modificare i modelli di vincoli esistenti o crearne di nuovi. L'esecuzione di make build incorpora i contenuti Rego nei file modello di vincolo corrispondenti.
Aggiornamenti periodici
Periodicamente devi estrarre le modifiche dal repository pubblico, che potrebbe contenere nuovi modelli e file Rego.
La libreria dei criteri contiene una serie di modelli di vincolo e una cartella samples
con vincoli di esempio. Per informazioni dettagliate su come scrivere e utilizzare modelli di vincolo e vincoli, consulta
Crea vincoli Terraform
o
Crea vincoli CAI.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Difficile da capire","hardToUnderstand","thumb-down"],["Informazioni o codice di esempio errati","incorrectInformationOrSampleCode","thumb-down"],["Mancano le informazioni o gli esempi di cui ho bisogno","missingTheInformationSamplesINeed","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-09-04 UTC."],[[["\u003cp\u003eThis page guides organization administrators on setting up a centralized policy repository, represented as a policy library, to define policies for developers using infrastructure as code.\u003c/p\u003e\n"],["\u003cp\u003eA pre-existing Git repository is required to store the policy library, and secure Git configuration is necessary for connection, which can be established by following the Github SSH process.\u003c/p\u003e\n"],["\u003cp\u003eA sample policy library from Google is provided, containing predefined constraint templates that can be duplicated, modified, and added to the organization's policy library.\u003c/p\u003e\n"],["\u003cp\u003eThe policy library repository has a specific structure with \u003ccode\u003epolicies/\u003c/code\u003e directory containing \u003ccode\u003econstraints/\u003c/code\u003e and \u003ccode\u003etemplates/\u003c/code\u003e subdirectories and a \u003ccode\u003evalidator/\u003c/code\u003e directory for Rego files, while periodic updates from the public repository should be made.\u003c/p\u003e\n"],["\u003cp\u003ePre-GA products and features from the provided content, such as this product, are available "as is" and may have limited support, as well as being subject to the Pre-GA Offerings Terms in the General Service Terms section.\u003c/p\u003e\n"]]],[],null,["# Create a policy library\n\n| **Preview**\n|\n|\n| This product or feature is subject to the \"Pre-GA Offerings Terms\" in the General Service Terms section\n| of the [Service Specific Terms](/terms/service-terms#1).\n|\n| Pre-GA products and features are available \"as is\" and might have limited support.\n|\n| For more information, see the\n| [launch stage descriptions](/products#product-launch-stages).\n\nAs an organization administrator, you need to define policies that developers adhere to when applying infrastructure as code. Your organization's set of policies is represented as a policy library. This page helps you create a centralized policy repository and add constraints.\n\nBefore you begin\n----------------\n\n- You need an empty Git repository for storing your organization's policy library.\n- You need to configure Git to connect securely. For example, if your git repository is on GitHub, you can follow the process outlined in [Connecting to GitHub with SSH](https://docs.github.com/en/authentication/connecting-to-github-with-ssh).\n\nDuplicate the sample library\n----------------------------\n\nGoogle provides a sample repository that includes a set of pre-defined constraint templates which you can modify for your personal use.\n\n1. Clone the policy library sample repository and duplicate it to your \u003cvar translate=\"no\"\u003ePOLICY_LIBRARY_REPO\u003c/var\u003e:\n\n ```\n git clone https://github.com/GoogleCloudPlatform/policy-library.git\n cd policy-library\n git remote set-url origin POLICY_LIBRARY_REPO\n git push origin main\n ```\n2. Examine the available constraint templates in `policies/templates`:\n `ls policies/templates`\n\n3. Select the constraint templates you want to use. For this example, choose `gcp_storage_location_v1.yaml`, which enforces location for Cloud Storage buckets.\n\n4. Create constraint YAML files corresponding to those templates under `policies/constraints`.\n\n5. From inside your local copy of the `policy-library` repository, use the following commands to commit and push your changes:\n\n git add --all .\n git commit -m \"Initial commit of policy library constraints\"\n git push -u origin main\n\n### Library structure\n\nA policy library repository contains the following directories:\n\n- `policies/` -- This directory contains two subdirectories:\n\n - `constraints/` -- This directory is initially empty. Place your constraint files here.\n - `templates/` -- This directory contains pre-defined constraint templates.\n- `validator/` -- This directory contains the `.rego` files and their associated unit tests. You don't need to touch this directory unless you intend to modify existing constraint templates or create new ones. Running `make build` inlines the Rego content in the corresponding constraint template files.\n\nPeriodic updates\n----------------\n\nPeriodically you should pull any changes from the public repository, which might contain new templates and Rego files. \n\n git remote add public https://github.com/GoogleCloudPlatform/policy-library.git\n git pull public main\n git push origin main\n\nNext steps\n----------\n\nThe policy library contains a number of constraint templates and a `samples`\nfolder with example constraints. Read\n[Create Terraform constraints](/docs/terraform/policy-validation/create-terraform-constraints)\nor\n[Create CAI constraints](/docs/terraform/policy-validation/create-cai-constraints)\nfor details on how to write and use constraint templates and constraints."]]