Gestisci il vincolo di virtualizzazione nidificato

Questo documento descrive come verificare se la virtualizzazione nidificata è abilitata e come modificare il vincolo booleano che controlla se la virtualizzazione nidificata è abilitata per l'organizzazione, il progetto o la cartella.

Un vincolo booleano all'interno di un criterio dell'organizzazione determina se puoi creare VM nidificate. Il vincolo booleano per la virtualizzazione nidificata è una limitazione, il che significa che, quando viene applicato, indica al criterio dell'organizzazione di limitare la creazione di VM nidificate. Per ulteriori informazioni sui vincoli booleani, consulta la sezione Informazioni sui vincoli.

Il vincolo Disabilita virtualizzazione nidificata delle VM non viene applicato per impostazione predefinita, quindi non è necessario modificare alcun vincolo booleano per abilitare la virtualizzazione nidificata. Anche in questo caso, Google consiglia di impostare esplicitamente il valore del vincolo in modo che l'organizzazione, le cartelle e i progetti non utilizzino l'impostazione predefinita. Se il progetto non è subordinato a un'organizzazione, il vincolo non viene applicato per impostazione predefinita e non puoi modificarlo.

Prima di iniziare

  • Se non l'hai ancora fatto, configura l'autenticazione. L'autenticazione è il processo mediante il quale viene verificata l'identità per l'accesso ai servizi e alle API Google Cloud. Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti in Compute Engine nel seguente modo.

    Seleziona la scheda relativa a come prevedi di utilizzare gli esempi in questa pagina:

    Console

    Quando utilizzi la console Google Cloud per accedere ai servizi e alle API di Google Cloud, non devi configurare l'autenticazione.

    gcloud

    1. Installa Google Cloud CLI, quindi initialize eseguendo questo comando:

      gcloud init
    2. Imposta una regione e una zona predefinite.

    REST

    Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, devi utilizzare le credenziali che fornisci a gcloud CLI.

      Installa Google Cloud CLI, quindi initialize eseguendo questo comando:

      gcloud init

Verifica se la virtualizzazione nidificata è consentita

Verifica se la virtualizzazione nidificata è consentita per un'organizzazione, una cartella o un progetto utilizzando la console Google Cloud, Google Cloud CLI o REST.

Console

Verifica se puoi creare VM nidificate nell'organizzazione, nella cartella o nel progetto controllando se il vincolo booleano per disabilitare la virtualizzazione nidificata non è applicato in modo forzato. Se il vincolo Disabilita virtualizzazione nidificata delle VM non viene applicato dal criterio dell'organizzazione, puoi creare VM nidificate.

  1. Nella console Google Cloud, vai alla pagina Criteri dell'organizzazione.

    Vai a Criteri dell'organizzazione

  2. Nel selettore dell'organizzazione, della cartella e del progetto, seleziona l'entità di cui visualizzare i criteri dell'organizzazione.

  3. Seleziona il vincolo Disabilita virtualizzazione nidificata delle VM per aprire la pagina Dettagli criterio.

  4. Visualizza il valore per Applicazione:

    • Se il valore è Non applicata, la virtualizzazione nidificata è abilitata e puoi creare VM nidificate.

    • Se il valore è Enforced, la virtualizzazione nidificata è disabilitata e non puoi creare VM nidificate.

gcloud

Controlla il valore del vincolo booleano compute.disableNestedVirtualization utilizzando il comando gcloud resource-manager org-policies describe.

Se l'output dell'Google Cloud CLI non mostra un valore per booleanPolicy, la virtualizzazione nidificata è consentita e puoi creare VM nidificate.

Se il valore di output dell'interfaccia a Google Cloud CLI per booleanPolicy è enforced: true, il criterio dell'organizzazione applica il vincolo di disattivazione di virtualizzazione nidificato e non puoi creare VM nidificate.

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

Sostituisci esattamente uno dei seguenti elementi:

  • ORGANIZATION_ID: l'ID dell'organizzazione di cui ottenere il valore del vincolo. Per un elenco delle organizzazioni accessibili e dei relativi ID, esegui il comando gcloud organizations list.

  • FOLDER_ID: l'ID della cartella di cui ottenere il valore del vincolo. Per un elenco delle cartelle accessibili e dei relativi ID, esegui il comando gcloud resource-manager folders list.

  • PROJECT_ID: l'ID del progetto di cui ottenere il valore del vincolo. Per un elenco dei progetti accessibili e dei relativi ID, esegui il comando gcloud projects list.

