Comprende las restricciones

Por restricción se entiende un tipo particular de restricción de un servicio de Google Cloud o de una lista de servicios de Google Cloud. Piensa en la restricción como un plano técnico que define qué comportamientos se controlan. Luego, este plano técnico se aplica en un nodo de la jerarquía de recursos como una política de la organización, que implementa las reglas definidas en la restricción. El servicio Google Cloud asignado a esa restricción y asociado con ese nodo de la jerarquía de recursos aplicará de forma forzosa las restricciones configuradas en la política de la organización.

Una restricción tiene un tipo, que determina los valores de la política de la organización que se pueden ingresar y usar para verificar la aplicación forzosa. El servicio de aplicación forzosa de Google Cloud evaluará el tipo y el valor de la restricción para determinar la restricción. Para obtener más información, consulta las restricciones de las políticas de la organización.

Durante la evaluación de la jerarquía, la política de la organización configurada en el nodo actual de la jerarquía de recursos entra en vigor. Si inheritFromParent se configura como TRUE, la combinación de herencias entra en vigor.

Atributos de la restricción

Cada restricción se define por los siguientes atributos:

  • Nombre: Es el nombre único de la restricción.
    • Por ejemplo, constraints/compute.disableSerialPortAccess
  • Nombre visible: Es el nombre descriptivo de la restricción.
  • Descripción: Son los detalles sobre qué aplicaciones forzosas se implementan y mediante qué servicios de Google Cloud.
  • Comportamiento predeterminado: Es el comportamiento que se adopta en ausencia de una configuración definida por el usuario en la política.

Tipos de restricciones

Restricción de lista

Una restricción de lista permite o niega una lista de valores que se define en una política de la organización. Esta lista de valores se expresa como una string del subárbol de jerarquías. La string de subárbol especifica el tipo de recurso al que se aplica. Por ejemplo, una lista de ID de proyectos con el formato projects/PROJECT_ID para constraints/compute.trustedImageProjects.

En la siguiente tabla, se describen algunas opciones de configuración comunes de restricciones para la aplicación forzosa de políticas:

Política Configuración de la restricción
Admitir un conjunto específico de valores Configura el campo de valores admitidos (ListPolicy.allowed_values) en una lista de las strings.
Configura ListPolicy.all_values como ALL_VALUES_UNSPECIFIED
Denegar un conjunto específico de valores Configura el campo de valores denegados (ListPolicy.denied_values) en una lista de strings.
Configura ListPolicy.all_values como ALL_VALUES_UNSPECIFIED
Denegar un valor y todos sus valores secundarios Configura el campo de valores denegados (ListPolicy.denied_values) en una string de subárbol, como organizations/1234
Configura ListPolicy.all_values como ALL_VALUES_UNSPECIFIED
Admitir todos los valores válidos Configura ListPolicy.all_values como ALLOW
No configures ListPolicy.allowed_values ni ListPolicy.denied_values
Denegar todos los valores Configura ListPolicy.all_values como DENY
No configures ListPolicy.allowed_values ni ListPolicy.denied_values

A los valores también se les puede asignar un prefijo con el formato prefix:value, que le da al valor un significado adicional:

  • is: Aplica una comparación con el valor exacto. Este es el mismo comportamiento que se adopta cuando no se tiene un prefijo, y se requiere cuando el valor incluye dos puntos.
  • under: Aplica una comparación con el valor y todos sus valores secundarios. Si se permite o se niega un recurso con este prefijo, se hará lo mismo con sus recursos secundarios. El valor proporcionado debe ser una string del subárbol de jerarquías, como en los siguientes ejemplos:
    • organizations/ORGANIZATION_ID
    • folders/FOLDER_ID
    • projects/PROJECT_ID

Algunas restricciones no son compatibles con el uso de strings del subárbol de la jerarquía como valores. Para obtener información sobre las restricciones que admiten el uso de prefijos de valores del subárbol de jerarquías, consulta las restricciones en la política de la organización.

Los prefijos del valor del subárbol de jerarquías son una función Beta, pueden cambiar de formas no compatibles con las versiones anteriores y no están sujetos a ningún ANS o política de baja. Para obtener más información sobre el uso de valores con prefijo en las restricciones, consulta la página sobre cómo configurar la aplicación forzosa en un subárbol de jerarquías.

Si no se proporciona una lista de los valores, el valor predeterminado que rige, en función de la restricción específica, puede ser uno de los siguientes:

  • ALLOW: Se permite cualquier valor válido.
  • DENY: No se permite ningún valor.

Restricción booleana

Una boolean constraint se puede aplicar de forma forzosa, o no. La política se aplica de forma forzosa si configuras Policy.enforced como True.

Por ejemplo, constraints/compute.disableSerialPortAccess tendrá dos estados posibles:

  • TRUE: La restricción disableSerialPortAccess se aplica de forma forzosa, y no se permite el acceso al puerto en serie.
  • FALSE: La restricción disableSerialPortAccess no se verifica ni se aplica de forma forzosa, por lo que se permite el acceso al puerto en serie.

Si no se configura una política o si la política se configura como RestoreDefault, se permite el acceso al puerto en serie, ya que la restricción predeterminada dicta que se puede permitir.