Visualizzare gli audit log per GKE

Questa pagina mostra come visualizzare le informazioni sullo stato di deployment e sull'applicazione dei criteri in Cloud Audit Logs.

Per scoprire di più sulla terminologia dell'interfaccia utente di Cloud Audit Logs utilizzata in questa pagina, consulta Visualizzazione dei log.

Puoi valutare il livello di sicurezza della tua applicazione, inclusa l'applicazione dei criteri di autorizzazione binaria nei prodotti interdipendenti Google Cloud in un'unica dashboard. Per scoprire di più, consulta Monitoraggio della sicurezza.

Panoramica

Quando utilizzi l'autorizzazione binaria per eseguire il deployment di un'immagine container in Google Kubernetes Engine (GKE), GKE scrive i dettagli del deployment nei log di controllo in Google Cloud Observability. Queste voci del log di controllo includono messaggi di stato dell'applicazione. Puoi visualizzare queste voci di log nella console Google Cloud o nella riga di comando utilizzando il comando gcloud logging read.

Per le ricerche successive di questa guida, accedi a Cloud Audit Logs e seleziona il progetto con gli eventi che vuoi visualizzare.

Per l'accesso generale a Cloud Audit Logs:

  1. Vai alla pagina Google Cloud Observability Logging > Log (Esplora log) nella consoleGoogle Cloud :

    Vai a Esplora log

  2. Scegli il progetto Google Cloud per il quale vuoi visualizzare Cloud Audit Logs.

Messaggi di stato di applicazione

GKE scrive messaggi nel log di controllo per le seguenti condizioni di applicazione:

  • Deployment bloccato: il deployment è stato bloccato a causa del criterio di Autorizzazione binaria.
  • Evento di emergenza: il deployment ha ignorato il controllo delle norme utilizzando il meccanismo di emergenza. Per ulteriori informazioni, consulta la sezione Utilizzare la procedura di emergenza.
  • Fail open: il deployment è stato consentito perché il backend di Autorizzazione binaria non era disponibile.
  • Prova: deployment consentito con violazioni dei criteri perché la modalità di prova è stata impostata nel criterio di autorizzazione binaria.

Eventi di deployment bloccati in Cloud Audit Logs

Quando un'immagine container viene bloccata perché viola un criterio di autorizzazione binaria, puoi trovare gli eventi di deployment bloccati in Cloud Audit Logs.

Esegui query su Cloud Audit Logs per gli eventi di deployment bloccato

Questa sezione descrive come eseguire query su Cloud Audit Logs per gli eventi di deployment bloccati.

Esplora log

Per visualizzare gli eventi di deployment bloccato in Esplora log di Cloud Audit Logs, procedi nel seguente modo:

  1. Vai alla pagina Esplora log.

  2. Inserisci la seguente query nella casella search-query:

    resource.type="k8s_cluster"
    logName:"cloudaudit.googleapis.com%2Factivity"
    (protoPayload.methodName="io.k8s.core.v1.pods.create" OR
     protoPayload.methodName="io.k8s.core.v1.pods.update")
    protoPayload.response.status="Failure"
    (protoPayload.response.reason="VIOLATES_POLICY" OR
    protoPayload.response.reason="Forbidden")
    

  3. Seleziona l'intervallo di tempo nel selettore dell'intervallo di tempo.

gcloud

Per visualizzare gli eventi di violazione delle norme dell'ultima settimana in Cloud Audit Logs utilizzando Google Cloud CLI, esegui questo comando:

gcloud logging read --order="desc" --freshness=7d \
  'resource.type="k8s_cluster"
   logName:"cloudaudit.googleapis.com%2Factivity"
   (protoPayload.methodName="io.k8s.core.v1.pods.create" OR
    protoPayload.methodName="io.k8s.core.v1.pods.update")
   protoPayload.response.status="Failure"
   (protoPayload.response.reason="VIOLATES_POLICY" OR
   protoPayload.response.reason="Forbidden")'

Eventi di emergenza in Cloud Audit Logs

Autorizzazione binaria ti consente di eseguire l'override del criterio utilizzando un'etichetta breakglass nella specifica del pod. Quando le immagini vengono implementate con l'accesso di emergenza, Autorizzazione binaria registra gli eventi di accesso di emergenza in Cloud Audit Logs. La sezione seguente descrive come eseguire query per questi eventi.

Eseguire query su Cloud Audit Logs per i pod con breakglass specificato

Esplora log

