Questa pagina descrive come assicurarsi che VM Manager sia abilitato su tutte le istanze Compute Engine, incluse le VM Google Kubernetes Engine in un'organizzazione, una cartella o un progetto, utilizzando servizio policy dell'organizzazione.
Questa guida è rivolta ai team di sicurezza che vogliono assicurarsi che tutti i programmi richiesti, come gli agenti di sicurezza e monitoraggio, vengano eseguiti in tutte le istanze di un'organizzazione, una cartella o un progetto. Per applicare la configurazione solo con i criteri dell'organizzazione, utilizza questa guida. Per un approccio di configurazione come codice, utilizza Config Sync. Config Sync ti consente di configurare e controllare molti aspetti dei tuoi cluster e offre un valore che va oltre le policy dell'organizzazione.
Prima di leggere questa pagina, assicurati di avere già familiarità con VM Manager e i vincoli di Resource Manager.
Questa guida mostra come imporre l'utilizzo di VM Manager in ogni progetto di un'organizzazione o di una cartella. Questa guida non mostra come configurare e utilizzare VM Manager con le policy del sistema operativo. Per queste istruzioni, consulta Creare un'assegnazione delle policy del sistema operativo.
Informazioni su VM Manager
VM Manager è una suite di strumenti che consente di gestire sistemi operativi per grandi parchi risorse di macchine virtuali (VM) che eseguono Windows e Linux su Compute Engine. Puoi utilizzare VM Manager per applicare le policy del sistema operativo per personalizzare i programmi eseguiti sulle VM. Ad esempio, puoi definire una policy per installare un agente su una risorsa e riutilizzarla su più risorse. VM Manager è disabilitato per impostazione predefinita nei progettiGoogle Cloud .
Puoi perfezionare i punti in cui VM Manager applica le policy utilizzando OSPolicyAssignments, che ti consente di applicare le policy del sistema operativo a VM specifiche utilizzando i selettori. Ad esempio, tutte le VM dei nodi GKE hanno l'etichetta
goog-gke-node, che puoi scegliere come target con un'assegnazione di policy del sistema operativo.
Policy dell'organizzazione e VM Manager
Se la tua organizzazione Google Cloud ha più livelli di gerarchia, come cartelle e sottocartelle, l'attivazione manuale di VM Manager in tutti questi progetti potrebbe causare un overhead di gestione non necessario. Puoi richiedere che tutti i progetti nelle cartelle o in un'organizzazione abilitino VM Manager su tutte le VM utilizzando il servizio policy dell'organizzazione con il vincolo constraints/compute.requireOsConfig. Ecco alcuni dei vantaggi dell'applicazione forzata di VM Manager utilizzando una policy dell'organizzazione:
- Tutti i nuovi progetti aggiungono l'etichetta dei metadati
enable-osconfig=TRUEa ogni progetto e VM. - Se qualcuno tenta di rimuovere questa etichetta o di impostarla su un valore diverso da
true, la modifica viene rifiutata. - Se qualcuno tenta di creare o aggiornare una VM in modo da impostare la
chiave dei metadati
enable-osconfigsu un valore diverso datrue, la modifica viene rifiutata.
Prima di iniziare
Prima di iniziare, assicurati di aver eseguito le seguenti operazioni:
- Abilita l'API Google Kubernetes Engine. Abilita l'API Google Kubernetes Engine
- Per utilizzare Google Cloud CLI per questa attività,
installala e poi
inizializza
gcloud CLI. Se hai già installato gcloud CLI, scarica l'ultima
versione eseguendo il comando
gcloud components update. Le versioni precedenti di gcloud CLI potrebbero non supportare l'esecuzione dei comandi in questo documento.
- Assicurati di utilizzare già VM Manager con le policy del sistema operativo e le assegnazioni delle policy del sistema operativo per eseguire gli agenti sulle VM. Per le istruzioni, consulta Crea un'assegnazione delle policy del sistema operativo.
Abilita le API Cloud Resource Manager e OS Config, se non sono già abilitate.
Ruoli richiesti per abilitare le API
Per abilitare le API, devi disporre dell'autorizzazione
serviceusage.services.enable. Se hai creato il progetto, probabilmente disponi già di questa autorizzazione tramite il ruolo Proprietario (roles/owner). In caso contrario, puoi ottenere questa autorizzazione tramite il ruolo Amministratore utilizzo servizi (roles/serviceusage.serviceUsageAdmin). Scopri come concedere i ruoli.
Limitazioni
Il criterio dell'organizzazione constraints/compute.requireOsConfig presenta le seguenti
limitazioni:
- Le risorse con violazioni preesistenti non vengono modificate dalla nuova policy dell'organizzazione. Puoi impostare i metadati per la policy manualmente o utilizzando
gcloudsulle risorse esistenti. - Chiunque abbia l'autorizzazione per modificare i metadati sulle istanze Compute Engine nel progetto può disattivare
osconfig-agentsulla VM impostando il campo dei metadatiosconfig-disabled-features. - Se
osconfig-agentnon è in esecuzione, la VM viene visualizzata come non conforme nella dashboard di VM Manager. Ad esempio, questo potrebbe accadere se un utente ha disattivato manualmente l'agente.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per gestire le policy dell'organizzazione, chiedi all'amministratore di concederti il ruolo IAM Organization Policy Administrator (roles/orgpolicy.policyAdmin) sull'organizzazione.
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.
Attiva compute.requireOsConfig in un'organizzazione
Dopo aver abilitato VM Manager e definito l'ambito di un
OSPolicyAssignment per le tue VM, puoi assicurarti che VM Manager
sia abilitato per impostazione predefinita su tutti i nuovi progetti con la policy dell'organizzazione
constraints/compute.requireOsConfig. Il modo in cui applichi
constraints/compute.requireOsConfig dipende dalla versione dell'API che utilizzi.
API Organization Policy v2
Puoi applicare il vincolo constraints/compute.requireOsConfig a una risorsaGoogle Cloud , come una cartella o un'organizzazione, utilizzando gcloud CLI o la console Google Cloud .
gcloud
Verifica che il vincolo
compute.requireOsConfignon sia già applicato:gcloud org-policies describe \ constraints/compute.requireOsConfig \ --organization=ORGANIZATION_IDSostituisci
ORGANIZATION_IDcon il tuo ID organizzazione.Se non è impostata una policy, questo comando restituisce un errore
NOT_FOUND:ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.Se la policy esiste, il comando restituisce la policy corrente. L'applicazione di una nuova policy sovrascrive quella esistente, se presente.
Crea un file temporaneo
/tmp/policy.yamlper archiviare la policy:name: organizations/ORGANIZATION_ID/policies/constraints/compute.requireOsConfig spec: rules: - enforce: trueEsegui il comando
set-policy:gcloud org-policies set-policy /tmp/policy.yamlVerifica che la nuova policy sia applicata:
gcloud org-policies describe \ constraints/compute.requireOsConfig --effective \ --organization=ORGANIZATION_IDL'output di questo comando è simile al seguente:
name: organizations/ORGANIZATION_ID/policies/constraints/compute.requireOsConfig spec: rules: - enforce: true
console
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.
Nella pagina Policy dell'organizzazione, utilizza il filtro per cercare
compute.requireOsConfig.Fai clic sul nome della policy per aprire la pagina Dettagli policy.
Fai clic su Gestisci policy per aggiornare la policy dell'organizzazione per questa risorsa.
Nella pagina Modifica policy, seleziona Esegui override della policy dell'unità organizzativa principale.
Seleziona Aggiungi una regola.
In Applicazione, attiva l'applicazione di questa policy dell'organizzazione.
Per applicare la policy, fai clic su Imposta policy.
API Resource Manager v1
Verifica che il vincolo
compute.requireOsConfignon sia già applicato:gcloud resource-manager org-policies describe constraints/compute.requireOsConfig \ --organization ORGANIZATION_IDSostituisci
ORGANIZATION_IDcon il tuo ID organizzazione.Se non è impostata una policy, questo comando restituisce una policy incompleta, come nell'esempio seguente:
constraint: "constraints/compute.requireOsConfig" etag: BwVJi0OOESU=Se la policy esiste, il comando restituisce la policy corrente. L'applicazione di una nuova policy sovrascrive quella esistente, se presente.
Imposta la policy da applicare all'organizzazione:
gcloud resource-manager org-policies enable-enforce constraints/compute.requireOsConfig \ --organization ORGANIZATION_IDL'output di questo comando è simile al seguente:
booleanPolicy: enforced: true constraint: constraints/compute.requireOsConfig etag: BwVJitxdiwY=Verifica che le nuove norme relative alle notizie siano applicate:
gcloud resource-manager org-policies describe constraints/compute.requireOsConfig \ --effective \ --organization ORGANIZATION_IDL'output di questo comando è simile al seguente:
booleanPolicy: enforced: true constraint: constraints/compute.requireOsConfig
L'applicazione completa delle modifiche alle policy dell'organizzazione può richiedere fino a 15 minuti.
Per ulteriori informazioni sulle altre policy che puoi applicare o su come modificarle o eliminarle, consulta la documentazione di Resource Manager.
Passaggi successivi
Scopri di più sugli audit log di GKE.