Utilizar restricciones

En esta guía se explica cómo crear una política de organización con una restricción concreta. Las restricciones que se usan en los ejemplos de esta página no son restricciones reales, sino muestras generalizadas con fines educativos.

Para obtener más información sobre las restricciones y los problemas que resuelven, consulta la lista de todas las restricciones del servicio de políticas de la organización.

Antes de empezar

Roles obligatorios

Para obtener los permisos que necesitas para gestionar las políticas de la organización, pide a tu administrador que te conceda el rol de gestión de identidades y accesos Administrador de políticas de la organización (roles/orgpolicy.policyAdmin) en la organización. Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.

También puedes conseguir los permisos necesarios a través de roles personalizados u otros roles predefinidos.

Delegar la administración de políticas de organización

Para delegar la administración de las políticas de la organización en otra cuenta principal, añade una condición a la vinculación de roles:

"bindings": [
  {
    "role": "roles/orgpolicy.policyAdmin",
    "members": [
      "PRINCIPAL_1",
      "PRINCIPAL_2"
    ],
    "condition": {
      "title": "TITLE",
      "description": "DESCRIPTION",
      "expression": "resource.matchTag('TAG_KEY', 'TAG_VALUE')"
    }
  }
]

Haz los cambios siguientes:

  • PRINCIPAL_1,PRINCIPAL_2: una lista de principales a los que quieras delegar el rol de administrador de políticas de la organización.

  • TITLE: el título de la expresión condicional. Por ejemplo, "Administrador de políticas de la organización para entornos de desarrollo".

  • DESCRIPTION: una descripción opcional de la expresión.

  • TAG_KEY: el nombre con espacio de nombres de la clave de la etiqueta. Por ejemplo, 123456789012/environment.

  • TAG_VALUE: el nombre del valor de la etiqueta. El rol solo se concede en los recursos a los que se adjunta esta etiqueta. Por ejemplo, development.

Para obtener más información sobre el uso de condiciones en las políticas de permiso, consulta la descripción general de las condiciones de gestión de identidades y accesos.

Usar reglas de lista en una política de organización

Puedes definir una política de organización en tu recurso de organización que use list rules para denegar el acceso a un servicio concreto. En el siguiente proceso se describe cómo definir una política de la organización mediante la CLI de Google Cloud. Para obtener instrucciones sobre cómo ver y definir políticas de organización mediante la consola Google Cloud , consulta el artículo Crear y gestionar políticas.

Las políticas de la organización que usan reglas de lista no pueden tener más de 500 valores permitidos o denegados individuales, ni superar los 32 KB. Si se crea o se actualiza una política de organización para que tenga más de 500 valores o un tamaño superior a 32 KB, no se podrá guardar correctamente y la solicitud devolverá un error.

Configurar la implementación obligatoria en el recurso de organización

