Quando imposti un criterio dell'organizzazione su una risorsa, tutti i discendenti di quella risorsa ereditano il criterio dell'organizzazione per impostazione predefinita. Se imposti un criterio dell'organizzazione sulla risorsa organizzazione, queste limitazioni vengono ereditate da tutte le risorse secondarie.
Puoi impostare la stessa policy dell'organizzazione con una configurazione diversa per le risorse secondarie, che verrà sovrascritta o unita alla policy ereditata in base alle regole di valutazione della gerarchia.
Prima di iniziare
Consulta la pagina Informazioni sui vincoli per scoprire che cos'è un vincolo.
Leggi la panoramica del servizio Policy dell'organizzazione per scoprire come funziona la policy dell'organizzazione.
Gerarchia di esempio
Nel seguente diagramma della gerarchia delle risorse, ogni risorsa imposta un criterio dell'organizzazione e definisce se eredita il criterio della risorsa padre. Le forme colorate rappresentano i valori consentiti o negati dai criteri dell'organizzazione.
Un vincolo è una definizione dei comportamenti controllati da un criterio dell'organizzazione. Nell'esempio precedente, il vincolo rappresenta il vincolo predefinito, che definisce il comportamento quando non esiste un criterio dell'organizzazione per il vincolo. Il valore predefinito del vincolo in questo esempio consente tutti i valori di
. I nodi sottostanti definiscono i criteri dell'organizzazione che sostituiscono il valore predefinito del vincolo consentendo o negando i valori.L'informativa effettiva su ogni nodo viene valutata in base alle regole di ereditarietà. Se una policy dell'organizzazione non è impostata, la risorsa eredita il comportamento predefinito del vincolo. Se imposti un criterio dell'organizzazione, viene utilizzato il tuo criterio. Nell'esempio precedente, il nodo dell'organizzazione definisce un criterio che consente il quadrato
rosso e il cerchio verde.Le risorse che si trovano nella gerarchia sotto il nodo dell'organizzazione vengono valutate nel seguente modo:
Risorsa 1 definisce un criterio che imposta
inheritFromParent
suTRUE
e consente rombo blu. Il criterio del nodo organizzazione viene ereditato e unito al criterio impostato sulla risorsa 1. La policy effettiva valuta per consentire il quadrato rosso , il cerchio verde e il diamante blu .Risorsa 2 definisce un criterio che imposta
inheritFromParent
suTRUE
e nega il cerchio verde . I valori di rifiuto hanno sempre la precedenza durante la riconciliazione dei criteri. Il criterio del nodo dell'organizzazione viene ereditato e unito al criterio impostato per la risorsa 2. Il criterio effettivo valuta per consentire solo il quadrato rosso .Risorsa 3 definisce un criterio che imposta
inheritFromParent
suFALSE
e consente l'esagono giallo . La policy del nodo organizzazione non viene ereditata, quindi la policy effettiva valuta solo il permesso di esagono giallo.Risorsa 4 definisce una policy che imposta
inheritFromParent
suFALSE
e include il valorerestoreDefault
. Il criterio del nodo dell'organizzazione non viene ereditato e viene utilizzato il comportamento predefinito del vincolo, pertanto il criterio effettivo valuta per consentire tutti i valori.
Regole di valutazione della gerarchia
Le seguenti regole regolano la modalità di valutazione di una policy dell'organizzazione in una determinata risorsa. Per impostare i criteri dell'organizzazione, devi disporre del ruolo Amministratore dei criteri dell'organizzazione.
Nessun criterio dell'organizzazione impostato
Se non imposti una policy dell'organizzazione, una risorsa eredita la policy dal suo antenato più vicino con una policy impostata. Se non è impostato alcun criterio in nessun punto della gerarchia ancestrale, viene applicato il comportamento predefinito del vincolo.
Ereditarietà
Una risorsa per cui è impostato un criterio dell'organizzazione per impostazione predefinita sostituisce qualsiasi
criterio impostato dalle risorse padre nella gerarchia. Tuttavia, se una risorsa ha
impostato inheritFromParent = true
, il criterio effettivo della risorsa padre
viene ereditato, unito e riconciliato per valutare il criterio effettivo
risultante. Ad esempio:
- Una cartella nega il valore
projects/123
. - Un progetto all'interno di questa cartella nega il valore
projects/456
.
I due criteri vengono uniti e in questo caso danno origine a un criterio effettivo che
nega sia projects/123
sia projects/456
.
Ereditare il comportamento predefinito
Il comportamento predefinito non viene mai unito. Quando viene impostato un criterio, questo sostituisce sempre qualsiasi comportamento predefinito. Ad esempio:
constraints/iam.allowServiceAccountCredentialLifetimeExtension
è impostato suDENY
per impostazione predefinita a livello di organizzazione.- Per questo vincolo, un progetto direttamente sotto l'organizzazione consente
il valore
SomeServiceAccount
.
Poiché il comportamento predefinito non viene mai unito e viene sempre sostituito, il risultato è
una policy efficace che consente SomeServiceAccount
. Al contrario, se il criterio fosse impostato esplicitamente su DENY
a livello di organizzazione, si applicherebbe la regola "Il valore DENY
ha la precedenza" e il criterio effettivo sarebbe DENY
.
Non consentire l'ereditarietà
Se una risorsa ha un criterio che include inheritFromParent = false
, non
eredita il criterio dell'organizzazione dal relativo elemento padre. La risorsa eredita invece il comportamento predefinito del vincolo, a meno che tu non imposti un criterio con valori consentiti o negati.
Riconciliazione dei conflitti tra criteri
Quando una risorsa eredita i criteri dell'organizzazione, questi vengono
unificati e riconciliati con i criteri dell'organizzazione della risorsa padre. Quando
valuti le policy dell'organizzazione con le regole di elenco, i valori di DENY
hanno sempre
la precedenza. Ad esempio:
- Una cartella nega il valore
projects/123
. - Un progetto all'interno di questa cartella consente il valore
projects/123
.
I criteri vengono uniti e il valore DENY
ha la precedenza. Il criterio
effettivo nega tutti i valori e viene valutato allo stesso modo indipendentemente dal fatto che la risorsa padre o
figlio neghi il valore. Ti consigliamo di non includere un valore sia nell'elenco
consentito sia in quello negato. In questo modo, potrebbe essere più difficile comprendere le tue
norme.
I criteri dell'organizzazione con regole booleane non vengono uniti e riconciliati. Se viene specificata una policy per una risorsa, il valore TRUE
o FALSE
viene utilizzato per determinare la policy effettiva. Ad esempio:
Una cartella imposta
enforced: true
perconstraints/iam.managed.disableServiceAccountCreation
.Un progetto all'interno di questa cartella imposta
enforced: false
perconstraints/iam.managed.disableServiceAccountCreation
.
Il valore enforced: true
impostato nella cartella viene ignorato perché
enforced: false
è definito nel progetto stesso. Il criterio dell'organizzazione
non viene applicato a questo progetto.
Ripristina policy predefinita
Se richiami RestoreDefault
, il criterio dell'organizzazione utilizza il comportamento predefinito del vincolo per questa risorsa. Anche le risorse figlio ereditano questo
comportamento.