Usa las restricciones

En esta guía, se explica cómo crear una política de la organización con un “compute.vmExternalIpAccess”. Las restricciones que se usan en los ejemplos de esta página no serán reales pero ejemplos generalizados 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 comenzar

Roles obligatorios

Para obtener los permisos que necesitas a fin de administrar las políticas de la organización, pídele a tu administrador que te otorgue el rol de IAM de administrador de políticas de la organización (roles/orgpolicy.policyAdmin) en la organización. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

Este rol predefinido contiene los permisos necesarios para administrar las políticas de la organización. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:

Permisos necesarios

Se requieren los siguientes permisos para administrar las políticas de la organización:

  • orgpolicy.constraints.list
  • orgpolicy.policies.create
  • orgpolicy.policies.delete
  • orgpolicy.policies.list
  • orgpolicy.policies.update
  • orgpolicy.policy.get
  • orgpolicy.policy.set

También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos.

Usa restricciones de listas con una política de la organización

Configura la aplicación forzosa en el recurso de la organización

Puedes configurar una política de la organización en el recurso de tu organización que use una restricción de listas para denegar el acceso a un servicio en particular. El siguiente proceso se describe cómo configurar una política de la organización con Google Cloud CLI. Para instrucciones para ver y establecer políticas de la organización con la la consola de Google Cloud, consulta Creación y administración de políticas.

Las políticas de la organización que usan restricciones de lista no pueden tener más de 500 valores individuales permitidos o denegados, y no puede superar los 32 KB. Si un una política de la organización se cree o actualice para tener más de 500 valores, o más de 32 KB de tamaño, no se puede guardar correctamente y la solicitud se se muestra un error.

API de v2

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

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

    Reemplaza lo siguiente:

    • ORGANIZATION_ID: Es un identificador único para el recurso de la organización. ID de la organización tenga el formato de números decimales y no puede tener ceros a la izquierda.

    • LIST_CONSTRAINT: Es la restricción de lista para el servicio que quieres aplicar.

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

    La respuesta mostrará la política actual de la organización, si existe una. 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 estableces una política, se mostrará el error NOT_FOUND:

    ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.
    
  2. Configura la política en la organización con el comando set-policy. Si confirmas esta acción, reemplazará cualquier política vinculada actualmente al recurso.

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

      name: organizations/ORGANIZATION_ID/policies/LIST_CONSTRAINT
      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 actual con describe --effective. Esto devuelve la política de la organización, tal como se evalúa en este punto del recurso jerárquica con la herencia incluida.

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

    La salida del comando se verá de la siguiente forma:

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

    Debido a que esta política de la organización se estableció a nivel de la organización, todos los recursos secundarios que permiten la herencia la heredarán.

API v1

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

    gcloud resource-manager org-policies describe \
      LIST_CONSTRAINT --organization ORGANIZATION_ID

    Aquí:

    • ORGANIZATION_ID es un identificador único para el recurso de la organización. El ID de organización tiene el formato de números decimales y no puede tener ceros a la izquierda.

    • LIST_CONSTRAINT es la restricción de lista para el servicio que deseas aplicar.

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

    Como no se configuró una política, se muestra una política incompleta, como en el siguiente ejemplo:

    constraint: "constraints/LIST_CONSTRAINT"
    etag: BwVJi0OOESU=
  2. Usa el comando deny para agregar el valor denegado del servicio al que deseas restringir el acceso.

    gcloud resource-manager org-policies deny \
      LIST_CONSTRAINT VALUE_A \
      --organization ORGANIZATION_ID

    La salida del comando se verá de la siguiente forma:

    constraint: constraints/LIST_CONSTRAINT
    etag: BwVJi0OOESU=
    listPolicy:
      deniedValues:
        - VALUE_A
    updateTime: CURRENT_TIME
  3. Consulta la política vigente actual con describe --effective.

    gcloud resource-manager org-policies describe \
      LIST_CONSTRAINT --effective \
      --organization ORGANIZATION_ID

    La salida del comando se verá de la siguiente forma:

    constraint: constraints/LIST_CONSTRAINT
    listPolicy:
      deniedValues:
        - VALUE_A

    Debido a que esta política de la organización se estableció a nivel de la organización, todos los recursos secundarios que permiten la herencia la heredarán.

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

Configura la aplicación forzosa en un subárbol de jerarquías