Per visualizzare gli eventi di emergenza in Esplora log di Cloud Audit Logs:

  1. Vai alla pagina Esplora log.

  2. Inserisci quanto segue nella casella search-query:

    resource.type="k8s_cluster"
    logName:"cloudaudit.googleapis.com%2Factivity"
    (protoPayload.methodName="io.k8s.core.v1.pods.create" OR
    protoPayload.methodName="io.k8s.core.v1.pods.update")
    "image-policy.k8s.io/break-glass"
    
  3. Seleziona l'intervallo di tempo nel selettore dell'intervallo di tempo.

gcloud

Per visualizzare gli eventi di breakglass dell'ultima settimana in Cloud Audit Logs utilizzando gcloud CLI, esegui questo comando:

gcloud logging read --order="desc" --freshness=7d \
  'resource.type="k8s_cluster" AND
  logName:"cloudaudit.googleapis.com%2Factivity" AND
  (protoPayload.methodName="io.k8s.core.v1.pods.create" OR
    protoPayload.methodName="io.k8s.core.v1.pods.update") AND
  "image-policy.k8s.io/break-glass"'

Eventi di fail open in Cloud Audit Logs

L'apertura in caso di errore si verifica quando viene tentato il deployment di un'immagine container, l'applicazione dell'autorizzazione binaria non è disponibile o si verifica un timeout e il deployment dell'immagine container è consentito.

In questo caso, il risultato della verifica è sconosciuto e viene registrata una voce di log.

Eseguire query sugli eventi di fail open di Cloud Audit Logs

Esplora log

Per visualizzare gli eventi di fail open in Esplora log di Cloud Audit Logs, procedi nel seguente modo:

  1. Vai alla pagina Esplora log.

  2. Inserisci quanto segue nella casella search-query:

    resource.type="k8s_cluster"
    logName:"cloudaudit.googleapis.com%2Factivity"
    (protoPayload.methodName="io.k8s.core.v1.pods.create" OR
     protoPayload.methodName="io.k8s.core.v1.pods.update")
    ("image-policy.k8s.io/failed-open" OR
     "imagepolicywebhook.image-policy.k8s.io/failed-open" OR
     "failed-open.validating.webhook.admission.k8s.io")
    
  3. Seleziona l'intervallo di tempo nel selettore dell'intervallo di tempo.

gcloud

Per visualizzare gli eventi di apertura in caso di errore dell'ultima settimana in Cloud Audit Logs utilizzando gcloud CLI, esegui questo comando:

gcloud logging read --order="desc" --freshness=7d \
  'resource.type="k8s_cluster"
   logName:"cloudaudit.googleapis.com%2Factivity"
   (protoPayload.methodName="io.k8s.core.v1.pods.create" OR
    protoPayload.methodName="io.k8s.core.v1.pods.update")
   ("image-policy.k8s.io/failed-open" OR
    "imagepolicywebhook.image-policy.k8s.io/failed-open" OR
    "failed-open.validating.webhook.admission.k8s.io")'

Eventi di prova in Cloud Audit Logs

La modalità di prova è una modalità di applicazione forzata in un criterio che consente il deployment di immagini non conformi, ma scrive i dettagli del deployment nel log di controllo. La modalità di prova ti consente di testare un criterio nel tuo ambiente di produzione prima che entri in vigore.

Quando un'immagine container non supera i controlli richiesti in un criterio, ma è consentito il deployment in modalità di prova, Cloud Audit Logs contiene imagepolicywebhook.image-policy.k8s.io/dry-run: "true".

Eseguire query su Cloud Audit Logs per gli eventi di prova

Esplora log

Per visualizzare gli eventi di prova in Esplora log di Cloud Audit Logs:

  1. Vai alla pagina Esplora log.

  2. Inserisci quanto segue nella casella search-query:

    resource.type="k8s_cluster"
    logName:"cloudaudit.googleapis.com%2Factivity"
    (protoPayload.methodName="io.k8s.core.v1.pods.create" OR
     protoPayload.methodName="io.k8s.core.v1.pods.update")
    labels."imagepolicywebhook.image-policy.k8s.io/dry-run"="true"
    
  3. Seleziona l'intervallo di tempo nel selettore dell'intervallo di tempo.

gcloud

Per visualizzare gli eventi di deployment di prova dell'ultima settimana in Cloud Audit Logs utilizzando gcloud CLI, esegui questo comando:

gcloud logging read --order="desc" --freshness=7d \
  'labels."imagepolicywebhook.image-policy.k8s.io/dry-run"="true"'