Informazioni sulla valutazione della gerarchia

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

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.

Diagramma di ereditarietà

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:

  1. Risorsa 1 definisce un criterio che imposta inheritFromParent su TRUE 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 .

  2. Risorsa 2 definisce un criterio che imposta inheritFromParent su TRUE 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 .

  3. Risorsa 3 definisce un criterio che imposta inheritFromParent su FALSE e consente l'esagono giallo . La policy del nodo organizzazione non viene ereditata, quindi la policy effettiva valuta solo il permesso di esagono giallo.

  4. Risorsa 4 definisce una policy che imposta inheritFromParent su FALSE e include il valore restoreDefault. 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 su DENY 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 per constraints/iam.managed.disableServiceAccountCreation.

  • Un progetto all'interno di questa cartella imposta enforced: false per constraints/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.