Esegui gli agenti VM su ogni nodo GKE delle organizzazioni


Questa pagina descrive come assicurarti 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 il servizio Organization Policy.

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, di una cartella o di 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 valore oltre i criteri dell'organizzazione.

Prima di leggere questa pagina, assicurati di conoscere già VM Manager e i vincoli di Resource Manager.

Questa guida mostra come applicare l'utilizzo di VM Manager in ogni progetto di un'organizzazione o di una cartella. Questa guida non spiega come configurare e utilizzare VM Manager con i criteri del sistema operativo. Per queste istruzioni, consulta Creare un'assegnazione criterio del sistema operativo.

Informazioni su VM Manager

VM Manager è una suite di strumenti che può gestire sistemi operativi per grandi gruppi di macchine virtuali (VM) che eseguono Windows e Linux su Compute Engine. Puoi utilizzare VM Manager per applicare criteri del sistema operativo per personalizzare i programmi in esecuzione sulle VM. Ad esempio, puoi definire un criterio per installare un agente su una risorsa e riutilizzarlo su più risorse. VM Manager è disabilitato per impostazione predefinita nei progetti Google Cloud.

Puoi perfezionare la posizione in cui VM Manager applica i criteri utilizzando OSPolicyAssignments, che ti consente di applicare i criteri del sistema operativo a VM specifiche utilizzando selettori. Ad esempio, tutte le VM dei nodi GKE hanno l'etichettagoog-gke-node, che puoi scegliere come target con un'assegnazione del criterio del sistema operativo.

Criteri 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 sovraccarico di gestione non necessario. Puoi richiedere che tutti i progetti delle cartelle o di un'organizzazione abilitino VM Manager su tutte le VM utilizzando il servizio di criteri dell'organizzazione con il vincolo constraints/compute.requireOsConfig. Ecco alcuni vantaggi dell'applicazione di VM Manager utilizzando un criterio dell'organizzazione:

  • Tutti i nuovi progetti aggiungono l'etichetta dei metadati enable-osconfig=TRUE a 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 un utente tenta di creare o aggiornare una VM in modo da impostare la chiave dei metadati enable-osconfig su un valore diverso da true, la modifica viene rifiutata.

Prima di iniziare

Prima di iniziare, assicurati di aver eseguito le seguenti operazioni:

  • Attiva l'API Google Kubernetes Engine.
  • Attiva l'API Google Kubernetes Engine
  • Se vuoi utilizzare Google Cloud CLI per questa attività, installa e poi inizializza gcloud CLI. Se hai già installato gcloud CLI, ottieni la versione più recente eseguendo gcloud components update.
  • Assicurati di utilizzare già VM Manager con i criteri del sistema operativo e le assegnazioni dei criteri del sistema operativo per eseguire gli agenti sulle VM. Per le istruzioni, consulta Creare un'assegnazione dei criteri del sistema operativo.
  • Enable the Cloud Resource Manager API, OS Config API APIs.

    Enable the APIs

Limitazioni

Il criterio dell'organizzazione constraints/compute.requireOsConfig presenta i seguenti limiti:

  • Le risorse con violazioni preesistenti rimangono invariate dal nuovo criterio dell'organizzazione. Puoi impostare i metadati per il criterio manualmente o utilizzando gcloud su risorse esistenti.
  • Chiunque abbia l'autorizzazione per modificare i metadati sulle istanze Compute Engine nel progetto può disattivare osconfig-agent sulla VM impostando il campo dei metadati osconfig-disabled-features.
  • Se osconfig-agent non è 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 i criteri dell'organizzazione, chiedi all'amministratore di concederti il ruolo IAM Amministratore dei criteri dell'organizzazione (roles/orgpolicy.policyAdmin) nell'organizzazione. Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.

Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.

Attivare compute.requireOsConfig in un'organizzazione

Dopo aver attivato VM Manager e aver definito l'ambito di un OSPolicyAssignment per le tue VM, puoi assicurarti che VM Manager sia abilitato per impostazione predefinita in tutti i nuovi progetti con il constraints/compute.requireOsConfig criterio dell'organizzazione. La modalità di applicazione diconstraints/compute.requireOsConfig dipende dalla versione dell'API utilizzata.

