Informazioni sulla valutazione della gerarchia

Quando imposti una policy dell'organizzazione su una risorsa, per impostazione predefinita tutti i discendenti di quella risorsa ereditano la policy dell'organizzazione. Se imposti una policy dell'organizzazione sulla risorsa organizzazione, queste limitazioni vengono ereditate da tutte le risorse figlio.

Puoi impostare la stessa policy dell'organizzazione con una configurazione diversa sulle risorse secondarie, che verrà sovrascritta o unita alla policy ereditata in base alle regole di valutazione della gerarchia e al tipo di vincolo definito nella policy dell'organizzazione.

Prima di iniziare

Gerarchia di esempio

Nel seguente diagramma della gerarchia delle risorse, ogni risorsa imposta un criterio dell'organizzazione che applica un vincolo gestito legacy e definisce se il criterio eredita il criterio della risorsa padre. Le forme colorate rappresentano i valori che i criteri dell'organizzazione consentono o negano.

Diagramma di ereditarietà

Un vincolo è un particolare tipo di limitazione applicata a un Google Cloud servizio o a un elenco di Google Cloud servizi. Nell'esempio precedente, il vincolo rappresenta il valore predefinito del vincolo, che definisce il comportamento quando il vincolo non è definito in una policy dell'organizzazione. Il valore predefinito del vincolo in questo esempio consente tutti i valori di . I nodi sottostanti definiscono le policy dell'organizzazione che eseguono l'override del 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 diamante blu. Il criterio del nodo dell'organizzazione viene ereditato e unito al criterio impostato per la risorsa 1. La policy effettiva valuta per consentire il quadrato rosso , il cerchio verde e il diamante blu .

  2. Risorsa 2 definisce una policy 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 una policy che imposta inheritFromParent su FALSE e consente l'esagono giallo . La policy del nodo organizzazione non viene ereditata, quindi la policy effettiva valuta solo l'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 di livello più basso 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 principali 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:

  • Il valore di 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 è un criterio effettivo 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 la policy predefinita

Richiamando RestoreDefault, la policy dell'organizzazione utilizza il comportamento predefinito del vincolo per questa risorsa. Anche le risorse figlio ereditano questo comportamento.