Cuando estableces una política de la organización en un recurso, todos los elementos subordinados de ese recurso heredan la política de la organización de forma predeterminada. Si configuras una política de la organización en el recurso de tu organización, todos los recursos secundarios heredan esas restricciones.
Puedes establecer la misma política de la organización con una configuración diferente en los recursos secundarios, que reemplazará a la política heredada o se combinará con ella en función de las reglas de la evaluación de la jerarquía.
Antes de comenzar
Lee la documentación sobre las restricciones para obtener una descripción de la restricciones.
Lee la descripción general del servicio de políticas de la organización para obtener información sobre cómo funciona la política de la organización.
Ejemplo de una jerarquía
En el siguiente diagrama de la jerarquía de recursos, cada recurso establece una política de la organización y define si hereda la política de su recurso principal. Las formas coloreadas representan los valores que la política de la organización admite o rechaza.
Una Restricción es una definición de los comportamientos que controla una política de la organización. En el ejemplo anterior, la restricción representa el valor predeterminado de la restricción, que define el comportamiento cuando no hay una política de la organización para la restricción. La restricción predeterminada en este ejemplo permite todos los valores de
. En los nodos que le siguen, se definen las políticas de la organización que reemplazan el valor predeterminado de la restricción cuando admiten o rechazan los valores.La política vigente en cada nodo se evalúa en función de las reglas de herencia. Si no se establece una política de la organización, el recurso hereda el comportamiento de la restricción predeterminado. En cambio, si configuras una política de la organización, se usa tu política. En el ejemplo anterior, el nodo de la organización define una política que permite el cuadrado rojo
y el círculo verde .Los recursos que están debajo del Nodo de la organización en la jerarquía se evalúan de la siguiente manera:
El Recurso 1 define una política que establece
inheritFromParent
enTRUE
y permite el diamante azul . La política del nodo de la organización se hereda y se combina con la política establecida en el recurso 1. La política vigente se evalúa para permitir el cuadrado rojo , el círculo verde y el diamante azul .El Recurso 2 define una política que establece
inheritFromParent
enTRUE
y rechaza el círculo verde . Los valores de rechazo siempre prevalecen durante la conciliación de las políticas. La política del nodo de la organización se hereda y se combina con la política establecida en el recurso 2. La política vigente solo permite el cuadrado rojo de .El Recurso 3 define una política que establece
inheritFromParent
enFALSE
y permite el hexágono amarillo . La política del Nodo de organización no se hereda, por lo que la política vigente solo admite el hexágono amarillo .El Recurso 4 define una política que establece
inheritFromParent
enFALSE
y, además, incluye el valorrestoreDefault
. La política del Nodo de la organización no se hereda, y se usa el comportamiento de la restricción predeterminado, por lo que la política vigente admite todos los valores de .
Reglas de evaluación de la jerarquía
Las siguientes reglas rigen cómo se evalúa la política de la organización en un recurso determinado. Necesitas la función de administrador de políticas de la organización para configurar la política de la organización.
No se configuró una política de la organización
Si no configuras una política de la organización, el recurso heredará una de su antecesor más bajo con una política establecida. Si no hay ninguna política establecida en la jerarquía principal, se aplicará de forma forzosa el comportamiento de la restricción predeterminado.
Herencia
Un recurso que tiene configurada una política de la organización de forma predeterminada reemplaza cualquier política que hayan configurado sus recursos superiores en la jerarquía. Sin embargo, si en un recurso se configuró inheritFromParent = true
, la política vigente del recurso principal se hereda, se combina y se concilia para evaluar la política vigente resultante. Por ejemplo:
- Una carpeta rechaza el valor
projects/123
. - Un proyecto dentro de esa carpeta rechaza el valor
projects/456
.
Las dos políticas se combinan y, en este caso, dan como resultado una política vigente que rechaza projects/123
y projects/456
.
Cómo heredar el comportamiento predeterminado
El comportamiento predeterminado nunca se combina. Cuando se establece una política, siempre reemplaza cualquier comportamiento predeterminado. Por ejemplo:
- El parámetro
constraints/iam.allowServiceAccountCredentialLifetimeExtension
se establece enDENY
de forma predeterminada a nivel de la organización. - Para esta restricción, un proyecto directamente debajo de esa organización permite el valor
SomeServiceAccount
.
Dado que el comportamiento predeterminado nunca se combina y siempre se reemplaza, esto genera una política efectiva que permite SomeServiceAccount
. Por el contrario, si la política se estableciera explícitamente en DENY
a nivel de la organización, se aplicaría la regla "El valor DENY
tiene prioridad" y la política vigente sería DENY
.
Inhabilita la herencia
Si un recurso tiene una política que incluye inheritFromParent = false
, no hereda la política de la organización de su superior. En su lugar, el recurso hereda el comportamiento predeterminado de la restricción, a menos que establezcas una política con valores permitidos o rechazados.
Concilia conflictos de políticas
Cuando un recurso hereda políticas de la organización, las políticas heredadas se combinan y se concilian con la política de la organización del recurso superior. Cuando se evalúan las políticas de la organización con reglas de lista, los valores DENY
siempre prevalecen. Por ejemplo:
- Una carpeta rechaza el valor
projects/123
. - Un proyecto dentro de esa carpeta admite el valor
projects/123
.
Las políticas se combinan y el valor DENY
prevalece. La política vigente rechaza todos los valores y evalúa, de la misma forma, si el recurso principal o secundario rechaza el valor. Te recomendamos que no incluyas un mismo valor en las listas de los recursos admitidos y rechazados. Esto puede hacer que la comprensión de tus políticas se torne dificultosa.
Las políticas de la organización con reglas booleanas no combinan ni concilian políticas. Si se especifica una política en un recurso, ese valor TRUE
o FALSE
se usa para determinar la política vigente. Por ejemplo:
Una carpeta configura
enforced: true
enconstraints/iam.managed.disableServiceAccountCreation
.Un proyecto dentro de esa carpeta configura
enforced: false
enconstraints/iam.managed.disableServiceAccountCreation
.
Se ignora el valor enforced: true
configurado en la carpeta, ya que enforced: false
se configura en el proyecto mismo. La política de la organización no se aplica en ese proyecto.
Restablece la política predeterminada
Cuando invocas 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.