API Organization Policy v2

Puoi applicare il vincolo constraints/compute.requireOsConfig a una risorsa Google Cloud, come una cartella o un'organizzazione, utilizzando gcloud CLI o la console Google Cloud.

gcloud

  1. Verifica che il vincolo compute.requireOsConfig non sia già applicato:

    gcloud org-policies describe \
        constraints/compute.requireOsConfig \
        --organization=ORGANIZATION_ID
    

    Sostituisci ORGANIZATION_ID con il tuo ID organizzazione.

    Se non è impostato un criterio, questo comando restituisce un errore NOT_FOUND:

    ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.
    

    Se il criterio esiste, il comando restituisce il criterio corrente. L'applicazione di un nuovo criterio sovrascrive quello esistente, se esistente.

  2. Crea un file temporaneo /tmp/policy.yaml per archiviare il criterio:

    name: organizations/ORGANIZATION_ID/policies/constraints/compute.requireOsConfig
    spec:
      rules:
      - enforce: true
    
  3. Esegui il comando set-policy:

    gcloud org-policies set-policy /tmp/policy.yaml
    
  4. Verifica che il nuovo criterio sia applicato:

    gcloud org-policies describe \
        constraints/compute.requireOsConfig --effective \
        --organization=ORGANIZATION_ID
    

    L'output del comando è simile al seguente:

    name: organizations/ORGANIZATION_ID/policies/constraints/compute.requireOsConfig
    spec:
      rules:
      - enforce: true
    

console

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

    Vai a Criteri dell'organizzazione

  2. Nel selettore di progetti, seleziona il progetto, la cartella o l'organizzazione per cui vuoi modificare i criteri dell'organizzazione.

  3. Nella pagina Criteri dell'organizzazione, utilizza il filtro per cercare compute.requireOsConfig.

  4. Fai clic sul nome delle norme per aprire la pagina Dettagli norme.

  5. Fai clic su Gestisci criterio per aggiornare il criterio dell'organizzazione per questa risorsa.

  6. Nella pagina Modifica criterio, seleziona Sostituisci criterio della risorsa padre.

  7. Seleziona Aggiungi una regola.

  8. In Applicazione, imposta l'applicazione di questo criterio dell'organizzazione su On.

  9. Per applicare il criterio, fai clic su Imposta criterio.

API Resource Manager v1

  1. Verifica che il vincolo compute.requireOsConfig non sia già applicato:

    gcloud resource-manager org-policies describe constraints/compute.requireOsConfig \
        --organization ORGANIZATION_ID
    

    Sostituisci ORGANIZATION_ID con il tuo ID organizzazione.

    Se non è impostato un criterio, questo comando restituisce un criterio incompleto, come nel seguente esempio:

    constraint: "constraints/compute.requireOsConfig"
    etag: BwVJi0OOESU=
    

    Se il criterio esiste, il comando restituisce il criterio corrente. L'applicazione di un nuovo criterio sovrascrive quello esistente, se esistente.

  2. Imposta il criterio da applicare all'organizzazione:

    gcloud resource-manager org-policies enable-enforce constraints/compute.requireOsConfig \
        --organization ORGANIZATION_ID
    

    L'output del comando è simile al seguente:

    booleanPolicy:
      enforced: true
    constraint: constraints/compute.requireOsConfig
    etag: BwVJitxdiwY=
    
  3. Verifica che il nuovo criterio sia applicato:

    gcloud resource-manager org-policies describe constraints/compute.requireOsConfig \
        --effective \
        --organization ORGANIZATION_ID
    

    L'output del comando è simile al seguente:

    booleanPolicy:
      enforced: true
    constraint: constraints/compute.requireOsConfig
    

L'applicazione completa delle modifiche ai criteri dell'organizzazione può richiedere fino a 15 minuti.

Per ulteriori informazioni su altri criteri che puoi applicare o su come modificarli o eliminarli, consulta la documentazione di Resource Manager.

Passaggi successivi

Scopri di più sui log di controllo di GKE.