Como ver registros de auditoria

Nesta página, mostraremos como ver informações sobre o status da implantação e a aplicação da política no Cloud Logging. Para saber mais sobre a terminologia do Cloud Logging usada nesta página, consulte Como visualizar registros.

Visão geral

Quando você usa a autorização binária para implantar uma imagem de contêiner no Google Kubernetes Engine (GKE), o GKE grava detalhes sobre a implantação nos registros de auditoria no pacote de operações do Google Cloud. Essas entradas de registro de auditoria incluem mensagens de status de aplicação. Você pode ver essas entradas de registro no Console do Google Cloud ou na linha de comando usando o comando gcloud logging read.

Para todas as pesquisas abaixo, você vai acessar o Cloud Logging e selecionar o projeto com os eventos que quiser ver.

Para acesso geral ao Cloud Logging, faça o seguinte:

  1. Vá para a página Geração de registros do pacote de operações do Google Cloud > Registros (Visualizador de registros) no Console do Cloud:

    Acesse a página "Visualizador de registros"

  2. Escolha o projeto do Google Cloud em que você quer ver o Cloud Logging.

Mensagens de status da aplicação

O GKE grava mensagens no registro de auditoria para as seguintes condições de aplicação:

  • Implantação bloqueada: a implantação foi bloqueada devido à política de autorização binária.
  • Evento de intervalo: a implantação ignorou a verificação de política usando o mecanismo de intervalo. Para mais informações, consulte Como usar o intervalo.
  • Falha ao abrir: a implantação foi permitida porque o back-end de autorização binária não estava disponível.
  • Teste de simulação: implantação permitida com violações de política porque o modo de simulação foi definido na política de autorização binária.

Eventos de implantação bloqueados no Cloud Logging

Quando uma imagem de contêiner é bloqueada por violar uma política de autorização binária, o GKE grava o seguinte no registro de auditoria do recurso Kubernetes Cluster (k8s_cluster):

protoPayload.response.reason: "Forbidden"
protoPayload.response.status: "Failure"

Consulte eventos de implantação bloqueados no Cloud Logging

   NOT "kube-system"
   NOT "istio-system"

Visualizador do Cloud Logging (clássico)

Para ver eventos de implantação bloqueados no Visualizador do Cloud Logging (clássico):

  1. Acesse a página "Visualizador de registros".

  2. Escolha o projeto do Google Cloud em que você quer ver as entradas do Cloud Logging.

  3. Usando o menu suspenso seletor básico , selecione Kubernetes Cluster.

  4. No menu suspenso Seletor de registro , selecione cloudaudit.googleapis.com/activity.

  5. Digite a seguinte consulta na caixa de consulta de pesquisa:

    FAILURE
    NOT "kube-system"
    NOT "istio-system"
    
  6. Selecione o intervalo de tempo no seletor de intervalo de tempo.

Visualizador do Cloud Logging (visualização)

Para ver eventos de implantação bloqueados no Visualizador do Cloud Logging (visualização):

  1. Acesse a página "Visualizador de registros".

  2. Na visualização clássica, selecione o menu do seletor de versões, mude a versão do Visualizador de registros de Versão clássica para Visualizar o novo Visualizador de registros.

  3. Insira a seguinte consulta na caixa consulta de pesquisa:

    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"
    

    Visualizar eventos de implantação bloqueados no Cloud Logging

  4. Selecione o intervalo de tempo no seletor de intervalo de tempo.

Linha de comando

Para ver eventos de violação de política da semana passada no Cloud Logging usando a CLI:

gcloud beta logging read --order="desc" --freshness=7d \
  'resource.type="k8s_cluster" AND
  logName:"cloudaudit.googleapis.com%2Factivity" AND
  protoPayload.response.status="FAILURE"'

Eventos de acesso de emergência no Cloud Logging

A autorização binária permite substituir a política usando uma anotação de acesso de emergência.

Quando uma imagem não passa nas verificações necessárias em uma política de autorização binária, mas tem permissão para ser implantada por uma modificação, o GKE grava os rótulos a seguir no registro de auditoria do recurso do cluster do Kubernetes (k8s_cluster):

imagepolicywebhook.image-policy.k8s.io/break-glass: "true"
imagepolicywebhook.image-policy.k8s.io/overridden-verification-result: "'IMAGE_PATH@IMAGE_DIGEST': Denied by DENIED_REASON

em que:

  • IMAGE_PATH é o caminho totalmente qualificado para a imagem do contêiner em que você tentou implantar (por exemplo, gcr.io/example-project/quickstart-image).
  • IMAGE_DIGEST é o resumo exclusivo da imagem do contêiner.
  • DENIED_REASON é o motivo pelo qual o implementador da autorização binária negou a implantação.

Consulte o Cloud Logging para saber sobre eventos de acesso de emergência

Visualizador do Cloud Logging (clássico)

Para ver eventos de acesso de emergência no Visualizador do Cloud Logging (clássico):

  1. Acesse a página "Visualizador de registros".

  2. Escolha o projeto do Google Cloud em que você quer ver as entradas do Cloud Logging.

  3. Usando o menu suspenso seletor básico , selecione Kubernetes Cluster.

  4. No menu suspenso Seletor de registro , selecione cloudaudit.googleapis.com/activity.

  5. Digite a seguinte consulta na caixa de consulta de pesquisa:

    "imagepolicywebhook.image-policy.k8s.io/break-glass"
    
  6. Selecione o intervalo de tempo no seletor de intervalo de tempo.

