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
- Ad esempio,
- 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.