Para configurar la aplicación en una organización mediante la CLI de gcloud, sigue estos pasos:

  1. Obtén la política actual del recurso de organización con el comando describe. Este comando devuelve la política aplicada directamente a este recurso:

    gcloud org-policies describe \
      CONSTRAINT_NAME --organization=ORGANIZATION_ID
    

    Haz los cambios siguientes:

    • ORGANIZATION_ID: identificador único del recurso de organización. El ID de organización tiene el formato de números decimales y no puede tener ceros iniciales.

    • CONSTRAINT_NAME: la restricción del servicio que quieras aplicar. Por ejemplo, la restricción gcp.restrictNonCmekServices limita los servicios que pueden crear recursos sin claves de encriptado gestionadas por el cliente (CMEK).

    También puedes aplicar la política de organización a una carpeta o a un proyecto con las marcas --folder o --project, y el ID de carpeta y el ID de proyecto, respectivamente.

    La respuesta devuelve la política de la organización actual, si existe. Por ejemplo:

    name: projects/841166443394/policies/gcp.resourceLocations
    spec:
      etag: BwW5P5cEOGs=
      inheritFromParent: true
      rules:
      - condition:
          expression: resource.matchTagId("tagKeys/1111", "tagValues/2222")
        values:
          allowedValues:
          - in:us-east1-locations
      - condition:
          expression: resource.matchTag("123/env", "prod")
        values:
          allowedValues:
          - in:us-west1-locations
      - values:
          deniedValues:
          - in:asia-south1-locations
      updateTime: '2021-01-19T12:00:51.095Z'
    

    Si no se define ninguna política, se devolverá un error NOT_FOUND:

    ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.
    
  2. Define la política en la organización con el comando set-policy. De esta forma, se sobrescribe cualquier política vinculada al recurso.

    1. Crea un archivo temporal /tmp/policy.yaml para almacenar la política:

      name: organizations/ORGANIZATION_ID/policies/CONSTRAINT_NAME
      spec:
        rules:
        - values:
            deniedValues:
            - VALUE_A
      
    2. Ejecuta el comando set-policy:

      gcloud org-policies set-policy /tmp/policy.yaml
      
  3. Consulta la política vigente con describe --effective. Devuelve la política de la organización tal como se evalúa en este punto de la jerarquía de recursos, incluida la herencia.

    gcloud org-policies describe \
      CONSTRAINT_NAME --effective \
      --organization=ORGANIZATION_ID
    

    El resultado del comando será el siguiente:

    name: organizations/ORGANIZATION_ID/policies/CONSTRAINT_NAME
    spec:
      etag: BwVJi0OOESU=
      rules:
      - values:
          deniedValues:
          - VALUE_A
    

    Como esta política de organización se ha definido a nivel de organización, todos los recursos secundarios que permitan la herencia la heredarán.

Los cambios en las políticas de la organización pueden tardar hasta 15 minutos en aplicarse por completo.

Configurar la implementación obligatoria en un subárbol de jerarquía

Las restricciones con reglas de lista toman valores definidos explícitamente para determinar qué recursos se deben permitir o denegar. Algunas restricciones también pueden aceptar valores que usen el prefijo under:, que especifica un subárbol con ese recurso como raíz. Si se usa el prefijo under: en un valor permitido o denegado, la política de la organización actuará en ese recurso y en todos sus elementos secundarios. Para obtener información sobre las restricciones que permiten usar el prefijo under:, consulta la página Restricciones de las políticas de la organización.

Un valor que usa el prefijo under: se denomina cadena de subárbol de jerarquía. Una cadena de subárbol de jerarquía especifica el tipo de recurso al que se aplica. Por ejemplo, si se usa una cadena de subárbol de projects/PROJECT_ID al definir la restricción constraints/compute.storageResourceUseRestrictions, se permitirá o se denegará el uso del almacenamiento de Compute Engine para PROJECT_ID y todos sus elementos secundarios.

  1. Obtén la política actual del recurso de organización con el comando describe:

    gcloud org-policies describe \
      CONSTRAINT_NAME \
      --organization=ORGANIZATION_ID
    

    Haz los cambios siguientes:

    • ORGANIZATION_ID es un identificador único del recurso de organización.

    • CONSTRAINT_NAME es la restricción del servicio que quieres aplicar.

    También puedes aplicar la política de organización a una carpeta o a un proyecto con las marcas --folder o --project, y el ID de carpeta y el ID de proyecto, respectivamente.

    Si no se define ninguna política, se devolverá un error NOT_FOUND:

    ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.
    
  2. Define la política en el proyecto con el comando set-policy. El prefijo under: establece la restricción para denegar el recurso con el nombre indicado y todos sus recursos secundarios.

    1. Crea un archivo temporal /tmp/policy.yaml para almacenar la política:

      name: organizations/ORGANIZATION_ID/policies/CONSTRAINT_NAME
      spec:
        rules:
        - values:
            deniedValues:
            - under:folders/VALUE_A
      
    2. Ejecuta el comando set-policy:

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

    Donde:

    • under: es un prefijo que indica que lo que sigue es una cadena de subárbol.

    • folders/VALUE_A es el ID de la carpeta del recurso raíz al que quieres denegar el acceso. Se denegará el acceso a este recurso y a todos sus elementos secundarios en la jerarquía de recursos.

    También puedes aplicar el prefijo under: a organizaciones y proyectos, como en los siguientes ejemplos:

    • under:organizations/VALUE_X

    • under:projects/VALUE_Y

  3. Consulta la política vigente con describe --effective.

    gcloud org-policies describe \
      CONSTRAINT_NAME --effective \
      --organization=ORGANIZATION_ID
    

    El resultado del comando será el siguiente:

    name: organizations/ORGANIZATION_ID/policies/CONSTRAINT_NAME
    spec:
      rules:
      - values:
          deniedValues:
          - under:folders/VALUE_A
    

    Ahora, la política deniega el acceso a la carpeta VALUE_A y a todos sus recursos secundarios.