Las restricciones de listas toman valores definidos de forma explícita para determinar qué recursos deben permitirse o denegarse. Algunas restricciones también pueden admitir valores que usen el prefijo under:, que especifica un subárbol que tiene ese recurso como raíz. El uso del prefijo under: en un valor permitido o denegado hace que la política de la organización actúe sobre ese recurso y sobre todos sus recursos secundarios. Para obtener información acerca de las restricciones que admiten el uso del prefijo under:, consulta la página sobre las restricciones de la política de la organización.

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

API de v2

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

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

    Reemplaza lo siguiente:

    • ORGANIZATION_ID es un identificador único para el recurso de la organización.

    • LIST_CONSTRAINT es la restricción de lista para el servicio que deseas aplicar.

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

    Si no estableces una política, se mostrará el error NOT_FOUND:

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

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

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

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

    Aquí:

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

    • folders/VALUE_A es el ID de carpeta del recurso raíz que deseas denegar. Este recurso y todos sus recursos secundarios en la jerarquía de recursos serán denegados.

    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 actual con describe --effective.

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

    La salida del comando se verá de la siguiente forma:

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

    La política ahora evalúa para denegar la carpeta VALUE_A y todos sus recursos secundarios.

API v1

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

    gcloud resource-manager org-policies describe \
      LIST_CONSTRAINT --organization ORGANIZATION_ID

    Aquí:

    • ORGANIZATION_ID es un identificador único para el recurso de la organización.

    • LIST_CONSTRAINT es la restricción de lista para el servicio que deseas aplicar.

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

    Como no se configuró una política, se muestra una política incompleta, como en el siguiente ejemplo:

    constraint: "constraints/LIST_CONSTRAINT"
    etag: BwVJi0OOESU=
  2. Usa el comando deny para agregar el valor denegado del servicio al que deseas restringir el acceso. El prefijo under: establece la restricción para denegar el recurso nombrado y todos sus recursos secundarios.

    gcloud resource-manager org-policies deny \
      LIST_CONSTRAINT under:folders/VALUE_A \
      --organization ORGANIZATION_ID

    Donde:

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

    • folders/VALUE_A es el ID de carpeta del recurso raíz que deseas denegar. Este recurso y todos sus recursos secundarios en la jerarquía de recursos serán denegados.

    • VALUE_B y VALUE_C son proyectos que existen en la jerarquía y tienen a VALUE_A como su superior.

    El resultado del comando de denegación será el siguiente:

    constraint: constraints/LIST_CONSTRAINT
    etag: BwVJi0OOESU=
    listPolicy:
      deniedValues:
        - under:folders/VALUE_A
    updateTime: CURRENT_TIME

    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 actual con describe --effective.

    gcloud resource-manager org-policies describe \
      LIST_CONSTRAINT --effective \
      --organization ORGANIZATION_ID

    La salida del comando se verá de la siguiente forma:

    constraint: constraints/LIST_CONSTRAINT
    listPolicy:
      deniedValues:
        - under:folders/VALUE_A

    La política ahora realiza una evaluación para denegar la carpeta VALUE_A y todos sus recursos secundarios, en este caso VALUE_B y VALUE_C.

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

Combina la política de la organización en un proyecto.

Puedes establecer una política de la organización en un recurso, que se combinará con cualquier política heredada de su recurso superior. Esta política combinada se evaluará para crear una nueva política vigente basada en las reglas de herencia.

API de v2

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

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

    Reemplaza lo siguiente:

    • PROJECT_ID: el identificador único de tu proyecto.

    • LIST_CONSTRAINT: Es la restricción de lista para el servicio que quieres aplicar.

    Si no se configura una política, se mostrará un error NOT_FOUND:

    ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.
    
  2. Puedes mostrar la política vigente actual con el comando describe --effective:

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

    El resultado del comando incluirá un valor denegado que hereda del recurso de la organización:

    name: projects/PROJECT_ID/policies/LIST_CONSTRAINT
    spec:
      rules:
      - values:
          deniedValues:
          - VALUE_A
    
  3. Configura 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/LIST_CONSTRAINT
      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 \
      LIST_CONSTRAINT --effective \
      --project=PROJECT_ID
    

    La salida del comando incluirá el resultado vigente de la combinación de la política del recurso y el superior:

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

