Comprende la evaluación de jerarquías

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

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.

Diagrama de herencias

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:

  1. El Recurso 1 define una política que establece inheritFromParent en TRUE 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 .

  2. El Recurso 2 define una política que establece inheritFromParent en TRUE 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 .

  3. El Recurso 3 define una política que establece inheritFromParent en FALSE 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 .

  4. El Recurso 4 define una política que establece inheritFromParent en FALSE y, además, incluye el valor restoreDefault. 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 en DENY 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 en constraints/iam.managed.disableServiceAccountCreation.

  • Un proyecto dentro de esa carpeta configura enforced: false en constraints/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.