Gestionar la restricción de la virtualización anidada


En este documento se describe cómo comprobar si la virtualización anidada está habilitada y cómo modificar la restricción booleana que controla si la virtualización anidada está habilitada en tu organización, proyecto o carpeta.

Una restricción booleana de una política de organización determina si puedes crear VMs anidadas. La restricción booleana de la virtualización anidada es una restricción, lo que significa que, cuando se aplica, indica a la política de organización que restrinja la creación de VMs anidadas. Para obtener más información sobre las restricciones booleanas, consulta Información sobre las restricciones.

La restricción Disable VM nested virtualization no se aplica de forma predeterminada, por lo que no tienes que modificar ninguna restricción booleana para habilitar la virtualización anidada. Aun así, Google recomienda definir explícitamente el valor de la restricción para que tu organización, tus carpetas y tus proyectos no dependan de la configuración predeterminada. Si tu proyecto no está subordinado a una organización, la restricción no se aplica de forma predeterminada y no puedes cambiarla.

Antes de empezar

  • Si aún no lo has hecho, configura la autenticación. La autenticación verifica tu identidad para acceder a Google Cloud servicios y APIs. Para ejecutar código o ejemplos desde un entorno de desarrollo local, puedes autenticarte en Compute Engine seleccionando una de las siguientes opciones:

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. Instala Google Cloud CLI. Después de la instalación, inicializa la CLI de Google Cloud ejecutando el siguiente comando:

      gcloud init

      Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.

    2. Set a default region and zone.

    REST

    Para usar las muestras de la API REST de esta página en un entorno de desarrollo local, debes usar las credenciales que proporciones a la CLI de gcloud.

      Instala Google Cloud CLI. Después de la instalación, inicializa la CLI de Google Cloud ejecutando el siguiente comando:

      gcloud init

      Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.

    Para obtener más información, consulta el artículo Autenticarse para usar REST de la documentación sobre autenticación de Google Cloud .

Comprobar si se permite la virtualización anidada

Para comprobar si la virtualización anidada está permitida en una organización, una carpeta o un proyecto, usa la consola, la CLI de Google Cloud o REST. Google Cloud

Consola

Comprueba si puedes crear máquinas virtuales anidadas en tu organización, carpeta o proyecto. Para ello, comprueba si no se aplica la restricción booleana para inhabilitar la virtualización anidada. Si la restricción Inhabilitar la virtualización anidada de VMs no se aplica en la política de organización, puedes crear VMs anidadas.

  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 organizaciones, carpetas y proyectos, selecciona la entidad para ver las políticas de la organización.

  3. Selecciona la restricción Inhabilitar virtualización anidada de VM para abrir la página Detalles de la política.

  4. Consulta el valor de Implementación obligatoria:

    • Si el valor es No se aplica, la virtualización anidada está habilitada y puedes crear VMs anidadas.

    • Si el valor es Enforced, la virtualización anidada está inhabilitada y no puedes crear máquinas virtuales anidadas.

gcloud

Comprueba el valor de la restricción booleana compute.disableNestedVirtualization con el comando gcloud resource-manager org-policies describe.

Si el resultado de la CLI de Google Cloud no muestra ningún valor para booleanPolicy, significa que la virtualización anidada está permitida y puedes crear máquinas virtuales anidadas.

Si el valor de salida de la CLI de Google Cloud para booleanPolicy es enforced: true, significa que la política de la organización aplica la restricción de inhabilitar la virtualización anidada y no puedes crear máquinas virtuales anidadas.

gcloud resource-manager org-policies \
  describe constraints/compute.disableNestedVirtualization \
  (--organization=ORGANIZATION_ID | --folder=FOLDER_ID |
  --project=PROJECT_ID) --effective

Sustituye exactamente uno de los siguientes elementos:

  • ORGANIZATION_ID: el ID de la organización de la que se va a obtener el valor de la restricción. Para ver una lista de las organizaciones accesibles y sus IDs, ejecuta el comando gcloud organizations list.

  • FOLDER_ID: el ID de la carpeta de la que se va a obtener el valor de la restricción. Para ver una lista de las carpetas accesibles y sus IDs, ejecuta el comando gcloud resource-manager folders list.

  • PROJECT_ID: el ID del proyecto del que se va a obtener el valor de la restricción. Para ver una lista de los proyectos accesibles y sus IDs, ejecuta el comando gcloud projects list.

REST

Usa REST para comprobar el valor de la restricción booleana compute.disableNestedVirtualization, que determina si puedes crear VMs anidadas en tu organización, carpeta o proyecto.