API v1

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

    gcloud resource-manager org-policies describe \
      LIST_CONSTRAINT --project PROJECT_ID

    Aquí:

    • PROJECT_ID es el identificador único de tu proyecto.

    • LIST_CONSTRAINT es la restricción de lista para el servicio que deseas aplicar.

    Como no se configuró una política, se muestra una política incompleta, como en el siguiente ejemplo:

    constraint: "constraints/LIST_CONSTRAINT"
    etag: BwVJi0OOESU=
  2. Puedes mostrar la política vigente actual con el comando describe --effective:

    gcloud resource-manager org-policies describe \
      LIST_CONSTRAINT --effective \
      --project PROJECT_ID

    El resultado del comando incluirá un valor denegado que hereda del recurso de la organización:

    constraint: constraints/LIST_CONSTRAINT
    listPolicy:
      deniedValues:
        - VALUE_A
  3. Configura la política en el proyecto con el comando set-policy.

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

      constraint: constraints/LIST_CONSTRAINT
      listPolicy:
        deniedValues:
          - VALUE_B
          - VALUE_C
        inheritFromParent: true
      
    2. Ejecuta el comando set-policy:

      gcloud resource-manager org-policies set-policy \
        --project PROJECT_ID /tmp/policy.yaml
    3. La salida del comando se verá de la siguiente forma:

      constraint: constraints/LIST_CONSTRAINT
      etag: BwVLO2timxY=
      listPolicy:
        deniedValues:
          - VALUE_B
          - VALUE_C
        inheritFromParent: true
  4. Vuelve a usar el comando describe --effective para mostrar la política actualizada:

    gcloud resource-manager org-policies describe \
      LIST_CONSTRAINT --effective \
      --project PROJECT_ID

    La salida del comando incluirá el resultado vigente de la combinación de la política del recurso y el superior:

    constraint: constraints/LIST_CONSTRAINT
      listPolicy:
        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.

Restablece el comportamiento predeterminado de la restricción

Puedes usar el comando reset para restablecer la política y usar el parámetro de configuración comportamiento predeterminado. Para obtener una lista de todas las restricciones disponibles y sus valores predeterminados valores, consulta Restricciones de las políticas de la organización. ejemplo, se supone que el comportamiento predeterminado de la restricción es permitir de salida.

API de v2

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

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

    Reemplaza PROJECT_ID por el identificador único de tu proyecto. La salida del comando se verá de la siguiente forma:

    name: projects/PROJECT_ID/policies/LIST_CONSTRAINT
    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 LIST_CONSTRAINT \
        --project=PROJECT_ID
    
  3. Obtén la política vigente para verificar el comportamiento predeterminado:

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

    La salida del comando admitirá todos los valores:

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

API v1

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

    gcloud resource-manager org-policies describe \
      LIST_CONSTRAINT --effective \
      --project PROJECT_ID

    Reemplaza PROJECT_ID por el identificador único de tu proyecto. La salida del comando se verá de la siguiente forma:

    constraint: constraints/LIST_CONSTRAINT
      listPolicy:
        deniedValues:
          - VALUE_A
          - VALUE_B
          - VALUE_C
  2. Configura la política en el proyecto con el comando set-policy.

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

      restoreDefault: {}
      constraint: constraints/LIST_CONSTRAINT
      
    2. Ejecuta el comando set-policy:

      gcloud resource-manager org-policies set-policy \
        --project PROJECT_ID /tmp/restore-policy.yaml
    3. La salida del comando se verá de la siguiente forma:

      constraint: constraints/LIST_CONSTRAINT
      etag: BwVJi9D3VLY=
      restoreDefault: {}
  3. Obtén la política vigente para verificar el comportamiento predeterminado:

    gcloud resource-manager org-policies describe \
      LIST_CONSTRAINT --effective \
      --project PROJECT_ID

    La salida del comando admitirá todos los valores:

    Constraint: constraints/LIST_CONSTRAINT
    listPolicy:
      allValues: ALLOW

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

Borra una política de la organización

Puedes borrar una política de la organización de un recurso. Un recurso sin un conjunto de políticas de la organización heredará cualquier política de su recurso superior. Si borras la política de la organización en el recurso de la organización, la política vigente será el comportamiento predeterminado de la restricción.

En los siguientes pasos, se describe cómo borrar una política en una organización.

API de v2

  1. Borra la política en el recurso de la organización con delete. :

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

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

    Deleted policy
    [organizations/ORGANIZATION_ID/policies/LIST_CONSTRAINT].
    {}
    
  2. Obtén la política vigente de la organización para verificar que no se aplique de forma forzosa:

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

    La salida del comando se verá de la siguiente forma:

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

