Informazioni sui vincoli

Un vincolo è un tipo di limitazione per un servizio Google Cloud o un elenco di servizi Google Cloud. Pensa ai vincoli come a un progetto che definisce quali comportamenti vengono controllati. Questo progetto base viene quindi applicato a un nodo della gerarchia delle risorse come criterio dell'organizzazione, che implementa le regole definite nel vincolo. Il servizio Google Cloud mappato a quel vincolo e associato al nodo della gerarchia delle risorse applicherà quindi le limitazioni configurate all'interno del criterio dell'organizzazione.

Un vincolo ha un tipo che determina i valori del criterio dell'organizzazione che è possibile inserire e utilizzare per verificare l'applicazione. Il servizio Google Cloud in applicazione valuterà il tipo e il valore del vincolo per determinare la limitazione. Per ulteriori informazioni, consulta Vincoli dei criteri dell'organizzazione.

Durante la valutazione della gerarchia, viene applicato il criterio dell'organizzazione impostato sul nodo attuale della gerarchia delle risorse. Se inheritFromParent è impostato su TRUE, l'unione dell'ereditarietà ha effetto.

Attributi del vincolo

Ogni vincolo è definito da questi attributi:

  • Nome: il nome univoco del vincolo.
    • Ad esempio, constraints/compute.disableSerialPortAccess
  • Nome visualizzato: il nome del vincolo adatto alle persone.
  • Descrizione: dettagli sulle applicazioni delle norme in atto e su quali servizi Google Cloud.
  • Comportamento predefinito: comportamento in assenza di una configurazione definita dall'utente all'interno del criterio.

Tipi di vincoli

Vincolo di elenco

Un vincolo dell'elenco consente o non consente un elenco di valori definiti in un criterio dell'organizzazione. Questo elenco di valori è espresso come una stringa di sottoalbero della gerarchia. La stringa della sottostruttura specifica il tipo di risorsa a cui si applica. Ad esempio, un elenco di ID progetto nel formato projects/PROJECT_ID per constraints/compute.trustedImageProjects.

La seguente tabella descrive alcune configurazioni di vincoli comuni per l'applicazione dei criteri:

Criterio Configurazione del vincolo
Consenti un insieme specifico di valori Imposta il campo dei valori consentiti (ListPolicy.allowed_values) su un elenco di stringhe
Imposta ListPolicy.all_values su ALL_VALUES_UNSPECIFIED
Negare un insieme specifico di valori Imposta il campo dei valori negati (ListPolicy.denied_values) su un elenco di stringhe
Imposta ListPolicy.all_values su ALL_VALUES_UNSPECIFIED
Nega un valore e tutti i relativi valori figlio Imposta il campo dei valori negati (ListPolicy.denied_values) su una stringa di sottostruttura, ad esempio organizations/1234.
Imposta ListPolicy.all_values su ALL_VALUES_UNSPECIFIED
Consenti tutti i valori validi Imposta ListPolicy.all_values su ALLOW
Non impostare ListPolicy.allowed_values o ListPolicy.denied_values
Nega tutti i valori Imposta ListPolicy.all_values su DENY
Non impostare ListPolicy.allowed_values o ListPolicy.denied_values

Ai valori è anche possibile assegnare un prefisso nel formato prefix:value, che a sua volta dà un significato aggiuntivo al valore:

  • is:: applica un confronto rispetto al valore esatto. Si tratta di un comportamento analogo a quello dell'assenza di prefisso ed è obbligatorio quando il valore include i due punti.
  • under:: applica un confronto al valore e a tutti i relativi valori figlio. Se una risorsa viene consentita o negata con questo prefisso, vengono negate anche le relative risorse figlio. Il valore fornito deve essere una stringa di sottoalbero della gerarchia, come nei seguenti esempi:
    • organizations/ORGANIZATION_ID
    • folders/FOLDER_ID
    • projects/PROJECT_ID

Alcuni vincoli non sono compatibili con l'utilizzo delle stringhe della struttura ad albero secondaria della gerarchia come valori. Per informazioni sui vincoli che supportano l'utilizzo dei prefissi dei valori dei sottostruttura della gerarchia, consulta Vincoli dei criteri dell'organizzazione.

I prefissi dei valori della sottostruttura gerarchica sono una funzionalità beta, possono essere modificati in modi incompatibili con le versioni precedenti e non sono soggetti a SLA (accordo sul livello del servizio) o a norme sul ritiro. Per ulteriori informazioni sull'utilizzo di valori con prefisso nei vincoli, consulta Configurare l'applicazione forzata rispetto a una sottostruttura della gerarchia.

Se non viene fornito alcun elenco di valori, l'impostazione predefinita applicata, a seconda del vincolo specifico, potrebbe essere:

  • ALLOW: è consentito qualsiasi valore valido.
  • DENY - Nessun valore consentito.

Vincolo booleano

Un boolean constraint è applicato o meno. Il criterio viene applicato impostando il valore Policy.enforced su True.

Ad esempio, constraints/compute.disableSerialPortAccess avrà due possibili stati:

  • TRUE: il vincolo disableSerialPortAccess viene applicato e l'accesso alla porta seriale non è consentito.
  • FALSE: il vincolo disableSerialPortAccess non è applicato o controllato, quindi l'accesso alla porta seriale è consentito.

Se non viene configurato alcun criterio o se il criterio viene impostato su RestoreDefault, l'accesso alla porta seriale è consentito perché l'impostazione predefinita del vincolo è Consenti.