Establece una política de la organización con etiquetas

Las etiquetas proporcionan una forma de permitir o rechazar políticas de manera condicional en función de si un recurso tiene una etiqueta específica. Puedes usar etiquetas y la aplicación condicional de políticas de la organización para proporcionar un control centralizado de los recursos en tu en la nube.

Antes de comenzar

Para obtener más información sobre qué son las etiquetas y cómo funcionan, consulta el Descripción general de las etiquetas.

Para obtener instrucciones detalladas sobre cómo usar las etiquetas, consulta Crea y administra etiquetas.

Establece una política de la organización con etiquetas

Si quieres usar etiquetas para determinar dónde debe aplicarse una política de la organización, debes debes especificar una condición en el archivo YAML de la política de la organización. Puedes configurar para que coincida con un par clave-valor de etiqueta específico, lo que requiere que un el valor de la etiqueta está configurado para que se aplique la política de la organización.

La mayoría de las políticas de la organización se evalúan y aplican cuando un recurso crearse o actualizarse. No es posible adjuntar una etiqueta a un recurso antes de por lo que las políticas condicionales de la organización no pueden evaluar etiquetas recurso a medida que se crea, solo en las etiquetas heredadas de de Google Cloud.

Las etiquetas se evalúan para los recursos de organización, carpeta y proyecto. Más probable por debajo de los proyectos en la jerarquía de recursos, política de la organización, con ciertas excepciones, como Cloud Run de Google Cloud. Para obtener información sobre restricciones específicas de las políticas de la organización, consulta Restricciones de las políticas de la organización.

Ejemplo de política de listas

En el siguiente ejemplo, se muestra cómo configurar un archivo de políticas de la organización que aplica la restricción gcp.resourceLocations. Esta política de la organización usa valores condicionales y no condicionales, establecidos dentro del mismo archivo de política.

Console

Para configurar la política de la organización, haz lo siguiente:

  1. En la consola de Google Cloud, ve a la página Políticas de la organización.

    Ir a Políticas de la organización

  2. En el selector de proyectos, elige el proyecto para el que deseas establecer la política de la organización.

  3. En la página Políticas de la organización, selecciona una restricción de la lista. Aparecerá la página Detalles de la política para esa restricción.

  4. Para actualizar la política de la organización de este recurso, haz clic en Administra la política.

  5. En la página Editar política, selecciona Anular la política del elemento superior.

  6. En Aplicación de la política, selecciona una opción de aplicación:

    • Para combinar y evaluar las políticas de la organización, selecciona Combinar con superior. Para obtener más información sobre la jerarquía de herencia y recursos, consulta la página sobre cómo obtener información de la evaluación de jerarquías.

    • Para anular las políticas heredadas de un recurso superior, selecciona Reemplazar.

  7. Haz clic en Agregar regla.

  8. En Valores de política, selecciona si esta política de la organización debe permitir todos los valores, rechazar todos los valores o especificar un conjunto personalizado de valores.

  9. De manera opcional, para hacer que la política de la organización sea condicional en una etiqueta, haz clic en Agregar condición.

    1. En el campo Título, ingresa un nombre para la condición.

    2. En el campo Descripción, asigna una descripción a tu condición. La descripció￳n proporciona contexto sobre las etiquetas que se requieren y cómo afectan a los recursos.

    3. Puedes usar el Creador de condiciones para crear una condición que requiere una etiqueta particular para que se aplique la restricción.

      1. En el cuadro Tipo de condición, selecciona Etiqueta.

      2. Selecciona el Operador para tu condición. Para hacer coincidir una etiqueta completa, usa el operador has value Para hacer coincidir una clave de etiqueta y un valor de etiqueta, utiliza el operador has value ID.

      3. Si seleccionaste el operador tiene el valor, ingresa el nombre con espacio de nombres de la etiqueta. Si seleccionaste has value ID ingresa los IDs de clave y valor.

      4. Puedes crear varias condiciones haciendo clic en Add. Si agregas otra condición, puedes establecer la lógica condicional para requerirlos todos activando And. Puedes configurar lógica condicional para requerir que solo una de las condiciones sea verdadera activando O (Or).

      5. Para borrar una expresión, haz clic en la X grande que aparece a la derecha de los campos de condición.

      6. Cuando termines de editar tus condiciones, haz clic en Guardar.

    4. El Editor de condiciones se puede usar para crear una expresión condicional de manera programática. También se mostrará una lista el conjunto actual de condiciones.

      1. Puedes usar el editor de la condición para aplicar el !. operador lógico. Por ejemplo, la consulta !resource.matchTag('ORGANIZATION_ID/location', 'us-west1') aplicaría la restricción de la política de la organización a cualquier recurso que no tenga la etiqueta us-west1.
  10. Para aplicar la política, haz clic en Establecer política.