Si la respuesta de REST no devuelve un valor para "booleanPolicy" de la restricción, la virtualización anidada no se inhabilita y puedes crear máquinas virtuales anidadas.

Si el valor de "booleanPolicy" en la salida es "enforced": true, la virtualización anidada está inhabilitada y no puedes crear máquinas virtuales anidadas.

POST https://cloudresourcemanager.googleapis.com/v1/RESOURCE/RESOURCE_ID:getOrgPolicy

{
  "constraint": "compute.disableNestedVirtualization"
}

Haz los cambios siguientes:

  • RESOURCE: el recurso para obtener la política de la organización. Se debe configurar como uno de los siguientes valores:

  • RESOURCE_ID: la organización, la carpeta o el proyecto en el que se debe comprobar el estado de la restricción para inhabilitar la virtualización anidada

Modificar la política de la organización de virtualización anidada

Si tienes el rol adecuado, puedes controlar si una organización, una carpeta o un proyecto pueden crear máquinas virtuales anidadas. Para controlar esta medida, usa la restricción booleana de la virtualización anidada.

Usa la Google Cloud consola, la interfaz de línea de comandos de Google Cloud o REST para habilitar la virtualización anidada en una organización, una carpeta o un proyecto.

Consola

Para habilitar la virtualización anidada, inhabilita la aplicación de la restricción booleana Disable VM nested virtualization. Para inhabilitar la virtualización anidada, habilita la aplicación de la restricción booleana.

  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 organizaciones, carpetas y proyectos, selecciona la entidad para la que quieras editar las políticas de la organización.

  3. Selecciona la restricción Inhabilitar virtualización anidada de VM para abrir la página Detalles de la política.

  4. Haz clic en Editar y, a continuación, selecciona Personalizar.

  5. En Implementación obligatoria, selecciona una de las siguientes opciones de implementación obligatoria para la restricción booleana Inhabilitar virtualización anidada de VMs:

    • Activado: habilita la implementación obligatoria e inhabilita la virtualización anidada.
    • Desactivado: inhabilita la implementación obligatoria y habilita la virtualización anidada.
  6. Haz clic en Guardar.

gcloud

Usa el comando gcloud resource-manager org-policies command para habilitar o inhabilitar la aplicación de la restricción booleana de la política de organización compute.disableNestedVirtualization.

Si inhabilitas la restricción compute.disableNestedVirtualization con el comando disable-enforce, podrás crear VMs con la virtualización anidada habilitada.

Si habilitas la restricción con el comando enable-enforce, no podrás crear máquinas virtuales que tengan habilitada la virtualización anidada.

gcloud resource-manager org-policies \
  ( disable-enforce | enable-enforce ) compute.disableNestedVirtualization \
  (--organization=ORGANIZATION_ID | --folder=FOLDER_ID |
  --project=PROJECT_ID)

Sustituye exactamente uno de los siguientes elementos:

  • ORGANIZATION_ID: el ID de la organización de la que se va a modificar el valor de la restricción. Para ver una lista de las organizaciones accesibles y sus IDs, ejecuta el comando gcloud organizations list.

  • FOLDER_ID: el ID de la carpeta cuyo valor de restricción se va a modificar. Para ver una lista de las carpetas accesibles y sus IDs, ejecuta el comando gcloud resource-manager folders list.

  • PROJECT_ID: el ID del proyecto cuyo valor de restricción se va a modificar. Para ver una lista de los proyectos accesibles y sus IDs, ejecuta el comando gcloud projects list.

REST

Usa REST para modificar el valor de la restricción booleana compute.disableNestedVirtualization, que determina si puedes crear VMs anidadas en tu organización, carpeta o proyecto.

POST https://cloudresourcemanager.googleapis.com/v1/RESOURCE/RESOURCE_ID:setOrgPolicy

{
  "policy": {
    "booleanPolicy": {
      "enforced": ENFORCE
    },
    "constraint": "constraints/compute.disableNestedVirtualization"
  }
}

Haz los cambios siguientes:

  • RESOURCE: el recurso para modificar la política de organización. Selecciona una de las siguientes opciones:

  • RESOURCE_ID: la organización, la carpeta o el proyecto en el que se debe comprobar el estado de la restricción para inhabilitar la virtualización anidada

  • ENFORCE: determina si la política de la organización aplica la restricción booleana compute.disableNestedVirtualization. Se debe configurar como uno de los siguientes valores:

    • true: para aplicar la restricción. Con este ajuste, no puedes crear máquinas virtuales que tengan habilitada la virtualización anidada.

    • false: para no aplicar la restricción. Con esta opción, puedes crear VMs que tengan habilitada la virtualización anidada.

Siguientes pasos