Per assicurarsi che le risorse della tua organizzazione non utilizzino l'agente di avvio del container deprecato e i relativi metadati gce-container-declaration, Google consiglia di applicare una policy dell'organizzazione. Il vincolo gestito compute.managed.disableVmsWithContainerStartupAgent, se applicato, disattiva la creazione di risorse che utilizzano i metadati deprecati.
Questo documento descrive come:
- Applicare una policy dell'organizzazione per disattivare la creazione di istanze Compute Engine che utilizzano l'agente di avvio del container.
- Monitorare l'impatto della policy dell'organizzazione applicandola in modalità dry run.
- Identificare i progetti che tentano di utilizzare l'agente deprecato con Esplora log.
Applicare la policy dell'organizzazione per disattivare la creazione di VM che utilizzano i metadati del container
Per impedire la creazione di risorse che utilizzano l'agente di avvio del container deprecato,
Google consiglia di applicare una policy dell'organizzazione.
Il vincolo constraints/compute.managed.disableVmsWithContainerStartupAgent impedisce la creazione di nuove risorse con la chiave di metadati gce-container-declaration. Questo vincolo non influisce sulle istanze o sui modelli di istanza esistenti.
Puoi applicare questo vincolo utilizzando la Google Cloud console, Google Cloud CLI o l'API Compute Engine.
Console
Per impostare la policy dell'organizzazione utilizzando la console, completa i seguenti passaggi:
Nella Google Cloud console, vai alla pagina Policy dell'organizzazione.
Nel selettore di progetti, seleziona il progetto, la cartella o l'organizzazione per cui vuoi modificare le policy dell'organizzazione.
La pagina Policy dell'organizzazione mostra un elenco dei vincoli delle policy dell'organizzazione disponibili.
Seleziona il vincolo Disattiva la creazione di istanze Compute Engine che utilizzano l'agente di avvio del container deprecato (konlet) dall'elenco dei vincoli. Nella pagina Dettagli della policy visualizzata viene descritto il vincolo e vengono fornite informazioni su come viene applicato.
Per aggiornare la policy dell'organizzazione per questa risorsa, fai clic su Gestisci policy.
Nella pagina Modifica policy, fai clic su Esegui override della policy dell'unità organizzativa principale.
Seleziona Aggiungi una regola.
In Applicazione forzata, seleziona On.
(Facoltativo) Per visualizzare l'anteprima dell'impatto della modifica della policy dell'organizzazione prima che venga applicata, fai clic su Testa modifiche. Per saperne di più sul test delle modifiche alle policy dell'organizzazione, consulta Testa le modifiche alla policy dell'organizzazione con Policy Simulator.
Per applicare la policy dell'organizzazione in modalità dry run, fai clic su Imposta policy dry run. Per saperne di più, consulta Creare una policy dell'organizzazione in modalità dry run da una policy live.
Dopo aver verificato che la policy dell'organizzazione in modalità dry run funziona come previsto, imposta la policy live facendo clic su Imposta policy.
gcloud
Crea un file YAML per definire la policy dell'organizzazione.
name: RESOURCE_TYPE/RESOURCE_ID/policies/CONSTRAINT_NAME spec: rules: - enforce: ENFORCEMENT_STATE dryRunSpec: rules: - enforce: ENFORCEMENT_STATESostituisci quanto segue:
RESOURCE_TYPEconorganizations,foldersoprojects.RESOURCE_IDcon l'ID organizzazione, l'ID cartella, l'ID progetto o il numero di progetto, a seconda del tipo di risorsa specificato inRESOURCE_TYPE.CONSTRAINT_NAMEcon il nome del vincolo che vuoi impostare.ENFORCEMENT_STATEcontrueper applicare questa policy dell'organizzazione quando è impostata ofalseper disattivarla quando è impostata.
(Facoltativo) Per rendere la policy dell'organizzazione condizionale su un tag, aggiungi un blocco
conditionallerules. Se aggiungi una regola condizionale a una policy dell'organizzazione, devi aggiungere almeno una regola non condizionale, altrimenti la policy non può essere salvata. Per maggiori dettagli, consulta Impostare una policy dell'organizzazione con i tag.Esegui il
org-policies set-policycomando con ildryRunSpecflag per impostare la policy dell'organizzazione in modalità dry run:gcloud org-policies set-policy POLICY_PATH \ --update-mask=dryRunSpecSostituisci
POLICY_PATHcon il percorso completo del file YAML della policy dell'organizzazione.Per saperne di più sulle policy dell'organizzazione dry run, consulta Creare una policy dell'organizzazione in modalità dry run.
Utilizza il
policy-intelligence simulate orgpolicycomando per visualizzare l'anteprima dell'impatto della modifica della policy dell'organizzazione prima che venga applicata:gcloud policy-intelligence simulate orgpolicy \ --organization=ORGANIZATION_ID \ --policies=POLICY_PATHSostituisci quanto segue:
ORGANIZATION_IDcon l'ID organizzazione, ad esempio1234567890123. La simulazione delle modifiche su più organizzazioni non è supportata.POLICY_PATHcon il percorso completo del file YAML della policy dell'organizzazione.
Per saperne di più sul test delle modifiche alle policy dell'organizzazione, consulta Testa le modifiche alla policy dell'organizzazione con Policy Simulator.
Dopo aver verificato che la policy dell'organizzazione in modalità dry run funziona come previsto, imposta la policy live con il comando
org-policies set-policye il flagspec:gcloud org-policies set-policy POLICY_PATH \ --update-mask=specSostituisci
POLICY_PATHcon il percorso completo del file YAML della policy dell'organizzazione.
REST
Per impostare la policy dell'organizzazione, utilizza il
organizations.policies.create
metodo.
POST https://orgpolicy.googleapis.com/v2/{parent=organizations/ORGANIZATION_ID}/policies
Il corpo della richiesta JSON contiene la definizione di una policy dell'organizzazione.
Se questo vincolo non supporta i parametri, ometti il blocco parameters in rules.
{
"name": "RESOURCE_TYPE/RESOURCE_ID/policies/CONSTRAINT_NAME",
"spec": {
"rules": [
{
"enforce": ["ENFORCEMENT_STATE"],
}
]
}
"dryRunSpec": {
"rules": [
{
"enforce": ["ENFORCEMENT_STATE"],
}
]
}
}
Sostituisci quanto segue:
RESOURCE_TYPEconorganizations,foldersoprojects.RESOURCE_IDcon l'ID organizzazione, l'ID cartella, l'ID progetto o il numero di progetto, a seconda del tipo di risorsa specificato inRESOURCE_TYPE.CONSTRAINT_NAMEcon il nome del vincolo che vuoi impostare.ENFORCEMENT_STATEcontrueper applicare questa policy dell'organizzazione quando è impostata ofalseper disattivarla quando è impostata.
(Facoltativo) Per rendere la policy dell'organizzazione condizionale su un tag, aggiungi un blocco condition alle rules. Se aggiungi una regola condizionale a una policy dell'organizzazione, devi aggiungere almeno una regola non condizionale, altrimenti la policy non può essere salvata. Per maggiori dettagli, consulta
Impostare una policy dell'organizzazione con i tag.
Per saperne di più sulle policy dell'organizzazione dry run, consulta Creare una policy dell'organizzazione in modalità dry run.
Monitorare l'utilizzo dei metadati deprecati applicando la policy in modalità dry run
Anziché applicare direttamente la policy, che blocca la creazione di istanze che utilizzano i metadati della dichiarazione del container, puoi applicarla in modalità dry run. Questa impostazione consente di monitorare e registrare le azioni che la policy può bloccare, senza interferire con le operazioni. Per saperne di più, consulta Creare una policy dell'organizzazione in modalità dry run.
Quando un'azione attiva la policy dry run (ad esempio, se tenti di
creare un'istanza con la gce-container-declaration chiave di metadati), viene generata una voce di log in Cloud Audit Logs.
Per identificare i progetti che tentano di utilizzare l'agente deprecato, completa i seguenti passaggi:
Nella Google Cloud console, vai alla pagina Esplora log.
Nel riquadro Query, inserisci la seguente query:
protoPayload.metadata.dryRun="true" protoPayload.methodName="CheckOrgPolicy" protoPayload.resourceName =~ "/compute.managed.disableVmsWithContainerStartupAgent"Fai clic su Esegui query.
Identifica i progetti che tentano di utilizzare l'agente deprecato esaminando le voci di log. I log per le violazioni dry run hanno le seguenti caratteristiche:
- Sono correlati a
orgpolicy.googleapis.com. - Il campo
protoPayload.metadata.dryRunè impostato sutrue. - Il vincolo
constraints/compute.managed.disableVmsWithContainerStartupAgentè incluso nei dettagli della violazione.
- Sono correlati a
Esamina le informazioni nei log di audit per capire dove e perché l'agente deprecato viene ancora utilizzato. Queste informazioni possono guidare gli sforzi per eseguire la migrazione di questi carichi di lavoro ad alternative supportate.
Dopo aver verificato che la policy dell'organizzazione in modalità dry run funziona come previsto, applica la policy modificando lo stato di applicazione forzata dalla modalità dry run alla modalità live.
Per ulteriori informazioni sull'utilizzo di Esplora log, vedi Visualizzare i log utilizzando Esplora log.
Passaggi successivi
- Scopri come eseguire la migrazione dei container di cui è stato eseguito il deployment sulle VM durante la creazione delle VM.