Recupere erros dos VPC Service Controls a partir de registos de auditoria

Esta página descreve como pode encontrar erros do VPC Service Controls através do Cloud Logging.

O VPC Service Controls ajuda a mitigar os riscos de exfiltração de dados isolando os serviços de Google Cloud vários inquilinos. Para mais informações, consulte o artigo Vista geral dos VPC Service Controls.

Determine se um erro se deve aos VPC Service Controls

O VPC Service Controls pode modificar as propriedades de Google Cloud e ter efeitos em cascata nos serviços. Isto pode dificultar a depuração de problemas, especialmente se não souber o que procurar.

As alterações ao perímetro de serviço podem demorar até 30 minutos a serem propagadas e a entrarem em vigor. Quando as alterações forem propagadas, o acesso aos serviços restritos no perímetro não pode atravessar o limite do perímetro, a menos que seja explicitamente autorizado.

Para determinar se um erro está relacionado com os VPC Service Controls, verifique se ativou os VPC Service Controls e os aplicou aos projetos e serviços que está a tentar usar. Para verificar se os projetos e os serviços estão protegidos pelo VPC Service Controls, verifique a política do VPC Service Controls nesse nível da hierarquia de recursos.

Considere um cenário de exemplo em que usa indiretamente um serviço que está marcado como um serviço restrito pelo VPC Service Controls num projeto que está dentro de um perímetro de serviço. Nesse caso, os VPC Service Controls podem estar a negar o acesso.

Normalmente, os serviços propagam mensagens de erro das respetivas dependências. Se encontrar um dos seguintes erros, indica um problema com o VPC Service Controls.

  • Cloud Storage: 403: Request violates VPC Service Controls.

  • BigQuery: 403: VPC Service Controls: Request is prohibited by organization's policy.

  • Outros serviços: 403: Request is prohibited by organization's policy.

Use o ID exclusivo do erro

Ao contrário da Google Cloud consola, a ferramenta de linha de comandos gcloud devolve um ID exclusivo para erros do VPC Service Controls. Para localizar entradas do registo relativas a outros erros, filtre os registos através de metadados.

Um erro gerado pelos VPC Service Controls inclui um ID exclusivo que é usado para identificar os registos de auditoria relevantes.

Para obter informações sobre um erro através do ID exclusivo, faça o seguinte:

  1. Na Google Cloud consola, aceda à página Cloud Logging do projeto no perímetro de serviço que acionou o erro.

    Aceda ao Cloud Logging

  2. No campo de filtro de pesquisa, introduza o ID exclusivo do erro.

Pode ver a entrada do registo relevante.

Filtre registos através de metadados

Pode usar o Explorador de registos para encontrar erros relacionados com os VPC Service Controls. Pode usar a linguagem de consulta de registos para obter os registos. Para ver informações sobre a criação de consultas, consulte o artigo Criar consultas com a linguagem de consulta do Logging.

Consola

Para obter os erros do VPC Service Controls das últimas 24 horas no Logging, faça o seguinte:

  1. Na Google Cloud consola, aceda à página Cloud Logging.

    Aceda ao Cloud Logging

  2. Certifique-se de que está no projeto que se encontra no perímetro de serviço.

  3. No campo de filtro de pesquisa, introduza o seguinte:

    protoPayload.metadata.@type:"type.googleapis.com/google.cloud.audit.VpcServiceControlAuditMetadata"
    
  4. No menu Recurso, selecione Recurso auditado.

  5. No menu do seletor de intervalo de tempo, selecione Últimas 24 horas.

  6. Opcional: para encontrar os erros do VPC Service Controls que ocorreram durante um período diferente, use o menu do seletor de intervalo de tempo.

gcloud

  • Para obter os erros do VPC Service Controls das últimas 24 horas, execute o seguinte comando:

    gcloud logging read 'protoPayload.metadata.@type:"type.googleapis.com/google.cloud.audit.VpcServiceControlAuditMetadata"'
    

    Por predefinição, o comando read está limitado às últimas 24 horas. Para obter registos do VPC Service Controls para um período diferente, use um dos seguintes comandos:

  • Para obter registos gerados num determinado período a partir da data atual, execute o seguinte comando:

    gcloud logging read \
    'protoPayload.metadata.@type:"type.googleapis.com/google.cloud.audit.VpcServiceControlAuditMetadata"' \
      --freshness=DURATION
    

    DURATION é um período formatado. Para mais informações sobre a formatação, consulte os formatos de tempo e duração relativos para a CLI gcloud.

  • Para obter todos os erros do VPC Service Controls que ocorreram na semana passada, execute o seguinte comando:

    gcloud logging read \
    'protoPayload.metadata.@type:"type.googleapis.com/google.cloud.audit.VpcServiceControlAuditMetadata"' \
      --freshness=7d
    
  • Para obter registos gerados entre datas específicas, execute o seguinte comando:

    gcloud logging read \
    'protoPayload.metadata.@type:"type.googleapis.com/google.cloud.audit.VpcServiceControlAuditMetadata" AND
    timestamp>="START_DATETIME" AND
    timestamp<="END_DATETIME"'
    

    START_DATETIME e END_DATETIME são strings de data e hora formatadas. Para mais informações sobre a formatação, consulte os formatos de data e hora absolutos para a CLI gcloud.

    Por exemplo, para obter todos os erros do VPC Service Controls que ocorreram entre 22 de março de 2019 e 26 de março de 2019:

    gcloud logging read \
    'protoPayload.metadata.@type:"type.googleapis.com/google.cloud.audit.VpcServiceControlAuditMetadata" AND
      timestamp>="2019-03-22T23:59:59Z" AND
      timestamp<="2019-03-26T00:00:00Z"'
    

O que se segue?