Los cambios en las políticas de la organización pueden tardar hasta 15 minutos en aplicarse por completo.

Combinar la política de la organización en un proyecto

Puedes definir una política de organización en un recurso, que se combinará con cualquier política heredada de su recurso superior. A continuación, se evaluará esta política combinada para crear una nueva política efectiva basada en las reglas de herencia.

  1. Obtén la política actual del recurso con el comando describe:

    gcloud org-policies describe \
      CONSTRAINT_NAME \
      --project=PROJECT_ID
    

    Haz los cambios siguientes:

    • PROJECT_ID: el identificador único de tu proyecto.

    • CONSTRAINT_NAME: la restricción del servicio que quieras aplicar.

    Si no se define ninguna política, se devolverá un error NOT_FOUND:

    ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.
    
  2. Para ver la política vigente, usa el comando describe --effective:

    gcloud org-policies describe \
      CONSTRAINT_NAME --effective \
      --project=PROJECT_ID
    

    La salida del comando incluirá un valor denegado que hereda del recurso de organización:

    name: projects/PROJECT_ID/policies/CONSTRAINT_NAME
    spec:
      rules:
      - values:
          deniedValues:
          - VALUE_A
    
  3. Define la política en el proyecto con el comando set-policy.

    1. Crea un archivo temporal /tmp/policy.yaml para almacenar la política:

      name: projects/PROJECT_ID/policies/CONSTRAINT_NAME
      spec:
        inheritFromParent: true
        rules:
        - values:
            deniedValues:
            - VALUE_B
            - VALUE_C
      
    2. Ejecuta el comando set-policy:

      gcloud org-policies set-policy /tmp/policy.yaml
      
  4. Vuelve a usar el comando describe --effective para mostrar la política actualizada:

    gcloud org-policies describe \
      CONSTRAINT_NAME --effective \
      --project=PROJECT_ID
    

    El resultado del comando incluirá el resultado efectivo de la combinación de la política del recurso y del elemento superior:

    name: projects/PROJECT_ID/policies/CONSTRAINT_NAME
    spec:
      rules:
      - values:
          deniedValues:
            - VALUE_A
            - VALUE_B
            - VALUE_C
    

Los cambios en las políticas de la organización pueden tardar hasta 15 minutos en aplicarse por completo.

Restaurar el comportamiento predeterminado de las restricciones

