I vincoli gestiti sono policy dell'organizzazione predefinite, create su una piattaforma moderna, che forniscono un controllo centralizzato e programmatico sulle risorse Compute Engine. Sono inclusi il supporto integrato per strumenti di implementazione sicuri come Policy Simulator e dry run.
I vincoli gestiti sono identificabili dal prefisso compute.managed.* e fungono da sostituto diretto dei vincoli compute.* legacy.
Vantaggi
- Implementazione e monitoraggio sicuri: implementa le policy con strumenti completi, controllo delle modifiche più rapido e deployment graduale utilizzando le funzionalità di simulazione e prova generale.
- Logging coerente: impone l'uniformità nei messaggi di logging e di errore, semplificando il monitoraggio centralizzato e snellendo gli audit.
Ereditarietà delle policy
Le policy dell'organizzazione che imposti su una risorsa vengono ereditate dai discendenti di quella risorsa nella gerarchia delle risorse. Ad esempio, se applichi un criterio a una cartella, Google Cloud il criterio viene applicato a tutti i progetti contenuti nella cartella.
Prezzi
Il servizio Policy dell'organizzazione, incluse le policy predefinite (legacy), gestite e personalizzate, viene offerto senza costi aggiuntivi.
Prima di iniziare
-
Se non l'hai ancora fatto, configura l'autenticazione.
L'autenticazione verifica la tua identità per l'accesso ad API e servizi Google Cloud . Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su Compute Engine selezionando una delle seguenti opzioni:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Installa Google Cloud CLI. Dopo l'installazione, inizializza Google Cloud CLI eseguendo il comando seguente:
gcloud initSe utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
- Set a default region and zone.
REST
Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, utilizzi le credenziali che fornisci a gcloud CLI.
Installa Google Cloud CLI. Dopo l'installazione, inizializza Google Cloud CLI eseguendo il comando seguente:
gcloud initSe utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
Per saperne di più, consulta Autenticati per usare REST nella documentazione sull'autenticazione di Google Cloud .
- Assicurati di conoscere il tuo ID organizzazione.
- Se non l'hai ancora fatto, installa
gcloud CLI e inizializzala eseguendo
gcloud init. - Imposta un progetto predefinito per i test.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per gestire le policy dell'organizzazione con vincoli gestiti, chiedi all'amministratore di concederti i seguenti ruoli IAM:
-
Organization Policy Administrator (
roles/orgpolicy.policyAdmin) sulla risorsa dell'organizzazione -
Per testare i vincoli:
Compute Instance Admin (v1) (
roles/compute.instanceAdmin.v1) nel progetto
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Questi ruoli predefiniti contengono le autorizzazioni necessarie per gestire le policy dell'organizzazione con vincoli gestiti. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per gestire le policy dell'organizzazione con vincoli gestiti sono necessarie le seguenti autorizzazioni:
-
orgpolicy.constraints.list -
orgpolicy.policies.create -
orgpolicy.policies.delete -
orgpolicy.policies.list -
orgpolicy.policies.update -
orgpolicy.policy.get -
orgpolicy.policy.set -
Per testare i vincoli:
compute.instances.createsul progetto- Per utilizzare un'immagine personalizzata per creare la VM:
compute.images.useReadOnlysull'immagine - Per utilizzare uno snapshot per creare la VM:
compute.snapshots.useReadOnlysullo snapshot - Per utilizzare un template di istanza per creare la VM:
compute.instanceTemplates.useReadOnlysul template di istanza - Per assegnare una rete legacy alla VM:
compute.networks.usesul progetto - Per specificare un indirizzo IP statico per la VM:
compute.addresses.usesul progetto - Per assegnare un indirizzo IP esterno alla VM quando viene utilizzata una rete legacy:
compute.networks.useExternalIpsul progetto - Per specificare una subnet per la VM:
compute.subnetworks.usesul progetto o sulla subnet scelta - Per assegnare un indirizzo IP esterno alla VM quando viene utilizzata una rete VPC:
compute.subnetworks.useExternalIpsul progetto o sulla subnet scelta - Per impostare i metadati dell'istanza VM per la VM:
compute.instances.setMetadatasul progetto - Per impostare i tag per la VM:
compute.instances.setTagssulla VM - Per impostare le etichette per la VM:
compute.instances.setLabelssulla VM - Per impostare un service account da utilizzare per la VM:
compute.instances.setServiceAccountsulla VM - Per creare un nuovo disco per la VM:
compute.disks.createsul progetto - Per collegare un disco esistente in modalità di sola lettura o lettura/scrittura:
compute.disks.usesul disco - Per collegare un disco esistente in modalità di sola lettura:
compute.disks.useReadOnlysul disco
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Vincoli gestiti disponibili
Per Compute Engine sono disponibili i seguenti vincoli di policy dell'organizzazione gestiti:
Vincolo Descrizione Impostazioni della crittografia dei collegamenti VLAN consentite Questo vincolo di elenco definisce le impostazioni di crittografia consentite per i nuovi collegamenti VLAN.
Per impostazione predefinita, i collegamenti VLAN possono utilizzare qualsiasi tipo di crittografia.
Imposta IPSEC come valore consentito per forzare la creazione di collegamenti VLAN solo criptati.constraints/compute.managed.allowedVlanAttachmentEncryptionBloccare le funzionalità di anteprima di Compute Engine Questo vincolo garantisce che le funzionalità di anteprima siano bloccate, a meno che non sia esplicitamente consentito. Una volta impostata l'opzione Consenti, puoi controllare quali funzionalità di anteprima possono essere attivate o disattivate singolarmente per il tuo progetto. Nel progetto è possibile accedere solo alle funzionalità di anteprima attivate. La disattivazione successiva del criterio non modifica lo stato delle singole funzionalità di anteprima già impostate, che possono essere disattivate singolarmente. Questo vincolo si applica solo alle funzionalità dell'API Compute Alpha.
constraints/compute.managed.blockPreviewFeaturesDisabilita la virtualizzazione nidificata della VM [Anteprima pubblica] Questo vincolo booleano disattiva la virtualizzazione nidificata con accelerazione hardware per tutte le VM Compute Engine appartenenti all'organizzazione, al progetto o alla cartella per cui questo vincolo è impostato su
True.
Per impostazione predefinita, la virtualizzazione nidificata con accelerazione hardware è consentita per tutte le VM Compute Engine in esecuzione su piattaforme CPU Intel Haswell o successive.constraints/compute.managed.disableNestedVirtualizationLimita l'attivazione dei metadati di accesso alla porta seriale VM Anteprima: questo vincolo impedisce che la chiave dei metadati serial-port-enable venga impostata su true per le VM di Compute Engine all'interno dell'organizzazione, del progetto o della cartella in cui è applicato il vincolo. Per impostazione predefinita, l'accesso alla porta seriale può essere abilitato per singola VM, singola zona o singolo progetto utilizzando questa chiave di metadati. Per consentire l'accesso alla porta seriale per VM specifiche, puoi esentarle da questa policy utilizzando tag e regole condizionali.
Importante: l'applicazione di questo vincolo non influisce sulle VM esistenti in cui serial-port-enable è già impostato su true. Queste VM manterranno l'accesso a meno che i relativi metadati non vengano aggiornati.constraints/compute.managed.disableSerialPortAccessDisabilita il logging delle porte seriali delle VM in Stackdriver [Anteprima pubblica] Questo vincolo, se applicato, disattiva il logging delle porte seriali in Stackdriver dalle VM di Compute Engine.
Per impostazione predefinita, il logging delle porte seriali per le VM di Compute Engine è disattivato e può essere attivato selettivamente sulle singole VM o sui singoli progetti utilizzando gli attributi dei metadati. La disattivazione del logging delle porte seriali può causare il malfunzionamento di determinati servizi che lo utilizzano, ad esempio i cluster di Google Kubernetes Engine. Prima di applicare questo vincolo, verifica che i prodotti nel tuo progetto non utilizzino il logging delle porte seriali. Puoi consentire a istanze VM specifiche di utilizzare il logging della porta seriale. Applica prima i tag per contrassegnare le istanze, poi utilizza le regole condizionali basate sui valori dei tag per escludere correttamente queste istanze dall'applicazione.constraints/compute.managed.disableSerialPortLoggingLimita l'utilizzo del DNS interno globale (gDNS) per i progetti con un'impostazione DNS ZonalOnly. [Anteprima pubblica] Se applicato, questo vincolo limita l'utilizzo di gDNS. Questa limitazione disattiva la creazione di VM gDNS e l'aggiornamento delle VM per utilizzare gDNS. Il ripristino di un progetto zDNS in gDNS non verrà bloccato, ma comporterà l'applicazione della violazione delle norme durante le successive chiamate all'API Instance.
constraints/compute.managed.disallowGlobalDnsRichiedi OS Config [Anteprima pubblica] Quando applicato, questo vincolo richiede l'attivazione di VM Manager (OS Config) su tutti i nuovi progetti. Nei progetti nuovi ed esistenti, questo vincolo impedisce gli aggiornamenti dei metadati che disabilitano VM Manager a livello di progetto, di zona del progetto o di istanza. Puoi consentire a istanze VM specifiche di disabilitare VM Manager. Applica prima i tag per contrassegnare le istanze, poi utilizza le regole condizionali basate sui valori dei tag per escludere correttamente queste istanze dall'applicazione.
constraints/compute.managed.requireOsConfigRichiedi accesso al sistema operativo [Anteprima pubblica] Se applicato, questo vincolo richiede l'abilitazione di OS Login in tutti i nuovi progetti creati. Nei progetti nuovi ed esistenti, questo vincolo impedisce gli aggiornamenti dei metadati che disabilitano OS Login a livello di progetto, di zona del progetto o di istanza. Puoi consentire a istanze VM specifiche di disattivare OS Login. Applica prima i tag per contrassegnare le istanze, poi utilizza le regole condizionali basate sui valori dei tag per escludere correttamente queste istanze dall'applicazione.
constraints/compute.managed.requireOsLoginLimita l'utilizzo del forwarding del protocollo Questo vincolo consente di limitare i tipi di deployment di forwarding di protocollo (interno o esterno) che possono essere creati nella tua organizzazione. Per configurare il vincolo, specifica una lista consentita del tipo di deployment di forwarding di protocollo da consentire. La lista consentita può includere solo i seguenti valori:
- INTERNAL
- EXTERNAL
constraints/compute.managed.restrictProtocolForwardingCreationForTypesLimita l'inoltro IP VM [Anteprima pubblica] Questo vincolo definisce se le istanze VM di Compute Engine possono abilitare l'inoltro IP. Per impostazione predefinita, se non viene specificato alcun criterio, qualsiasi VM può abilitare l'inoltro IP in qualsiasi rete virtuale. Se applicato, questo vincolo negherà la creazione o l'aggiornamento di istanze VM con il forwarding IP abilitato. Puoi consentire a istanze VM specifiche di abilitare l'IP forwarding. Applica prima i tag per contrassegnare le istanze, poi utilizza le regole condizionali basate sui valori dei tag per escludere correttamente queste istanze dall'applicazione.
constraints/compute.managed.vmCanIpForwardLimitare gli IP esterni per le istanze VM [Anteprima pubblica] Questo vincolo definisce se le istanze VM di Compute Engine possono utilizzare indirizzi IP esterni IPv4. Per impostazione predefinita, tutte le istanze VM possono utilizzare indirizzi IP esterni. Se applicato, questo vincolo negherà la creazione o l'aggiornamento di istanze VM con indirizzi IP esterni IPv4. Questo vincolo non limiterà l'utilizzo di indirizzi IP esterni IPv6. Puoi consentire a istanze VM specifiche di utilizzare indirizzi IP IPv4 esterni. Applica prima i tag per contrassegnare le istanze, poi utilizza le regole condizionali basate sui valori dei tag per escludere correttamente queste istanze dall'applicazione.
constraints/compute.managed.vmExternalIpAccessValutazione gerarchica dei metadati
I vincoli gestiti che si basano su chiavi di metadati predefinite, come OS Login o l'accesso alla porta seriale, supportano la valutazione gerarchica. Quando Compute Engine valuta questi vincoli, controlla i valori dei metadati impostati a livello di istanza VM, progetto o zona.
L'impostazione dei valori dei metadati a livello di progetto o di zona consente di gestire le istanze VM su larga scala. Tuttavia, l'applicazione dei vincoli avviene solo durante le chiamate API di creazione o aggiornamento dell'istanza VM. Pertanto, le modifiche ai metadati del progetto o della zona influiscono sulla conformità ai vincoli di un'istanza VM solo quando l'istanza viene creata o aggiornata.
Vincoli e livelli basati sui metadati
Vincolo Chiave dei metadati Livelli della gerarchia dei metadati compute.managed.disableSerialPortAccessserial-port-enableProgetto, zona, istanza compute.managed.requireOsLoginenable-osloginProgetto, zona, istanza compute.managed.disableGuestAttributesAccessenable-guest-attributesProgetto, zona, istanza compute.managed.requireOsConfigenable-osconfigProgetto, zona, istanza compute.managed.disallowGlobalDnsVmDnsSettingProgetto, Istanza Implementazione sicura: il ciclo di vita dei criteri
Per evitare interruzioni del servizio quando implementi gradualmente nuovi vincoli, Google consiglia di implementare i vincoli gestiti seguendo questi passaggi:
Analizzare con Policy Simulator
Prima di applicare una policy, utilizza Policy Simulator per vedere quali risorse esistenti violano la policy. Segui questi passaggi:
Nella console Google Cloud , vai alla pagina Policy dell'organizzazione.
Nella barra dei filtri, cerca il vincolo, quindi fai clic sul nome del vincolo per passare alla pagina Dettagli policy.
Fai clic su Testa modifiche per generare un report di simulazione.
Potrebbero essere necessarie alcune ore prima che le modifiche ai metadati gerarchici vengano visualizzate nel report di simulazione per i vincoli sulle impostazioni dei metadati VM.
Esamina il report per riconfigurare le risorse non conformi o richiedere esenzioni.
Convalida con dry run
La modalità dry run registra le violazioni in Cloud Logging, ma non applica le limitazioni.
Per testare un vincolo, utilizza il comando
gcloud org-policies set-policycome segue:Crea un file YAML della policy (ad esempio
dry-run-policy.yaml) con undryRunSpec:name: projects/PROJECT_ID/policies/compute.managed.requireOsLogin dryRunSpec: rules: - enforce: trueSostituisci
PROJECT_IDcon l'ID progetto.Applica la policy:
gcloud org-policies set-policy dry-run-policy.yaml
Applicazione completa
Dopo aver simulato e testato la policy, puoi applicarla a una risorsa. La propagazione delle modifiche alle policy in tutti i sistemiGoogle Cloud può richiedere fino a 15 minuti.
Test dell'applicazione dei vincoli
Dopo aver impostato un criterio, puoi verificarne l'applicazione utilizzando gcloud CLI. Ad esempio, per testare il vincolo
compute.managed.requireOsLogin, segui questi passaggi:Elenca le policy esistenti per confermare la configurazione:
gcloud org-policies list --project=PROJECT_IDApplica il criterio di applicazione utilizzando un file YAML:
gcloud org-policies set-policy enforce_managed_constraint.yamlVerifica l'applicazione forzata chiamando un'API di mutazione. Il tentativo di creare un'istanza VM con metadati non conformi dovrebbe non riuscire:
gcloud compute instances create VM_NAME \ --machine-type=MACHINE_TYPE \ --image-family=IMAGE_FAMILY \ --image-project=IMAGE_PROJECT \ --metadata=enable-oslogin=falseSostituisci quanto segue:
VM_NAME: il nome della nuova istanza VM.MACHINE_TYPE: un tipo di macchina valido, ad esempioe2-micro.IMAGE_FAMILY: una famiglia di immagini valida, ad esempiodebian-11.IMAGE_PROJECT: il progetto della famiglia di immagini, ad esempiodebian-cloud.
Controlla il messaggio di errore. Dovresti visualizzare un rifiuto che indica il vincolo specifico violato:
ERROR: (gcloud.compute.instances.create) Could not fetch resource: - Operation denied by org policy: [constraints/compute.managed.requireOsLogin]
Esenzioni condizionali con i tag
Puoi utilizzare i tag per concedere eccezioni a risorse specifiche in base alle esigenze aziendali. In questo esempio, utilizziamo un tag denominato
osLoginOptionalper identificare le risorse esenti dal requisito OS Login. Quando associ questo tag con un valore ditruea una risorsa, la policy dell'organizzazione consente l'esistenza di questa risorsa specifica senza che sia abilitato OS Login, anche se la policy rimane applicata rigorosamente al resto dell'ambiente.Per concedere un'eccezione utilizzando i tag:
Crea un tag: utilizza gcloud CLI per creare una chiave tag e un valore tag.
Crea la chiave tag:
gcloud resource-manager tags keys create osLoginOptional \ --parent=organizations/ORGANIZATION_IDCrea il valore del tag:
gcloud resource-manager tags values create true \ --parent=organizations/ORGANIZATION_ID/tagKeys/osLoginOptional
Sostituisci
ORGANIZATION_IDcon l'ID della tua organizzazione.Collega il tag a una risorsa. Per esentare un progetto dal vincolo
compute.managed.requireOsLogin, associa il tagosLoginOptional=trueal progetto utilizzando il comandogcloud resource-manager tags bindings create:gcloud resource-manager tags bindings create \ --tag-value=ORGANIZATION_ID/osLoginOptional/true \ --parent=//cloudresourcemanager.googleapis.com/projects/PROJECT_ID \ --location=globalSostituisci
ORGANIZATION_IDcon l'ID organizzazione ePROJECT_IDcon l'ID del progetto che vuoi esentare.Per scoprire come collegare i tag ad altre risorse, consulta Collega un tag a una risorsa.
Aggiorna la policy: crea o aggiorna il file YAML della policy (ad esempio,
policy.yaml) per includere la regola condizionale.name: projects/PROJECT_ID/policies/compute.managed.requireOsLogin spec: rules: - condition: expression: "resource.matchTag('ORGANIZATION_ID/osLoginOptional', 'true')" enforce: false - enforce: trueSostituisci quanto segue:
PROJECT_ID: il tuo ID progetto.ORGANIZATION_ID: l'ID della tua organizzazione.
Applica la policy: utilizza il seguente comando gcloud CLI per attivare la configurazione:
gcloud org-policies set-policy policy.yaml
Migrazione dai vincoli legacy
Durante la migrazione, tieni presente che i vincoli gestiti migliorano, ma non replicano esattamente, il comportamento dei criteri legacy. I vincoli gestiti offrono una maggiore prevedibilità perché verificano le violazioni solo durante le richieste API che creano o modificano le risorse. Se una richiesta viola un vincolo, la chiamata API non va a buon fine e viene generato un errore chiaro. Ciò differisce dai criteri legacy, che potevano essere applicati in varie fasi di un'operazione o utilizzati come attributi delle risorse, rendendo il comportamento di applicazione meno prevedibile.
Quando passi da un vincolo
compute.*legacy a un equivalentecompute.managed.*moderno, segui questi passaggi per evitare un inasprimento involontario delle restrizioni:- Scopri: identifica la nuova alternativa al vincolo gestito.
- Analizza e convalida: utilizza il simulatore di criteri e la prova generale come descritto in precedenza.
- Applica vincolo gestito: applica il nuovo vincolo gestito insieme a quello legacy.
- Elimina le policy legacy:
- Vai a Inventario asset nella console Google Cloud e filtra per
orgpolicy.Policye per il nome del vincolo legacy per identificare tutte le norme che utilizzano il vincolo legacy. - Elimina tutte le policy che utilizzano il vincolo legacy. L'eliminazione di un criterio ripristina il comportamento predefinito gestito da Google per questo vincolo.
- Vai a Inventario asset nella console Google Cloud e filtra per
Passaggi successivi
- Scopri di più sui concetti e sui vantaggi fondamentali del servizio in Introduzione al servizio Policy dell'organizzazione.
- Per istruzioni dettagliate sulla creazione e la gestione delle policy, consulta la documentazione di Resource Manager.
- Visualizza l'elenco completo dei vincoli disponibili in tutti i servizi Google Cloud .
- Scopri come utilizzare Policy Simulator per l'analisi avanzata dell'impatto delle policy della tua organizzazione.
Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.
Ultimo aggiornamento 2026-03-04 UTC.
[[["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 2026-03-04 UTC."],[],[]] -