Per assicurarti che le risorse della tua organizzazione non utilizzino l'agente di avvio del container ritirato e i relativi metadati gce-container-declaration, Google consiglia di applicare un criterio dell'organizzazione. Il vincolo gestito compute.managed.disableVmsWithContainerStartupAgent, se applicato, disabilita la creazione di risorse che utilizzano i metadati ritirati.
Questo documento descrive come:
- Applica un criterio dell'organizzazione per disabilitare la creazione di istanze Compute Engine che utilizzano l'agente di avvio dei container.
- Monitora l'impatto della policy dell'organizzazione applicandola in modalità dry run.
- Identifica i progetti che tentano di utilizzare l'agente deprecato con Esplora log.
Applica il criterio 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 ritirato,
Google consiglia di applicare un criterio 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 console Google Cloud , Google Cloud CLI o l'API Compute Engine.
Console
Per impostare la policy dell'organizzazione utilizzando la console, completa i seguenti passaggi:
Nella console Google Cloud , 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 (konlet) ritirato dall'elenco dei vincoli. Nella pagina Dettagli 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 Override policy della risorsa padre.
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 attiva.
Dopo aver verificato che la policy dell'organizzazione in modalità dry run funziona come previsto, imposta la policy attiva facendo clic su Imposta policy.
gcloud
Crea un file YAML per definire la policy dell'organizzazione.
name: RESOURCE_TYPE/RESOURCE_ID/policies/compute.managed.disableVmsWithContainerStartupAgent spec: rules: - enforce: true dryRunSpec: rules: - enforce: trueSostituisci 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.
Il seguente esempio mostra un file YAML che applica la policy dell'organizzazione per il progetto con ID
123456:name: projects/123456/policies/compute.managed.disableVmsWithContainerStartupAgent spec: rules: - enforce: true dryRunSpec: rules: - enforce: true(Facoltativo) Per rendere la policy dell'organizzazione condizionale su un tag, aggiungi un blocco
conditionarules. 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 saperne di più, consulta Impostazione di una policy dell'organizzazione con tag.Esegui il comando
org-policies set-policycon il flagdryRunSpecper 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 la pagina Crea una policy dell'organizzazione in modalità dry run.
Utilizza il comando
policy-intelligence simulate orgpolicyper 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 della tua organizzazione, ad esempio1234567890123. La simulazione delle modifiche in più organizzazioni non è supportata.POLICY_PATHcon il percorso completo del file YAML della policy dell'organizzazione.
Per saperne di più sul test delle modifiche alla 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 attiva 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 metodo
organizations.policies.create.
POST https://orgpolicy.googleapis.com/v2/{parent=organizations/ORGANIZATION_ID}/policies
Il corpo JSON della richiesta contiene la definizione di un criterio dell'organizzazione.
Se questo vincolo non supporta i parametri, ometti il blocco parameters
in rules.
{
"name": "RESOURCE_TYPE/RESOURCE_ID/policies/compute.managed.disableVmsWithContainerStartupAgent",
"spec": {
"rules": [
{
"enforce": true,
}
]
},
"dryRunSpec": {
"rules": [
{
"enforce": true,
}
]
}
}
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.
L'esempio seguente mostra un corpo della richiesta che applica la policy dell'organizzazione per il progetto con ID 123456:
{
"name": "projects/123456/policies/compute.managed.disableVmsWithContainerStartupAgent",
"spec": {
"rules": [
{
"enforce": true,
}
]
},
"dryRunSpec": {
"rules": [
{
"enforce": true,
}
]
}
}
```
Optionally, to make the organization policy conditional on a tag, add a
`condition` block to the `rules`. If you add a conditional rule to an
organization policy, you must add at least one unconditional rule or the
policy cannot be saved. For more details, see
[Setting an organization policy with tags](/resource-manager/docs/organization-policy/tags-organization-policy).
For more information about dry-run organization policies, see
[Create an organization policy in dry-run mode](/resource-manager/docs/organization-policy/dry-run-policy).
Monitora l'utilizzo dei metadati ritirati applicando il criterio in modalità dry run
Invece di applicare direttamente il criterio, che blocca la creazione di istanze che utilizzano i metadati della dichiarazione del contenitore, puoi applicarlo in modalità di prova. Questa impostazione ti consente di monitorare e registrare qualsiasi azione che il criterio può bloccare, senza interferire effettivamente con le operazioni. Per saperne di più, consulta Crea una policy dell'organizzazione in modalità dry run.
Quando un'azione attiva la policy di dry run (ad esempio, se tenti di creare un'istanza con la chiave di metadati gce-container-declaration), viene generata una voce di log in Cloud Audit Logs.
Per identificare i progetti che tentano di utilizzare l'agente ritirato, completa i seguenti passaggi:
Nella console Google Cloud , 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 delle 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 controllo per capire dove e perché l'agente ritirato viene ancora utilizzato. Queste informazioni possono guidare gli sforzi per eseguire la migrazione di questi workload 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 a quella attiva.
Per saperne di più sull'utilizzo di Esplora log, vedi Visualizza i log utilizzando Esplora log.
Passaggi successivi
- Scopri come migrare i container di cui è stato eseguito il deployment sulle VM durante la creazione delle VM.