gcloud

Para establecer la política de la organización, crea un archivo YAML para almacenar la política:

name: RESOURCE_TYPE/RESOURCE_ID/policies/gcp.resourceLocations
spec:
  rules:
  # As there is no condition specified, this allowedValue is enforced unconditionally.
  - values:
      allowedValues:
      - us-east1-locations
  # This condition applies to the values block.
  - condition:
      expression: "resource.matchTag('ORGANIZATION_ID/location', 'us-west1')"
    values:
      allowedValues:
      - us-west1-locations

Ejecuta el comando set-policy:

gcloud org-policies set-policy POLICY_PATH

Reemplaza lo siguiente:

  • POLICY_PATH: Es la ruta de acceso completa al archivo YAML de la política de tu organización.

  • RESOURCE_TYPE: organizations, folders o projects

  • RESOURCE_ID: El ID de la organización, el ID de la carpeta ID del proyecto o un número de proyecto, según el tipo de recurso especificado en RESOURCE_TYPE

  • ORGANIZATION_ID: La organización superior de la clave de etiqueta

Para esta política de la organización, el recurso y todos sus recursos secundarios se le aplicará la restricción gcp.resourceLocations, con Solo allowedValues de us-east1-locations. Se aplicará la restricción gcp.resourceLocations a cualquiera de estos recursos que tengan la etiqueta location: us-west1, con allowedValues de us-east1-locations y us-west1-locations.

De esta manera, se pueden aplicar conjuntos de valores condicionales y no condicionales para una restricción en una sola política de la organización.

Ejemplo de política booleana

En el siguiente ejemplo, se muestra cómo configurar un archivo de políticas de la organización que aplica la restricción compute.disableSerialPortAccess. Esta política de la organización especifica que los recursos pueden acceder a todos los puertos en serie, pero usa un para restringir el acceso al puerto en serie solo a los recursos que tienen etiqueta coincidente.

Console

Para configurar la política de la organización, haz lo siguiente:

  1. En la consola de Google Cloud, ve a la página Políticas de la organización.

    Ir a Políticas de la organización

  2. En el selector de proyectos, selecciona el proyecto para el que deseas configurar la política de la organización.

  3. Selecciona una restricción de la lista que se encuentra en la página Políticas de la organización. Debería aparecer la página Detalles de la política para esa restricción.

  4. Para actualizar la política de la organización de este recurso, haz clic en Administra la política.

  5. En la página Editar política, selecciona Anular la política del elemento superior.

  6. Haz clic en Agregar regla.

  7. En Aplicación, selecciona si la aplicación de esta política de la organización debe estar activada o desactivada.

  8. De manera opcional, para hacer que la política de la organización sea condicional en una etiqueta, haz clic en Agregar condición. Ten en cuenta que si agregas una regla condicional a política de la organización, debes agregar solo una regla incondicional la política no se puede guardar.

    1. En el campo Título, ingresa un nombre para la condición.

    2. En el campo Descripción, asigna una descripción a tu condición. La descripció￳n proporciona contexto sobre las etiquetas que se requieren y cómo afectan a los recursos.

    3. Puedes usar el Creador de condiciones para crear una condición que requiere una etiqueta particular para que se aplique la restricción.

      1. En el cuadro Tipo de condición, selecciona Etiqueta.

      2. Selecciona el Operador para tu condición. Para hacer coincidir una etiqueta completa, usa el operador has value Para hacer coincidir una clave de etiqueta y un valor de etiqueta, utiliza el operador has value ID.

      3. Si seleccionaste el operador tiene el valor, ingresa el nombre con espacio de nombres de la etiqueta. Si seleccionaste has value ID ingresa los IDs de clave y valor.

      4. Puedes crear varias condiciones haciendo clic en Add. Si agregas otra condición, puedes establecer la lógica condicional para requerirlos todos activando And. Puedes configurar lógica condicional para requerir que solo una de las condiciones sea verdadera activando O (Or).

      5. Para borrar una expresión, haz clic en la X grande que aparece a la derecha de los campos de condición.

      6. Cuando termines de editar tus condiciones, haz clic en Guardar.

      7. Una política de la organización con una condición aplicada debe tener solo una regla sin condición. Haz clic en Agregar regla y establece si aplicación de esta política de la organización debería estar activada o desactivado.

    4. El Editor de condiciones puede usarse para crear una condición de forma programática. También se mostrará una lista el conjunto actual de condiciones.

      1. Puedes usar el editor de la condición para aplicar el !. operador lógico. Por ejemplo, la consulta !resource.matchTag('ORGANIZATION_ID/location', 'us-west1') aplicaría la restricción de la política de la organización a cualquier recurso que no tenga la etiqueta us-west1.
  9. Para finalizar y aplicar la política de la organización, haz clic en Guardar (Save).