Puedes usar el comando reset para restablecer la política y usar el comportamiento predeterminado de la restricción. Para ver una lista de todas las restricciones disponibles y sus valores predeterminados, consulta Restricciones de las políticas de organización.En el siguiente ejemplo, se da por supuesto que el comportamiento predeterminado de las restricciones es permitir todos los valores.

  1. Obtén la política vigente del proyecto para ver la política combinada actual:

    gcloud org-policies describe \
      CONSTRAINT_NAME --effective \
      --project=PROJECT_ID
    

    Sustituye PROJECT_ID por el identificador único de tu proyecto. El resultado del comando será el siguiente:

    name: projects/PROJECT_ID/policies/CONSTRAINT_NAME
    spec:
      rules:
      - values:
          deniedValues:
          - VALUE_A
          - VALUE_B
          - VALUE_C
    
  2. Restablece la política de la organización con el comando reset.

    gcloud org-policies reset CONSTRAINT_NAME \
        --project=PROJECT_ID
    
  3. Obtén la política efectiva para verificar el comportamiento predeterminado:

    gcloud org-policies describe \
      CONSTRAINT_NAME --effective \
      --project=PROJECT_ID
    

    La salida del comando permitirá todos los valores:

    name: projects/PROJECT_ID/policies/CONSTRAINT_NAME
    spec:
      rules:
      - allowAll: true
    

Los cambios en las políticas de la organización pueden tardar hasta 15 minutos en aplicarse por completo.

Eliminar una política de organización

Puedes eliminar una política de organización de un recurso. Un recurso sin una política de organización definida heredará cualquier política de su recurso superior. Si eliminas la política de organización del recurso de organización, la política efectiva será el comportamiento predeterminado de la restricción.

En los siguientes pasos se describe cómo eliminar una política de organización de una organización.

  1. Elimina la política del recurso de organización con el comando delete:

    gcloud org-policies delete \
      CONSTRAINT_NAME \
      --organization=ORGANIZATION_ID
    

    Sustituye ORGANIZATION_ID por el identificador único del recurso de organización. El resultado del comando será el siguiente:

    Deleted policy
    [organizations/ORGANIZATION_ID/policies/CONSTRAINT_NAME].
    {}
    
  2. Obtén la política en vigor de la organización para verificar que no se aplica:

    gcloud org-policies describe \
      CONSTRAINT_NAME --effective \
      --organization=ORGANIZATION_ID
    

    El resultado del comando será el siguiente:

    name: organizations/ORGANIZATION_ID/policies/CONSTRAINT_NAME
    spec:
      rules:
      - allowAll: true
    

En los siguientes pasos se describe cómo eliminar una política de organización de un proyecto:

  1. Elimina la política de un proyecto con el comando delete:

    gcloud org-policies delete \
      CONSTRAINT_NAME \
      --project=PROJECT_ID
    

    Donde PROJECT_ID es el identificador único de tu proyecto. El resultado del comando será el siguiente:

    Deleted policy
    [projects/PROJECT_ID/policies/CONSTRAINT_NAME].
    {}
    
  2. Obtén la política efectiva del proyecto para verificar que no se aplica:

    gcloud org-policies describe \
      CONSTRAINT_NAME --effective \
      --project=PROJECT_ID
    

    El resultado del comando será el siguiente:

    name: projects/PROJECT_ID/policies/CONSTRAINT_NAME
    spec:
      rules:
      - allowAll: true
    

Los cambios en las políticas de la organización pueden tardar hasta 15 minutos en aplicarse por completo.

Usar reglas booleanas en la política de organización

Configurar la implementación obligatoria en el recurso de organización

En el siguiente proceso se describe cómo definir una política de organización con reglas booleanas mediante la CLI de Google Cloud. Para obtener instrucciones sobre cómo ver y definir políticas de la organización con la consola de Google Cloud , consulta Crear y gestionar políticas.

  1. Obtén la política actual del recurso de organización con el comando describe:

    gcloud org-policies describe \
      CONSTRAINT_NAME \
      --organization=ORGANIZATION_ID
    

    Sustituye ORGANIZATION_ID por el identificador único del recurso de organización. También puedes aplicar la política de organización a una carpeta o a un proyecto con las marcas --folder o --project y los IDs de carpeta y de proyecto, respectivamente.

    Si no se define ninguna política, se devolverá un error NOT_FOUND:

    ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.
    
  2. Define la política en el proyecto con el comando set-policy.

    1. Crea un archivo temporal /tmp/policy.yaml para almacenar la política:

      name: organizations/ORGANIZATION_ID/policies/CONSTRAINT_NAME
      spec:
        rules:
        - enforce: true
      
    2. Ejecuta el comando set-policy:

      gcloud org-policies set-policy /tmp/policy.yaml
      
  3. Consulta la política vigente con describe --effective:

    gcloud org-policies describe \
      CONSTRAINT_NAME --effective \
      --organization=ORGANIZATION_ID
    

    El resultado del comando será el siguiente:

    name: organizations/ORGANIZATION_ID/policies/BOOLEAN_CONSTRAINT
    spec:
      rules:
      - enforce: true
    

