Controllare i cluster per verificare la conformità agli standard

Questa pagina mostra come eseguire automaticamente l'audit dei cluster per problemi di conformità e ricevere consigli pratici per migliorare la conformità dei cluster Google Kubernetes Engine (GKE) Enterprise. Il controllo di conformità è una funzionalità della dashboard di conformità di GKE. Per maggiori informazioni, consulta Informazioni sulla dashboard di conformità GKE.

Standard di conformità supportati

Il controllo della conformità analizza i tuoi cluster per verificare la conformità ai seguenti standard e fornisce consigli per migliorare la tua postura di conformità:

Nome

Descrizione

CIS Google Kubernetes Engine Benchmark v1.5.0

Un insieme di controlli di sicurezza consigliati per la configurazione di Google Kubernetes Engine (GKE), basati sui benchmark CIS Google Kubernetes Engine (GKE) v1.5.0.

Standard di sicurezza dei pod - Baseline

Un insieme di protezioni consigliate per i cluster Kubernetes, basate sui criteri Baseline degli standard di sicurezza dei pod (PSS) di Kubernetes.

Standard di sicurezza dei pod - Restricted

Un insieme di protezioni consigliate per i cluster Kubernetes, basate sui criteri con restrizioni degli standard di sicurezza dei pod (PSS) di Kubernetes.

Il set predefinito di standard include tutti e tre gli standard supportati:

  • CIS Google Kubernetes Engine Benchmark v1.5.0
  • Standard di sicurezza dei pod - Baseline
  • Standard di sicurezza dei pod - Restricted

Prezzi

La dashboard di conformità GKE è disponibile per gli utenti che hanno abilitato GKE Enterprise.

Prima di iniziare

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

Requisiti

Per ottenere le autorizzazioni necessarie per utilizzare il controllo della conformità, chiedi all'amministratore di concederti i seguenti ruoli IAM nel tuo progetto Google Cloud :

Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Questi ruoli predefiniti contengono le autorizzazioni necessarie per utilizzare il controllo della conformità. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:

Autorizzazioni obbligatorie

Per utilizzare il controllo della conformità sono necessarie le seguenti autorizzazioni:

  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • containersecurity.locations.list
  • containersecurity.locations.get
  • containersecurity.clusterSummaries.list
  • containersecurity.findings.list
  • container.clusters.list
  • gkehub.features.get
  • gkehub.memberships.list

Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.

Abilitare il controllo su un cluster esistente

Puoi abilitare il controllo di conformità sul cluster utilizzando la console Google Cloud .

  1. Vai alla pagina Conformità nella console Google Cloud .

    Vai a Conformità

  2. Nella scheda Impostazioni, fai clic su Seleziona cluster.

  3. Nella scheda Controllo disattivato, seleziona le caselle di controllo per i cluster che vuoi aggiungere.

  4. Fai clic su Abilita per abilitare il controllo su questi cluster.

Esegui il deployment di un carico di lavoro di test

Esegui il deployment di un pod di esempio che viola intenzionalmente gli standard di sicurezza dei pod.

  1. Salva il seguente manifest come noncompliant-sample.yaml:

    apiVersion: v1
    kind: Pod
    metadata:
      namespace: default
      name: wp-non-compliant
      labels:
        app: wordpress
    spec:
      containers:
      - image: nginx
        name: wordpress
        securityContext:
          capabilities:
            add:
            - NET_RAW
    
  2. Applica la risorsa al tuo cluster:

    kubectl apply -f noncompliant-sample.yaml
    

Se vuoi provare altre violazioni, modifica noncompliant-sample.yaml con una configurazione diversa e non conforme.

Visualizzare e risolvere i problemi di conformità

Il controllo iniziale richiede fino a 30 minuti per restituire i risultati. Puoi visualizzare i risultati nella pagina Conformità o come voci nei log del cluster.

Visualizza risultati

Per visualizzare una panoramica dei problemi di conformità nei cluster del progetto:

  1. Vai alla pagina Conformità nella console Google Cloud .

    Vai a Conformità

  2. Fai clic sulla scheda Problemi.

  3. Nel riquadro Filtra problemi, nella sezione Standard, seleziona lo standard per cui vuoi visualizzare i dettagli.

Visualizzare dettagli e consigli standard

Per visualizzare informazioni dettagliate su uno standard specifico, espandi la sezione dello standard fino a visualizzare il link alla descrizione e poi fai clic sulla descrizione dello standard per aprire il riquadro Vincolo di conformità.

La scheda Dettagli mostra le seguenti informazioni:

  • Descrizione: una descrizione dello standard.
  • Azione consigliata: una panoramica delle azioni che puoi intraprendere per risolvere il problema di conformità.

La scheda Risorse interessate elenca le risorse interessate dallo standard.

Visualizza i log per i problemi rilevati

GKE aggiunge voci al bucket di log _Default in Logging per ogni problema rilevato. Questi log vengono conservati solo per un periodo specifico. Per maggiori dettagli, vedi Periodi di conservazione dei log.

  1. Nella console Google Cloud , vai a Esplora log:

    Vai a Esplora log
  2. Nel campo Query, specifica la seguente query:

    resource.type="k8s_cluster"
    jsonPayload.@type="type.googleapis.com/cloud.kubernetes.security.containersecurity_logging.Finding"
    jsonPayload.type="FINDING_TYPE_MISCONFIG"
    jsonPayload.configuration.violation:*
  3. Fai clic su Esegui query.

Per ricevere notifiche quando GKE aggiunge nuovi risultati a Logging, configura avvisi basati sui log per questa query. Per ulteriori informazioni, consulta Configurare gli avvisi basati su log.

Esegui la pulizia

Elimina il pod di esempio di cui hai eseguito il deployment:

kubectl delete pod wp-non-compliant

Disattiva i controlli di conformità

Puoi disattivare il controllo della conformità utilizzando la console Google Cloud .

  1. Vai alla pagina Conformità nella console Google Cloud .

    Vai a Conformità

  2. Nella scheda Impostazioni, fai clic su Seleziona cluster.

  3. Nella scheda Controllo abilitato, seleziona le caselle di controllo per i cluster che vuoi rimuovere.

  4. Fai clic su Disattiva per disattivare il controllo su questi cluster.

Limitazioni

  • I node pool Windows Server non sono supportati.
  • Il controllo della conformità non analizza i carichi di lavoro gestiti da GKE, ad esempio i carichi di lavoro nello spazio dei nomi kube-system.
  • Il controllo della conformità è disponibile solo per i cluster con meno di 1000 nodi.

Passaggi successivi