gcloud

Para establecer la política de la organización, crea un archivo YAML para almacenar la política:

name: RESOURCE_TYPE/RESOURCE_ID/policies/gcp.disableSerialPortAccess
spec:
  rules:
  - condition:
      expression: "resource.matchTag(\"ORGANIZATION_ID/disableSerialAccess\", \"yes\")"
    enforce: true
  - enforce: false

Ejecuta el comando set-policy:

gcloud org-policies set-policy POLICY_PATH

Reemplaza lo siguiente:

  • POLICY_PATH: Es la ruta de acceso completa al archivo YAML de la política de tu organización.

  • RESOURCE_TYPE: organizations, folders o projects

  • RESOURCE_ID: El ID de la organización, el ID de la carpeta, el ID del proyecto o el número del proyecto

  • ORGANIZATION_ID: Es la organización superior de tu clave de etiqueta

Para esta política de la organización, el recurso y todos sus recursos secundarios tendrán la restricción gcp.disableSerialPortAccess aplicada. El sistema rechazará cualquier recurso que tenga la etiqueta disableSerialAccess: yes. política de la organización. A ningún recurso que no tenga la etiqueta disableSerialAccess: yes se le aplicará la restricción.

Agrega restricciones de forma condicional a la política de la organización

Puedes usar etiquetas para agregar condicionalmente restricciones de políticas de la organización a recursos según las etiquetas que adjuntaron. Puedes agregar varias condiciones dentro de la misma política de la organización, lo que te brinda un control detallado los recursos a los que quieres que se aplique la política de la organización.

Common Expression Language o CEL es el lenguaje de expresión que se usa para especificar expresiones condicionales. Una expresión condicional consiste en una o más declaraciones que se unen mediante operadores lógicos (&&, || o !). Para obtener más información, consulta la especificación de CEL y su definición de lenguaje.

Considera una política de la organización para restringir las ubicaciones en las que se pueden crear los recursos según las etiquetas aplicadas a esos recursos. Para ello, crear una política de la organización que aplique las gcp.resourceLocations restricciones y usar condiciones para limitar la aplicación solo a ciertos recursos.

Para comenzar, crea un archivo temporal, /tmp/policy.yaml, que contenga tus política de la organización:

name: organizations/ORGANIZATION_ID/policies/gcp.resourceLocations
spec:
  rules:
  - condition:
      expression: "resource.matchTag('ORGANIZATION_ID/location', 'us-east')"
    values:
      allowedValues:
      - in:us-east1-locations
  - condition:
      expression: "resource.matchTag('ORGANIZATION_ID/location', 'us-west')"
    values:
      allowedValues:
      - in:us-west1-locations
  - values:
      deniedValues:
      - in:asia-south1-locations

