Quando define uma política da organização num recurso, todos os descendentes desse recurso herdam a política da organização por predefinição. Se definir uma política da organização no recurso da organização, essas restrições são herdadas por todos os recursos subordinados.
Pode definir a mesma política de organização com uma configuração diferente nos recursos secundários, que vai substituir ou unir-se à política herdada com base nas regras de avaliação da hierarquia e no tipo de restrição definido na política de organização.
Antes de começar
Leia a página Compreender as restrições para saber o que é uma restrição.
Leia a vista geral do serviço de políticas de organização para saber como funciona a política de organização.
Hierarquia de exemplo
No diagrama de hierarquia de recursos seguinte, cada recurso define uma política de organização que aplica uma restrição gerida antiga e define se a política herda a política do recurso principal. As formas coloridas representam os valores que a política da organização permite ou nega.
Uma restrição é um tipo específico de restrição que é aplicada a um Google Cloud serviço ou a uma lista de Google Cloud serviços. No exemplo anterior, a restrição representa a predefinição da restrição, que define o comportamento quando a restrição não está definida numa política da organização. A predefinição da restrição neste exemplo permite todos os valores . Os nós abaixo definem políticas da organização que substituem a predefinição da restrição permitindo ou recusando valores.
A política em vigor em cada nó é avaliada com base nas regras de herança. Se uma política da organização não estiver definida, o recurso herda o comportamento da restrição predefinido. Se definir uma política da organização, a sua política é usada em alternativa. No exemplo anterior, o nó da organização define uma política que permite o
quadrado vermelho e o círculo verde.Os recursos que estão na hierarquia abaixo do nó da organização são avaliados da seguinte forma:
O recurso 1 define uma política que define
inheritFromParent
comoTRUE
e permite diamante azul. A política do nó da organização é herdada e unida à política definida no recurso 1. A política eficaz é avaliada para permitir quadrado vermelho, círculo verde e diamante azul.O recurso 2 define uma política que define
inheritFromParent
comoTRUE
e nega o círculo verde . Os valores de recusa têm sempre precedência durante a conciliação de políticas. A política do nó da organização é herdada e unida à política definida no recurso 2. A política efetiva é avaliada para permitir apenas o quadrado vermelho .O recurso 3 define uma política que define
inheritFromParent
comoFALSE
e permite o hexágono amarelo . A política do nó da organização não é herdada, pelo que a política em vigor é avaliada para permitir apenas o hexágono amarelo .O recurso 4 define uma política que define
inheritFromParent
comoFALSE
e inclui o valorrestoreDefault
. A política do nó da organização não é herdada e é usado o comportamento da restrição predefinido, pelo que a política efetiva é avaliada para permitir todos os valores.
Regras de avaliação da hierarquia
As seguintes regras regem a forma como uma política de organização é avaliada num determinado recurso. Precisa da função Administrador da política da organização para definir a política da organização.
Nenhuma política da organização definida
Se não definir uma política da organização, um recurso herda do seu ancestral mais baixo com uma política definida. Se não existir nenhuma política definida em nenhum ponto da hierarquia de antecessores, o comportamento predefinido da restrição é aplicado.
Herança
Um recurso que tenha uma política de organização definida por predefinição substitui qualquer política definida pelos respetivos recursos principais na hierarquia. No entanto, se um recurso tiver inheritFromParent = true
definido, a política efetiva do recurso principal é herdada, unida e reconciliada para avaliar a política efetiva resultante. Por exemplo:
- Uma pasta nega o valor
projects/123
. - Um projeto abaixo dessa pasta nega o valor
projects/456
.
As duas políticas são unidas e, neste caso, resultam numa política eficaz que nega projects/123
e projects/456
.
Herdar o comportamento predefinido
O comportamento predefinido nunca é unido. Quando uma política é definida, substitui sempre qualquer comportamento predefinido. Por exemplo:
- Por predefinição, o
constraints/iam.allowServiceAccountCredentialLifetimeExtension
está definido comoDENY
ao nível da organização. - Para esta restrição, um projeto diretamente abaixo dessa organização permite o valor
SomeServiceAccount
.
Uma vez que o comportamento predefinido nunca é unido e é sempre substituído, isto resulta numa política eficaz que permite o SomeServiceAccount
. Por outro lado, se a política fosse definida explicitamente como DENY
ao nível da organização, a regra "O valor DENY
tem prioridade" seria aplicada e a política efetiva seria DENY
.
Não permita a herança
Se um recurso tiver uma política que inclua inheritFromParent = false
, não herda a política da organização do respetivo recurso principal. Em alternativa, o recurso herda o comportamento predefinido da restrição, a menos que defina uma política com valores permitidos ou recusados.
Conciliar conflitos de políticas
Quando um recurso herda políticas da organização, as políticas herdadas são
unidas e reconciliadas com a política da organização do recurso principal. Quando avalia as políticas da organização com regras de lista, os valores DENY
têm sempre precedência. Por exemplo:
- Uma pasta nega o valor
projects/123
. - Um projeto abaixo dessa pasta permite o valor
projects/123
.
As políticas são unidas e o valor DENY
tem precedência. A política eficaz nega todos os valores e é avaliada da mesma forma, quer o recurso principal ou o recurso secundário negue o valor. Recomendamos que não inclua um valor nas listas permitidas e recusadas. Se o fizer, pode dificultar a compreensão das suas políticas.
As políticas da organização com regras booleanas não são unidas nem reconciliadas. Se for especificada uma política num recurso, esse valor de TRUE
ou FALSE
é usado para determinar a política eficaz. Por exemplo:
Uma pasta define
enforced: true
paraconstraints/iam.managed.disableServiceAccountCreation
.Um projeto abaixo dessa pasta define
enforced: false
paraconstraints/iam.managed.disableServiceAccountCreation
.
O valor enforced: true
definido na pasta é ignorado porque enforced: false
está definido no próprio projeto. A política organizacional não é aplicada nesse projeto.
Reponha a política predefinida
Ao invocar RestoreDefault
, a política da organização usa o comportamento predefinido da restrição para este recurso. Os recursos filho também herdam este
comportamento.