Los cambios en las políticas de la organización pueden tardar hasta 15 minutos en aplicarse por completo.

Anular la política de la organización de un proyecto

Para anular la política de la organización de un proyecto, define una política que inhabilite la aplicación de la restricción a todos los recursos de la jerarquía inferior al proyecto.

  1. Obtén la política actual del recurso para comprobar que está vacía.

    gcloud org-policies describe \
      CONSTRAINT_NAME \
      --project=PROJECT_ID
    

    Donde PROJECT_ID es el identificador único de tu proyecto.

    Si no se define ninguna política, se devolverá un error NOT_FOUND:

    ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.
    
  2. Obtén la política efectiva del proyecto, que confirma que la restricción se aplica en este proyecto.

    gcloud org-policies describe \
      CONSTRAINT_NAME --effective \
      --project=PROJECT_ID
    

    El resultado del comando será el siguiente:

    name: projects/PROJECT_ID/policies/BOOLEAN_CONSTRAINT
    spec:
      rules:
      - enforce: true
    
  3. Define la política en el proyecto con el comando set-policy.

    1. Crea un archivo temporal /tmp/policy.yaml para almacenar la política:

      name: projects/PROJECT_ID/policies/CONSTRAINT_NAME
      spec:
        rules:
        - enforce: false
      
    2. Ejecuta el comando set-policy:

      gcloud org-policies set-policy /tmp/policy.yaml
      
  4. Obtén la política efectiva para demostrar que ya no se aplica al proyecto.

    gcloud org-policies describe \
      CONSTRAINT_NAME --effective \
      --project=PROJECT_ID
    

    El resultado del comando será el siguiente:

    name: organizations/ORGANIZATION_ID/policies/BOOLEAN_CONSTRAINT
    spec:
      rules:
      - enforce: false
    

Los cambios en las políticas de la organización pueden tardar hasta 15 minutos en aplicarse por completo.

Eliminar una política de organización

Puedes eliminar una política de organización de un recurso. Un recurso sin una política de organización definida heredará cualquier política de su recurso superior. Si eliminas la política de la organización en el recurso de organización, la política efectiva será el comportamiento predeterminado de las restricciones.

En los siguientes pasos se describe cómo eliminar una política de organización en una organización y en un proyecto.

  1. Elimina la política del recurso de organización con el comando delete:

    gcloud org-policies delete \
      CONSTRAINT_NAME \
      --organization=ORGANIZATION_ID
    

    Sustituye ORGANIZATION_ID por un identificador único del recurso de la organización. El resultado del comando será el siguiente:

    Deleted policy
    [organizations/ORGANIZATION_ID/policies/CONSTRAINT_NAME].
    {}
    
  2. Obtén la política en vigor de la organización para verificar que no se aplica:

    gcloud org-policies describe \
      CONSTRAINT_NAME --effective \
      --organization=ORGANIZATION_ID
    

    Si no se define ninguna política, se devolverá un error NOT_FOUND:

    ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.
    
  3. Elimina la política de la organización del proyecto con el comando delete:

    gcloud org-policies delete \
      CONSTRAINT_NAME \
      --project=PROJECT_ID
    

    El resultado del comando será el siguiente:

    Deleted policy
    [organizations/ORGANIZATION_ID/policies/CONSTRAINT_NAME].
    {}
    
  4. Obtén la política efectiva del proyecto para verificar que no se aplica:

    gcloud org-policies describe \
      CONSTRAINT_NAME --effective \
      --project=PROJECT_ID
    

    Sustituye PROJECT_ID por el identificador único de tu proyecto.

    Si no se define ninguna política, se devolverá un error NOT_FOUND:

    ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.
    