En los siguientes pasos, se describe cómo borrar una política de la organización en un proyecto:

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

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

    En este comando, PROJECT_ID es el identificador único de tu proyecto. La salida del comando se verá de la siguiente forma:

    Deleted policy
    [projects/PROJECT_ID/policies/LIST_CONSTRAINT].
    {}
    
  2. Obtén la política vigente del proyecto para verificar que no se aplique de forma forzosa:

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

    La salida del comando se verá de la siguiente forma:

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

API v1

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

    gcloud resource-manager org-policies delete \
      LIST_CONSTRAINT --organization ORGANIZATION_ID

    En este comando, ORGANIZATION_ID es el identificador único del recurso de la organización. La salida del comando se verá de la siguiente forma:

    Deleted [<Empty>].
    
  2. Obtén la política vigente de la organización para verificar que no se aplique de forma forzosa:

    gcloud resource-manager org-policies describe \
      LIST_CONSTRAINT --effective \
      --organization ORGANIZATION_ID

    La salida del comando se verá de la siguiente forma:

    constraint: constraints/LIST_CONSTRAINT
    listPolicy:
      allValues: ALLOW

En los siguientes pasos, se describe cómo borrar una política de la organización en un proyecto:

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

    gcloud resource-manager org-policies delete \
      LIST_CONSTRAINT --project PROJECT_ID

    En este comando, PROJECT_ID es el identificador único de tu proyecto. La salida del comando se verá de la siguiente forma:

    Deleted [<Empty>].
    
  2. Obtén la política vigente del proyecto para verificar que no se aplique de forma forzosa:

    gcloud resource-manager org-policies describe \
      --effective \
      LIST_CONSTRAINT --project PROJECT_ID

    La salida del comando se verá de la siguiente forma:

    constraint: constraints/LIST_CONSTRAINT
    listPolicy:
      allValues: ALLOW

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

Usa restricciones booleanas en la política de la organización

Configura la aplicación forzosa en el recurso de la organización

Puedes configurar una política de la organización en el recurso de tu organización para aplicar de forma forzosa una restricción booleana. El siguiente proceso describe cómo configurar una organización política con Google Cloud CLI. Para obtener instrucciones sobre cómo visualizar y establecer políticas de la organización con la consola de Google Cloud, consulta Creación y administración de políticas.

API de v2

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

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

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

    Si no se configura una política, se mostrará un error NOT_FOUND:

    ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.
    
  2. Configura 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/BOOLEAN_CONSTRAINT
      spec:
        rules:
        - enforce: true
      
    2. Ejecuta el comando set-policy:

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

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

    La salida del comando se verá de la siguiente forma:

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

API v1

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

    gcloud resource-manager org-policies describe \
      BOOLEAN_CONSTRAINT --organization ORGANIZATION_ID

    En este comando, ORGANIZATION_ID es el identificador único del recurso de la organización. También puedes aplicar la política de la organización en una carpeta o un proyecto con las marcas --folder o --project, y con el ID de la carpeta y el ID del proyecto, respectivamente.

    Como no se configuró una política, se muestra una política incompleta, como en el siguiente ejemplo:

    booleanPolicy: {}
    constraint: "constraints/BOOLEAN_CONSTRAINT"
  2. Configura la política para que se aplique de forma forzosa en la organización mediante el comando enable-enforce:

    gcloud resource-manager org-policies enable-enforce \
      BOOLEAN_CONSTRAINT --organization ORGANIZATION_ID

    La salida del comando se verá de la siguiente forma:

    booleanPolicy:
      enforced: true
    constraint: constraints/BOOLEAN_CONSTRAINT
    etag: BwVJitxdiwY=
  3. Consulta la política vigente actual con describe --effective:

    gcloud resource-manager org-policies describe \
      BOOLEAN_CONSTRAINT --effective \
      --organization ORGANIZATION_ID

    La salida del comando se verá de la siguiente forma:

    booleanPolicy:
      enforced: true
    constraint: constraints/BOOLEAN_CONSTRAINT

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

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

Para anular la política de la organización de un proyecto, configura una política que inhabilite la aplicación forzosa de la restricción booleana en todos los recursos de la jerarquía del proyecto.

API de v2

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

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

    En este comando, PROJECT_ID es el identificador único de tu proyecto.

    Si no estableces una política, se mostrará el error NOT_FOUND:

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

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

    La salida del comando se verá de la siguiente forma:

    name: projects/PROJECT_ID/policies/BOOLEAN_POLICY
    spec:
      rules:
      - enforce: true
    
  3. Configura 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/BOOLEAN_CONSTRAINT
      spec:
        rules:
        - enforce: false
      
    2. Ejecuta el comando set-policy:

      gcloud org-policies set-policy /tmp/policy.yaml
      
  4. Obtén la política vigente para demostrar que ya no se aplica de forma forzosa en el proyecto.

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

    La salida del comando se verá de la siguiente forma:

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

