Gestisci il vincolo di virtualizzazione nidificata


Questo documento descrive come verificare se la virtualizzazione nidificata è abilitata e come modificare il vincolo booleano che controlla se la virtualizzazione nidificata è abilitata per la tua organizzazione, il tuo progetto o la tua 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 alla policy dell'organizzazione di limitare la creazione di VM nidificate. Per ulteriori informazioni sui vincoli booleani, consulta Informazioni sui vincoli.

Il vincolo Disattiva virtualizzazione nidificata delle VM non viene applicato per impostazione predefinita, quindi non devi modificare alcun vincolo booleano per abilitare la virtualizzazione nidificata. Ciò nonostante, Google consiglia di impostare esplicitamente il valore del vincolo in modo che l'organizzazione, le cartelle e i progetti non si basino sull'impostazione predefinita. Se il tuo 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 la tua identità viene verificata per l'accesso ai Google Cloud servizi e alle API. Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su Compute Engine selezionando una delle seguenti opzioni:

    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. After installing the Google Cloud CLI, initialize it by running the following command:

        gcloud init

        If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

      2. Set a default region and zone.
      3. REST

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

          After installing the Google Cloud CLI, initialize it by running the following command:

          gcloud init

          If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

        Per saperne di più, consulta la sezione Autenticarsi per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud .

Controllare 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

Controlla se puoi creare VM nidificate nella tua organizzazione, cartella o progetto verificando se il vincolo booleano per disattivare la virtualizzazione nidificata non è applicato. Se il vincolo Disabilita la virtualizzazione nidificata della VM non viene applicato dai criteri dell'organizzazione, puoi creare VM nidificate.

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

    Vai a Policy dell'organizzazione

  2. Nel selettore di organizzazioni, cartelle e progetti, seleziona l'entità per visualizzare le policy dell'organizzazione.

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

  4. Visualizza il valore per Applicazione forzata:

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

    • Se il valore è Forzato, la virtualizzazione nidificata è disattivata 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 di Google Cloud CLI non mostra un valore per booleanPolicy, la virtualizzazione nidificata è consentita e puoi creare VM nidificate.

Se il valore di output della Google Cloud CLI per booleanPolicy è enforced: true, il criterio dell'organizzazione applica il vincolo di disattivazione della virtualizzazione nidificata 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 gcloud organizations list comando.

  • 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 nella tua organizzazione, cartella o progetto.

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

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

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

{
  "constraint": "compute.disableNestedVirtualization"
}

Sostituisci quanto segue:

  • RESOURCE: la risorsa per ottenere la policy dell'organizzazione. Imposta uno dei seguenti valori:

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

Modifica la policy dell'organizzazione per la virtualizzazione nidificata

Se disponi del ruolo appropriato, puoi controllare se un'organizzazione, una cartella o un progetto possono 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 attivare la virtualizzazione nidificata per un'organizzazione, una cartella o un progetto.

Console

Per abilitare la virtualizzazione nidificata, disattiva l'applicazione del vincolo booleano Disattiva la virtualizzazione nidificata della VM e, per disabilitare la virtualizzazione nidificata, attiva l'applicazione del vincolo booleano.

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

    Vai a Policy dell'organizzazione

  2. Nel selettore di organizzazioni, cartelle e progetti, seleziona l'entità per cui modificare i criteri dell'organizzazione.

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

  4. Fai clic su Modifica, quindi seleziona Personalizza.

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

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

gcloud

Utilizza il comando gcloud resource-manager org-policies per attivare o disattivare l'applicazione del vincolo booleano dei criteri dell'organizzazione compute.disableNestedVirtualization.

Se disattivi il vincolo compute.disableNestedVirtualization utilizzando il comando disable-enforce, puoi creare VM con la virtualizzazione nidificata abilitata.

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

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 nella tua organizzazione, cartella o 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 per modificare il criterio dell'organizzazione. Imposta questo valore su uno dei seguenti:

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

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

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

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

Passaggi successivi