Los cambios en las políticas de la organización pueden tardar hasta 15 minutos en aplicarse por completo.

Usar restricciones gestionadas en una política de organización

Las restricciones gestionadas se basan en la plataforma de políticas de organización personalizadas. Pueden usar el simulador de políticas del servicio de políticas de organización y probar las políticas de organización para implementar los cambios en las políticas de forma más segura.

Ver e identificar restricciones gestionadas

Para ver las restricciones gestionadas disponibles para tu organización, haz lo siguiente:

Consola

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

    Ir a Políticas de organización

  2. En el selector de proyectos, selecciona el proyecto, la carpeta o la organización de los que quieras ver las políticas de la organización. En la página Políticas de organización que aparece, se muestra una lista de restricciones de políticas de organización que están disponibles para este recurso.

  3. Puede filtrar u ordenar la lista de políticas de la organización por tipo de restricción para encontrar las restricciones gestionadas. En la lista, selecciona la restricción gestionada de la que quieras ver los detalles. En la página Detalles de la política que aparece, puedes ver la fuente de esta política de la organización, la evaluación de la política efectiva en este recurso, la configuración actual de la política de la organización en este recurso, los detalles de la restricción y los parámetros predeterminados de las restricciones que los usan.

gcloud

Para enumerar las restricciones gestionadas y personalizadas que se aplican en las políticas de la organización de una organización, usa el comando org-policies list-custom-constraints.

gcloud org-policies list-custom-constraints \
  --organization=ORGANIZATION_ID

Sustituye ORGANIZATION_ID por el ID de tu organización.

Para obtener información sobre una restricción gestionada concreta de un recurso, usa el comando org-policies describe-custom-constraint.

gcloud org-policies describe-custom-constraint CONSTRAINT_NAME \
    --organization=ORGANIZATION_ID

Haz los cambios siguientes:

  • CONSTRAINT_NAME: el nombre de la restricción gestionada de la que quieres obtener información. Por ejemplo, iam.managed.disableServiceAccountKeyUpload.

  • ORGANIZATION_ID: el ID de tu organización.

REST

Para enumerar las restricciones gestionadas y personalizadas definidas en las políticas de la organización de una organización, utiliza el método organizations.customConstraints.list.

  GET https://orgpolicy.googleapis.com/v2/{parent=organizations/ORGANIZATION_ID}/customConstraints

Sustituye ORGANIZATION_ID por el ID de tu organización.

Crear y actualizar restricciones gestionadas

Las políticas de organización se definen mediante la configuración de la restricción. Se pueden definir en un recurso, heredar de un recurso superior o restablecerse al comportamiento predeterminado gestionado por Google.

Para crear o actualizar una política de organización basada en una restricción gestionada, sigue estos pasos:

Consola

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