Visualizador do Cloud Logging (visualização)

Para ver eventos de acesso de emergência no Visualizador do Cloud Logging (visualização):

  1. Acesse a página "Visualizador de registros".

  2. Na visualização clássica, selecione o menu do seletor de versões, mude a versão do Visualizador de registros de Versão clássica para Visualizar o novo Visualizador de registros.

  3. Digite o seguinte na caixa consulta de pesquisa:

    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/break-glass"="true"
    

    Ver implantações de acesso de emergência no Cloud Logging

  4. Selecione o intervalo de tempo no seletor de intervalo de tempo.

Linha de comando

Para ver eventos de acesso de emergência da última semana no Cloud Logging usando a CLI:

gcloud beta 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" AND
  labels."imagepolicywebhook.image-policy.k8s.io/break-glass"="true"'

Falha ao abrir eventos no Cloud Logging

A falha ao abrir ocorre quando uma implantação de imagem de contêiner é tentada, o implementador de autorização binária está indisponível ou expira e a imagem de contêiner tem permissão para implantar.

Nesse caso, o resultado da verificação é desconhecido, uma entrada de registro é gravada.

Consulta de eventos abertos com falha no Cloud Logging

Visualizador do Cloud Logging (clássico)

Para ver eventos abertos com falha no Visualizador do Cloud Logging (clássico):

  1. Acesse a página "Visualizador de registros".

  2. Escolha o projeto do Google Cloud em que você quer ver as entradas do Cloud Logging.

  3. Usando o menu suspenso seletor básico , selecione Kubernetes Cluster.

  4. No menu suspenso Seletor de registro , selecione cloudaudit.googleapis.com/activity.

  5. Digite a seguinte consulta na caixa de consulta de pesquisa:

    "image-policy.k8s.io/failed-open"
    
  6. Selecione o intervalo de tempo no seletor de intervalo de tempo.

Visualizador do Cloud Logging (visualização)

Para ver eventos abertos com falha no Visualizador do Cloud Logging (visualização):

  1. Acesse a página "Visualizador de registros".

  2. Na visualização clássica, selecione o menu do seletor de versões, mude a versão do Visualizador de registros de Versão clássica para Visualizar o novo Visualizador de registros.

  3. Digite o seguinte na caixa consulta de pesquisa:

    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"
    

    Ver implantações abertas com falha no Cloud Logging

  4. Selecione o intervalo de tempo no seletor de intervalo de tempo.

Linha de comando

Para ver eventos abertos com falha na última semana no Cloud Logging usando a CLI:

gcloud beta 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" AND
  labels."alpha.image-policy.k8s.io/failed-open"="true"'

Eventos de simulação no Cloud Logging

O modo de simulação é um modo de aplicação em uma política que permite a implantação de imagens não representativas, mas grava detalhes sobre a implantação no registro de auditoria. O modo de simulação permite testar uma política no ambiente de produção antes que ela entre em vigor.

Quando uma imagem de contêiner não passa nas verificações necessárias em uma política, mas pode ser implantada pelo modo de simulação, o GKE grava o seguinte no registro de auditoria do recurso do cluster do Kubernetes. (k8s_cluster):

imagepolicywebhook.image-policy.k8s.io/dry-run: "true"
imagepolicywebhook.image-policy.k8s.io/overridden-verification-result: "'REGISTRY_PATH': Image REGISTRY_PATH denied by projects/PROJECT_ID/attestors/ATTESTOR: Attestor cannot attest to an image deployed by tag

em que:

  • REGISTRY_PATH é totalmente qualificado para a imagem no registro de imagens do contêiner;
  • ATTESTOR é o caminho completo qualificado para o atestador na autorização binária no formato

Consultar o Cloud Logging para saber sobre eventos de simulação

Visualizador do Cloud Logging (clássico)

Para ver eventos de implantação de simulação no Visualizador do Cloud Logging (clássico):

  1. Acesse a página "Visualizador de registros".

  2. Escolha o projeto do Google Cloud em que você quer ver as entradas do Cloud Logging.

  3. Usando o menu suspenso seletor básico , selecione Kubernetes Cluster.

  4. No menu suspenso Seletor de registro , selecione cloudaudit.googleapis.com/activity.

  5. Digite a seguinte consulta na caixa de consulta de pesquisa:

    "imagepolicywebhook.image-policy.k8s.io/dry-run"
    
  6. Selecione o intervalo de tempo no seletor de intervalo de tempo.

Visualizador do Cloud Logging (visualização)

Para ver eventos de implantação de simulação no Visualizador do Cloud Logging (visualização):

  1. Acesse a página "Visualizador de registros".

  2. Na visualização clássica, selecione o menu do seletor de versões, mude a versão do Visualizador de registros de Versão clássica para Visualizar o novo Visualizador de registros.

  3. Digite o seguinte na caixa consulta de pesquisa:

    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"
    

    Ver implantações de simulação no Cloud Logging

  4. Selecione o intervalo de tempo no seletor de intervalo de tempo.

Linha de comando

Para ver eventos de implantação de simulação da última semana no Cloud Logging usando a CLI:

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