API v1

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

    gcloud resource-manager org-policies describe \
      BOOLEAN_CONSTRAINT --project PROJECT_ID

    En este comando, PROJECT_ID es el identificador único de tu proyecto. La salida del comando se verá de la siguiente forma:

    booleanPolicy: {}
    constraint: "constraints/BOOLEAN_CONSTRAINT"
  2. Obtén la política vigente del proyecto, que confirma que la restricción se aplica de forma forzosa en este proyecto.

    gcloud resource-manager org-policies describe \
      BOOLEAN_CONSTRAINT --effective \
      --project PROJECT_ID

    La salida del comando se verá de la siguiente forma:

    booleanPolicy:
      enforced: true
    constraint: constraints/BOOLEAN_CONSTRAINT
  3. Configura la política en el proyecto para que no aplique de forma forzosa la restricción mediante el comando disable-enforce:

    gcloud resource-manager org-policies disable-enforce \
      BOOLEAN_CONSTRAINT --project PROJECT_ID

    La salida del comando se verá de la siguiente forma:

    booleanPolicy: {}
    constraint: constraints/BOOLEAN_CONSTRAINT
    etag: BwVJivdnXvM=
  4. Obtén la política vigente para demostrar que ya no se aplica de forma forzosa en el proyecto.

    gcloud resource-manager org-policies describe \
      --effective \
      BOOLEAN_CONSTRAINT --project PROJECT_ID

    La salida del comando se verá de la siguiente forma:

    booleanPolicy: {}
    constraint: constraints/BOOLEAN_CONSTRAINT

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

Borra una política de la organización

Puedes borrar una política de la organización de un recurso. Un recurso sin un conjunto de políticas de la organización heredará cualquier política de su recurso superior. Si borras la política de la organización en el recurso de la organización, la política vigente será el comportamiento predeterminado de las restricciones.

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

API de v2

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

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

    Reemplazar ORGANIZATION_ID con un identificador único para el recurso de la organización. El resultado de el comando será el siguiente:

    Deleted policy
    [organizations/ORGANIZATION_ID/policies/BOOLEAN_CONSTRAINT].
    {}
    
  2. Obtén la política vigente de la organización para verificar que no se aplique de forma forzosa:

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

    Si no se configura una política, se mostrará un error NOT_FOUND:

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

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

    La salida del comando se verá de la siguiente forma:

    Deleted policy
    [organizations/ORGANIZATION_ID/policies/BOOLEAN_CONSTRAINT].
    {}
    
  4. Obtén la política vigente del proyecto para verificar que no se aplique de forma forzosa:

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

    Reemplazar PROJECT_ID con el identificador único de tu proyecto.

    Si no estableces una política, se mostrará el error NOT_FOUND:

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

API v1

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

    gcloud resource-manager org-policies delete \
      BOOLEAN_CONSTRAINT --organization ORGANIZATION_ID

    En este comando, ORGANIZATION_ID es un identificador único para el recurso de la organización. La salida del comando se verá de la siguiente forma:

    Deleted [<Empty>].
    
  2. Obtén la política vigente de la organización para verificar que no se aplique de forma forzosa:

    gcloud resource-manager org-policies describe \
      --effective \
      BOOLEAN_CONSTRAINT --organization ORGANIZATION_ID

    La salida del comando se verá de la siguiente forma:

    booleanPolicy: {}
    constraint: constraints/BOOLEAN_CONSTRAINT
    
  3. Borra la política de la organización del proyecto con el comando delete:

    gcloud resource-manager org-policies delete \
      BOOLEAN_CONSTRAINT --project PROJECT_ID

    La salida del comando se verá de la siguiente forma:

    Deleted [<Empty>].
    
  4. Obtén la política vigente del proyecto para verificar que no se aplique de forma forzosa:

    gcloud resource-manager org-policies describe \
      BOOLEAN_CONSTRAINT --effective \
      --project PROJECT_ID

    En este comando, PROJECT_ID es el identificador único de tu proyecto. La salida del comando se verá de la siguiente forma:

    booleanPolicy: {}
    constraint: constraints/BOOLEAN_CONSTRAINT

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