Ir a Políticas de organización

  1. En el selector de proyectos, selecciona el proyecto, la carpeta o la organización para los que quieras editar la política de la organización. En la página Políticas de organización que aparece, se muestra una lista filtrable de restricciones de políticas de organización disponibles para este recurso.

  2. En la lista, selecciona la restricción gestionada cuya política de organización quieras actualizar.

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

  4. En la página Editar política, selecciona Anular política del recurso superior.

  5. Selecciona Añadir una regla.

  6. En Aplicación, indica si quieres activar o desactivar la aplicación de esta política en la organización.

  7. Si quieres que la política de la organización dependa de una etiqueta, haz clic en Añadir condición. Si añades una regla condicional a una política de organización, debes añadir al menos una regla incondicional o la política no se podrá guardar. Para obtener más información, consulta Configurar una política de organización con etiquetas.

  8. Si esta restricción admite parámetros, aparecerán en Parámetros con los valores configurados. Si los parámetros no se han configurado, se mostrarán los valores predeterminados gestionados por Google.

    Para cambiar un parámetro, selecciona Editar.

    1. En Valores, selecciona Predeterminado para restablecer esta restricción y usar y mostrar los valores predeterminados gestionados por Google.

    Selecciona Definido por el usuario para configurar el parámetro.

    1. En los parámetros que aceptan una lista de valores, introduzca un valor para permitir o denegar el acceso al campo. Selecciona Añadir un valor para añadir más campos.

    La expresión del lenguaje de expresión común (CEL) que se usa para validar los valores de los parámetros se describe en Expresión de valores válidos. Todos los valores definidos por el usuario deben cumplir esa expresión.

    1. En el caso de los parámetros booleanos, selecciona True o False para determinar si se debe aplicar el parámetro.

    2. Haz clic en Guardar.

  9. Si quieres previsualizar el impacto del cambio en la política de tu organización antes de que se aplique, haz clic en Probar cambios. Para obtener más información sobre cómo probar los cambios en las políticas de organización, consulta el artículo Probar los cambios en las políticas de organización con el simulador de políticas.

  10. Para aplicar la política de la organización en modo de prueba de funcionamiento, haz clic en Definir política de prueba de funcionamiento. Para obtener más información, consulta Crear una política de organización en modo de prueba.

  11. Una vez que hayas verificado que la política de organización en modo de prueba funciona como se espera, define la política activa haciendo clic en Definir política.

gcloud

  1. Crea un archivo YAML para definir la política de la organización. Si esta restricción no admite parámetros, omite el bloque parameters de rules.

    name: RESOURCE_TYPE/RESOURCE_ID/policies/CONSTRAINT_NAME
    spec:
    rules:
        - enforce: ENFORCEMENT_STATE
          parameters:
            LIST_PARAMETER:
               - LIST_VALUE_1
               - LIST_VALUE_2
            BOOLEAN_PARAMETER: BOOLEAN_VALUE
    
    dryRunSpec:
      rules:
      - enforce: ENFORCEMENT_STATE
        parameters:
          LIST_PARAMETER:
             - LIST_VALUE_1
             - LIST_VALUE_2
          BOOLEAN_PARAMETER: BOOLEAN_VALUE
    

    Haz los cambios siguientes:

    • RESOURCE_TYPE con organizations, folders o projects.

    • RESOURCE_ID con el ID de tu organización, el ID de la carpeta, el ID del proyecto o el número del proyecto, según el tipo de recurso especificado en RESOURCE_TYPE.

    • CONSTRAINT_NAME con el nombre de la restricción que quieras definir.

    • ENFORCEMENT_STATE con true para aplicar esta política de la organización cuando se defina o false para inhabilitarla cuando se defina.

    • LIST_PARAMETER con el nombre del parámetro de lista que se va a configurar. Consulta la descripción de la restricción para ver una lista de los parámetros disponibles.

    • LIST_VALUE_1, LIST_VALUE_2 y otros valores de lista con una lista de valores que se permiten o se deniegan en función de la configuración de este parámetro. Consulta la descripción de la restricción para obtener información sobre los valores aceptables.

    • BOOLEAN_PARAMETER con el nombre del parámetro booleano que se va a configurar. Consulta la descripción de la restricción para ver una lista de los parámetros disponibles.

    • BOOLEAN_VALUE con True o False.

    Si quieres que la política de organización dependa de una etiqueta, añade un bloque condition al rules. Si añade una regla condicional a una política de organización, debe añadir al menos una regla incondicional o la política no se podrá guardar. Para obtener más información, consulta Configurar una política de organización con etiquetas.

  2. Ejecuta el comando org-policies set-policy con la marca dryRunSpec para definir la política de organización en modo de prueba:

     gcloud org-policies set-policy POLICY_PATH \
       --update-mask=dryRunSpec
    

    Sustituye POLICY_PATH por la ruta completa al archivo YAML de la política de tu organización.

    Para obtener más información sobre las políticas de organización de prueba, consulta Crear una política de organización en modo de prueba.

  3. Usa el comando policy-intelligence simulate orgpolicy para previsualizar el impacto del cambio en la política de la organización antes de que se aplique:

    gcloud policy-intelligence simulate orgpolicy \
      --organization=ORGANIZATION_ID \
      --policies=POLICY_PATH
    

    Haz los cambios siguientes:

    • ORGANIZATION_ID con el ID de tu organización, como 1234567890123. No se admite la simulación de cambios en varias organizaciones.

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

    Para obtener más información sobre cómo probar los cambios en las políticas de la organización, consulta Probar los cambios en las políticas de la organización con el simulador de políticas.

  4. Una vez que hayas verificado que la política de la organización en modo de prueba funciona como se espera, define la política activa con el comando org-policies set-policy y la marca spec:

    gcloud org-policies set-policy POLICY_PATH \
      --update-mask=spec
    

    Sustituye POLICY_PATH por la ruta completa al archivo YAML de la política de tu organización.