Reemplaza ORGANIZATION_ID por la organización superior de tu clave de etiqueta.

En este ejemplo, cualquier recurso que tenga adjunta la etiqueta location: us-east se restringirán a las ubicaciones dentro del grupo de valores us-east1-locations. Cualquiera el recurso que tiene la etiqueta location: us-west adjunta se restringirá a ubicaciones dentro del grupo de valores us-west1-locations. Se bloquearán todos los recursos de la organización desde las ubicaciones dentro del grupo de valores asia-south1-locations.

Luego, configura la política con el comando set-policy:

gcloud org-policies set-policy /tmp/policy.yaml

Restringe los recursos sin etiqueta

Puedes usar etiquetas y políticas de organización condicionales para restringir los recursos que no usen una etiqueta en particular. Si estableces una política de la organización un recurso que restringe servicios y lo hace condicional a la presencia de una etiqueta de recurso, no se podrán usar recursos secundarios que desciendan de ese recurso, a menos que que se te haya etiquetado. De esta manera, los recursos deben configurarse de acuerdo con tu plan de administración antes de que se puedan usar.

Para restringir recursos de organizaciones, carpetas o proyectos sin etiquetar, puedes usar el Operador lógico ! en una consulta condicional cuando se crea tu organización política de la empresa.

Por ejemplo, para permitir el uso de sqladmin.googleapis.com solo en proyectos. que tengan la etiqueta sqladmin=enabled, puedes crear una política de la organización que rechaza sqladmin.googleapis.com en proyectos que no tienen la etiqueta sqladmin=enabled

  1. Cómo crear una etiqueta que identifica si los recursos han tenido administración adecuada se aplicó. Por ejemplo, puedes crear una etiqueta con la clave sqlAdmin y el valor enabled, para indicar que este recurso debe permitir el uso de la API de Cloud SQL Admin. Por ejemplo:

    Crea una clave y un valor de etiqueta

  2. Haz clic en el nombre de la etiqueta recién creada. Necesitas el nombre con espacio de nombres de la clave de etiqueta, que aparece en Ruta de la clave de la etiqueta, en los próximos pasos para crear una estado.

  3. Crea una política de la organización Restrict Resource Service Usage a nivel. del recurso de tu organización para denegar el acceso a la API de Cloud SQL Admin. Por ejemplo:

    Crea una política de la organización para restringir recursos

  4. Agrega una condición a la política de la organización anterior y especifica que la política se aplicará si la etiqueta de administración no está presente. El operador lógico NOT no es compatible con el creador de condiciones, por lo que esta condición debe crearse. en el editor de condiciones. Por ejemplo:

    Compila una política de la organización condicional

    !resource.matchTag("012345678901/sqlAdmin", "enabled")

Ahora, la etiqueta sqlAdmin=enabled debe adjuntarse a un proyecto o heredarse de él antes de que los desarrolladores puedan usar la API de Administrador de Cloud SQL con ese proyecto.

Herencia de la política de la organización

Las restricciones de la Lista de políticas de la organización que se habilitan mediante etiquetas se fusionarán con la política de la organización existente, según las reglas de herencia normales. Estas reglas condicionales solo se aplicarán si la condición es verdadera.

Las restricciones booleanas de la política de la organización habilitadas mediante etiquetas anularán la política de la organización existente. Además, debido a que las políticas booleanas solo pueden tener dos estados, verdadero o falso, todas las declaraciones condicionales deben ser lo opuesto a la declaración sin condición para evitar que varias etiquetas entren en conflicto.

Por ejemplo, considera una política de la organización que aplique la restricción disableSerialPortAccess. El valor incondicional, que es el valor que se usa si no hay condiciones que lo anulen, es verdadero. Por lo tanto, cualquier otra declaración condicional para esta política debe establecerse en falso a fin de no entrar en conflicto.

¿Qué sigue?

Para obtener más información sobre el uso de etiquetas, lee el Página Crea y administra etiquetas.

Obtén más información para crear y administrar políticas de la organización Para obtener más información, consulta Usa restricciones.