REST

Utilizza REST per controllare il valore del vincolo booleano compute.disableNestedVirtualization, che determina se puoi creare VM nidificate nell'organizzazione, nella cartella o nel progetto.

Se la risposta REST non restituisce un valore per "booleanPolicy" per il vincolo, la virtualizzazione nidificata non è disabilitata e puoi creare VM nidificate.

Se il valore di "booleanPolicy" nell'output è "enforced": true, la virtualizzazione nidificata è disabilitata e non puoi creare VM nidificate.

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

{
  "constraint": "compute.disableNestedVirtualization"
}

Sostituisci quanto segue:

Modifica il criterio dell'organizzazione di virtualizzazione nidificata

Se disponi del ruolo appropriato, puoi controllare se un'organizzazione, una cartella o un progetto può creare VM nidificate. Controlla questa applicazione utilizzando il vincolo booleano per la virtualizzazione nidificata.

Utilizza la console Google Cloud, Google Cloud CLI o REST per abilitare la virtualizzazione nidificata per un'organizzazione, una cartella o un progetto.

Console

Per abilitare la virtualizzazione nidificata, disabilita l'applicazione del vincolo booleano Disabilita virtualizzazione nidificata della VM; per disabilitare la virtualizzazione nidificata, abilita l'applicazione del vincolo booleano.

  1. Nella console Google Cloud, vai alla pagina Criteri dell'organizzazione.

    Vai a Criteri dell'organizzazione

  2. Nel selettore dell'organizzazione, della cartella e del progetto, seleziona l'entità di cui modificare i criteri dell'organizzazione.

  3. Seleziona il vincolo Disabilita virtualizzazione nidificata delle VM per aprire la pagina Dettagli criterio.

  4. Fai clic su Modifica e poi seleziona Personalizza.

  5. In Applicazione, seleziona una delle seguenti opzioni di applicazione per il vincolo booleano Disabilita virtualizzazione nidificata delle VM:

    • On: abilita l'applicazione forzata e disabilita la virtualizzazione nidificata
    • Off: disabilita l'applicazione forzata e abilita la virtualizzazione nidificata
  6. Fai clic su Salva.

gcloud

Utilizza il comando gcloud resource-manager org-policies per abilitare o disabilitare l'applicazione del vincolo booleano del criterio dell'organizzazione compute.disableNestedVirtualization.

Se disabiliti il vincolo compute.disableNestedVirtualization utilizzando il comando disable-enforce, puoi creare VM in cui è abilitata la virtualizzazione nidificata.

Se abiliti il vincolo utilizzando il comando enable-enforce, non puoi creare VM in cui è abilitata la virtualizzazione nidificata.

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

Sostituisci esattamente uno dei seguenti elementi:

  • ORGANIZATION_ID: l'ID dell'organizzazione di cui modificare il valore del vincolo. Per un elenco delle organizzazioni accessibili e dei relativi ID, esegui il comando gcloud organizations list.

  • FOLDER_ID: l'ID della cartella di cui modificare il valore del vincolo. Per un elenco delle cartelle accessibili e dei relativi ID, esegui il comando gcloud resource-manager folders list.

  • PROJECT_ID: l'ID del progetto di cui modificare il valore del vincolo. Per un elenco dei progetti accessibili e dei relativi ID, esegui il comando gcloud projects list.

REST

Utilizza REST per modificare il valore del vincolo booleano compute.disableNestedVirtualization, che determina se puoi creare VM nidificate nell'organizzazione, nella cartella o nel progetto.

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

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

Sostituisci quanto segue:

  • RESOURCE: la risorsa di cui modificare il criterio dell'organizzazione. Impostalo su uno dei seguenti valori:

  • RESOURCE_ID: l'organizzazione, la cartella o il progetto su cui controllare lo stato del vincolo di virtualizzazione nidificato

  • ENFORCE: determina se il criterio dell'organizzazione applica il vincolo booleano compute.disableNestedVirtualization. Imposta il valore su uno dei seguenti valori:

    • true: per applicare il vincolo. Con questa impostazione non puoi creare VM con virtualizzazione nidificata.

    • false: per non applicare il vincolo. Con questa impostazione, puoi creare VM in cui è abilitata la virtualizzazione nidificata.

Passaggi successivi