Cuando defines una política de la organización en un recurso, todos los descendientes de ese recurso heredan la política de la organización de forma predeterminada. Si defines una política de organización en el recurso de tu organización, todos los recursos secundarios heredarán esas restricciones.
Puedes definir la misma política de organización con una configuración diferente en los recursos secundarios, que se sobrescribirá o se combinará con la política heredada en función de las reglas de evaluación de la jerarquía.
Antes de empezar
Consulta la página Información sobre las restricciones para saber qué es una restricción.
Consulta la descripción general del servicio de políticas de organización para saber cómo funciona.
Jerarquía de ejemplo
En el siguiente diagrama de jerarquía de recursos, cada recurso define una política de la organización y determina si hereda la política de su recurso superior. Las formas de colores representan los valores que permite o deniega la política de la organización.
Una restricción es una definición de los comportamientos que controla una política de organización. En el ejemplo anterior, Constraint representa el valor predeterminado de la restricción, que define el comportamiento cuando no hay ninguna política de la organización para la restricción. La restricción predeterminada de este ejemplo permite
todos los valores. Los nodos que hay debajo definen políticas de organización que anulan el valor predeterminado de la restricción permitiendo o denegando valores.La política vigente en cada nodo se evalúa en función de las reglas de herencia. Si no se define una política de la organización, el recurso hereda el comportamiento predeterminado de la restricción. Si defines una política de organización, se usará esa política. En el ejemplo anterior, el nodo de organización define una política que permite el
cuadrado rojo y el círculo verde.Los recursos que se encuentran en la jerarquía situada debajo del nodo de organización se evalúan de la siguiente manera:
Recurso 1 define una política que asigna el valor
TRUE
ainheritFromParent
y permite diamante azul. La política del nodo de organización se hereda y se combina con la política definida en el recurso 1. La política efectiva se evalúa para permitir rojo cuadrado, verde círculo y diamante azul.Recurso 2 define una política que asigna el valor
TRUE
ainheritFromParent
y deniega el círculo verde . Los valores de denegación siempre tienen prioridad durante la conciliación de políticas. La política del nodo de organización se hereda y se combina con la política definida en el recurso 2. La política efectiva evalúa para permitir solo el cuadrado rojo .Recurso 3 define una política que asigna el valor
FALSE
ainheritFromParent
y permite el hexágono amarillo . La política del nodo de organización no se hereda, por lo que la política efectiva solo permite el hexágono amarillo .Resource 4 define una política que asigna el valor
FALSE
ainheritFromParent
e incluye el valorrestoreDefault
. La política del nodo de organización no se hereda y se usa el comportamiento predeterminado de la restricción, por lo que la política efectiva permite todos los valores.
Reglas de evaluación de la jerarquía
Las siguientes reglas rigen cómo se evalúa una política de organización en un recurso determinado. Para definir una política de organización, necesitas el rol Administrador de políticas de organización.
No se ha definido ninguna política de organización
Si no defines una política de la organización, un recurso hereda la política de su ancestro más cercano que tenga una política definida. Si no se ha definido ninguna política en ningún punto de la jerarquía de ancestros, se aplicará el comportamiento predeterminado de la restricción.
Herencia
Un recurso que tiene una política de organización definida de forma predeterminada sustituye a cualquier política definida por sus recursos superiores en la jerarquía. Sin embargo, si un recurso tiene inheritFromParent = true
, se hereda, se combina y se concilia la política efectiva del recurso superior para evaluar la política efectiva resultante. Por ejemplo:
- Una carpeta deniega el valor
projects/123
. - Un proyecto de esa carpeta deniega el valor
projects/456
.
Las dos políticas se fusionan y, en este caso, dan como resultado una política efectiva que deniega tanto projects/123
como projects/456
.
Heredar el comportamiento predeterminado
El comportamiento predeterminado nunca se combina. Cuando se define una política, siempre sustituye al comportamiento predeterminado. Por ejemplo:
- El
constraints/iam.allowServiceAccountCredentialLifetimeExtension
está definido comoDENY
de forma predeterminada a nivel de organización. - En esta restricción, un proyecto directamente subordinado a esa organización permite el valor
SomeServiceAccount
.
Como el comportamiento predeterminado nunca se combina y siempre se sustituye, se obtiene una política efectiva que permite SomeServiceAccount
. Por el contrario, si la política se definiera explícitamente como DENY
a nivel de organización, se aplicaría la regla "El valor DENY
tiene prioridad" y la política efectiva sería DENY
.
No permitir la herencia
Si un recurso tiene una política que incluye inheritFromParent = false
, no hereda la política de la organización de su elemento superior. En su lugar, el recurso hereda el comportamiento predeterminado de la restricción, a menos que definas una política con valores permitidos o denegados.
Conciliar conflictos de políticas
Cuando un recurso hereda políticas de la organización, estas se combinan y concilian con la política de la organización del recurso superior. Cuando se evalúan políticas de organización con reglas de lista, los valores de DENY
siempre tienen prioridad. Por ejemplo:
- Una carpeta deniega el valor
projects/123
. - Un proyecto de esa carpeta permite el valor
projects/123
.
Las políticas se combinan y el valor de DENY
tiene prioridad. La política efectiva deniega todos los valores y se evalúa de la misma forma tanto si el recurso superior como si el inferior deniega el valor. Le recomendamos que no incluya un valor en las listas de elementos permitidos y denegados. Si lo haces, puede que sea más difícil entender tus políticas.
Las políticas de organización con reglas booleanas no se combinan ni se concilian. Si se especifica una política en un recurso, se usará el valor TRUE
o FALSE
para determinar la política efectiva. Por ejemplo:
Una carpeta define
enforced: true
paraconstraints/iam.managed.disableServiceAccountCreation
.Un proyecto de esa carpeta define
enforced: false
paraconstraints/iam.managed.disableServiceAccountCreation
.
El valor enforced: true
definido en la carpeta se ignora porque enforced: false
se ha definido en el propio proyecto. La política de la organización no se aplica en ese proyecto.
Restablecer la política predeterminada
Al invocar RestoreDefault
, la política de la organización usa el comportamiento predeterminado de la restricción para este recurso. Los recursos secundarios también heredan este comportamiento.