REST

Para definir la política de la organización, usa el método organizations.policies.create.

POST https://orgpolicy.googleapis.com/v2/{parent=organizations/ORGANIZATION_ID}/policies

El cuerpo JSON de la solicitud contiene la definición de una política de la organización. Si esta restricción no admite parámetros, omite el bloque parameters en rules.

{
  "name": "RESOURCE_TYPE/RESOURCE_ID/policies/CONSTRAINT_NAME",
  "spec": {
    "rules": [
      {
        "enforce": ["ENFORCEMENT_STATE"],
        "parameters": {
          "LIST_PARAMETER": [
            "LIST_VALUE_1",
            "LIST_VALUE_2"
          ],
          BOOLEAN_PARAMETER: BOOLEAN_VALUE
        }
      }
    ]
  }
  "dryRunSpec": {
    "rules": [
      {
        "enforce": ["ENFORCEMENT_STATE"],
        "parameters": {
          "LIST_PARAMETER": [
            "LIST_VALUE_1",
            "LIST_VALUE_2"
          ],
          BOOLEAN_PARAMETER: BOOLEAN_VALUE
        }
      }
    ]
  }
}

Haz los cambios siguientes:

  • RESOURCE_TYPE con organizations, folders o projects.

  • RESOURCE_ID con el ID de tu organización, el ID de la carpeta, el ID del proyecto o el número del proyecto, según el tipo de recurso especificado en RESOURCE_TYPE.

  • CONSTRAINT_NAME con el nombre de la restricción que quieras definir.

  • ENFORCEMENT_STATE con true para aplicar esta política de la organización cuando se defina o false para inhabilitarla cuando se defina.

  • LIST_PARAMETER con el nombre del parámetro de lista que se va a configurar. Consulta la descripción de la restricción para ver una lista de los parámetros disponibles.

  • LIST_VALUE_1, LIST_VALUE_2 y otros valores de lista con una lista de valores que se permiten o se deniegan en función de la configuración de este parámetro. Consulta la descripción de la restricción para obtener información sobre los valores aceptables.

  • BOOLEAN_PARAMETER con el nombre del parámetro booleano que se va a configurar. Consulta la descripción de la restricción para ver una lista de los parámetros disponibles.

  • BOOLEAN_VALUE con True o False.

Si quieres que la política de organización dependa de una etiqueta, añade un bloque condition al rules. Si añade una regla condicional a una política de organización, debe añadir al menos una regla incondicional o la política no se podrá guardar. Para obtener más información, consulta Configurar una política de organización con etiquetas.

Para obtener más información sobre las políticas de organización de prueba, consulta Crear una política de organización en modo de prueba.

Los cambios en las políticas de la organización pueden tardar hasta 15 minutos en aplicarse por completo.