Como usar o Cloud Audit Logging com o Cloud Functions

Nesta página, descrevemos os registros de auditoria criados pelo Google Cloud Functions como parte do registro de auditoria do Cloud.

Visão geral

Os serviços do Google Cloud gravam registros de auditoria para que você possa determinar quem fez o quê, onde e quando. Os projetos do Google Cloud contêm apenas os registros de auditoria de recursos que estão diretamente no projeto. Outras entidades, como pastas, organizações e contas de faturamento, têm os próprios registros de auditoria.

Para uma visão geral dele, acesse Registro de auditoria do Cloud. Para mais detalhes sobre o registro de auditoria do Cloud, consulte Noções básicas sobre registros de auditoria.

Os registros de auditoria do Cloud mantêm três registros de auditoria para cada projeto, pasta e organização do Google Cloud:

  • registros de auditoria de atividade do administrador
  • Registros de auditoria de acesso a dados
  • registros de auditoria de evento do sistema

O Cloud Functions grava registros de auditoria da atividade do administrador, que mostram operações que modificam a configuração ou os metadados de um recurso. Não é possível desativar esses registros de auditoria.

O Cloud Functions gravará registros de auditoria de acesso a dados somente se explicitamente ativado. Eles contêm as chamadas de API que leem a configuração ou os metadados dos recursos, além das chamadas com base no usuário que criam, modificam ou leem os dados dos recursos inseridos pelo usuário. Os registros de auditoria de acesso a dados não registram as operações de acesso a dados nos recursos compartilhados publicamente (disponíveis para todos os usuários ou todos os usuários autenticados) ou que podem ser acessados sem fazer login no Google Cloud.

O Cloud Functions não grava registros de auditoria de eventos do sistema.

Operações auditadas

Veja a seguir um resumo de quais operações da API correspondem a cada tipo de registro de auditoria no Cloud Functions.

Categoria do registro de auditoria Operações do Cloud Functions
Atividade do administrador cloudfunctions.functions.create
cloudfunctions.functions.delete
cloudfunctions.functions.update
cloudfunctions.functions.sourceCodeSet
cloudfunctions.operations.get
cloudfunctions.locations.list
Acesso a dados (ADMIN_READ) cloudfunctions.functions.get
cloudfunctions.functions.list
cloudfunctions.functions.sourceCodeGet
Acesso a dados (DATA_READ) cloudfunctions.functions.call

Formato do registro de auditoria

As entradas de registro de auditoria podem ser visualizadas no Stackdriver Logging por meio do Visualizador de registros, da API Stackdriver Logging ou da ferramenta de linha de comando gcloud. Além disso, elas incluem os seguintes objetos:

  • A própria entrada de registro, que é um objeto do tipo LogEntry. Veja abaixo alguns dos campos úteis:

    • logName contém o tipo de registro de auditoria e de identificação do projeto.
    • resource contém o destino da operação auditada.
    • timeStamp contém o horário da operação auditada.
    • protoPayload contém as informações auditadas.
  • Os dados de registro de auditoria, que são um objeto AuditLog localizado no campo protoPayload da entrada de registro.

  • Informações opcionais de auditoria específicas de serviços, que são um objeto específico de serviços, localizado no campo serviceData do objeto AuditLog. Para detalhes, acesse Dados de auditoria específicos do serviço.

Para ver outros campos desses objetos e saber como interpretá-los, consulte as Noções básicas de registros de auditoria.

Nome do registro

Os nomes de recursos do Cloud Audit Logs indicam o projeto ou outra entidade que contém os registros de auditoria e mostram se o registro tem dados de registro de auditoria de atividades do administrador, de acesso a dados ou de eventos do sistema. Por exemplo, veja abaixo os nomes dos registros de auditoria de atividade do administrador de um projeto e de acesso a dados de uma organização.

projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Factivity
organizations/[ORGANIZATION_ID]/logs/cloudaudit.googleapis.com%2Fdata_access

Nome do serviço

Os registros de auditoria do Cloud Functions usam o nome de serviço cloudfunctions.googleapis.com.

Para mais detalhes sobre como gerar registros de serviços, acesse Como mapear serviços a recursos.

Tipos de recurso

Os registros de auditoria do Cloud Functions usam o tipo de recurso cloud_function para todos os registros de auditoria.

Para uma lista completa, acesse Tipos de recurso monitorado.

Como ativar o registro de auditoria

Os registros de auditoria de atividade do administrador estão sempre ativados. Não é possível desativá-los.

Por padrão, os registros de auditoria de acesso a dados estão desativados e não são gravados, a menos que essa opção seja especificamente ativada. Os registros de auditoria de acesso a dados do BigQuery são uma exceção e não podem ser desativados.

Para instruções sobre como ativar alguns ou todos os registros de auditoria de acesso a dados, leia Como configurar registros de acesso a dados.

Os registros de auditoria de acesso a dados configurados podem afetar os preços no Stackdriver. Consulte a seção Preços nesta página.

Permissões de registro de auditoria

As permissões e os papéis do Cloud Identity and Access Management determinam quais registros de auditoria você tem permissão para visualizar ou exportar. Os registros estão incluídos nos projetos e em outras entidades como organizações, pastas e contas de faturamento. Para mais informações, consulte Como entender os papéis.

Para ver os registros de auditoria de atividade do administrador, você precisa ter um dos seguintes papéis do Cloud IAM no projeto que contém os registros de auditoria:

Para ver os registros de auditoria de acesso a dados, é preciso ter um dos seguintes papéis no projeto que contém os registros de auditoria:

Se você estiver usando registros de auditoria de uma entidade sem projeto, como uma organização, altere para os papéis do projeto adequados à organização.

Como ver registros

Você tem várias opções para ver suas entradas de registro de auditoria:

Visualizador básico

Para usar a interface básica do visualizador de registros no Console do Cloud e recuperar suas entradas de registro de auditoria, faça o seguinte:

  1. Acesse a página Stackdriver Logging > Registros (Visualizador de registros) no Console do Cloud:

    Acessar a página "Visualizador de registros"

  2. Selecione um projeto que já exista no Google Cloud na parte superior da página ou crie um novo.

  3. No primeiro menu suspenso, selecione o tipo de recurso com os registros de auditoria que você quer ver. É possível selecionar um recurso específico ou Global para todos os recursos.

  4. No segundo menu suspenso, selecione o tipo de registro que quer ver: activity para registros de auditoria de atividade do administrador, data_access para registros de auditoria de acesso a dados e system_events para registros de auditoria de evento do sistema.

    Se não aparecer nenhuma dessas opções, não há registros de auditoria desse tipo disponíveis no projeto.

Visualizador avançado

Para usar a interface avançada do visualizador de registros no Console do Cloud e recuperar suas entradas de registro de auditoria, faça o seguinte:

  1. Acesse a página Stackdriver Logging > Registros (Visualizador de registros) no Console do Cloud:

    Acessar a página "Visualizador de registros"

  2. Selecione um projeto que já exista no Google Cloud na parte superior da página ou crie um novo.

  3. No primeiro menu suspenso, selecione o tipo de recurso com os registros de auditoria que você quer ver. É possível selecionar um recurso específico ou Global para todos os recursos.

  4. Clique na seta suspensa (▾) na extrema direita da caixa de consulta de pesquisa e selecione Converter para filtro avançado.

  5. Crie uma consulta que especifique ainda mais as entradas de registros que você quer ver. Para recuperar todos os registros de auditoria do seu projeto, adicione a consulta a seguir. Insira um [PROJECT_ID] válido em cada um dos nomes de registro.

      logName = ("projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Factivity"
          OR "projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Fsystem_events"
          OR "projects/[PROJECT_ID]logs/cloudaudit.googleapis.com%2Fdata_access")
    

    Para mais detalhes sobre consultas, acesse Consultas de registros avançadas.

API

Para ver suas entradas de registro de auditoria usando a API Stackdriver Logging, siga estas etapas:

  1. Acesse a seção Testar esta API da documentação do método entries.list.

  2. Insira as informações a seguir na seção Corpo da solicitação do formulário Testar esta API. Se você clicar neste formulário pré-preenchido, o corpo da solicitação será preenchido automaticamente. No entanto, será preciso fornecer um [PROJECT_ID] válido para cada um dos nomes de registro.

      {
        "resourceNames": [
          "projects/[PROJECT_ID]"
        ],
        "pageSize": 5,
        "filter": "logName=(projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Factivity OR projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Fsystem_events OR projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Fdata_access)"
      }
    
  3. Clique em Executar.

Para mais detalhes sobre consultas, acesse Consultas de registros avançadas.

gcloud

Para ler suas entradas de registro usando a ferramenta de linha de comando da gcloud, execute o comando a seguir. Insira um [PROJECT_ID] válido em cada um dos nomes de registro.

gcloud logging read "logName=(projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Factivity OR projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Fsystem_events OR projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Fdata_access)"

Acesse Como ler entradas de registro para mais informações sobre como usar a ferramenta de linha de comando gcloud.

Para ver um exemplo de entrada de registro de auditoria e instruções para encontrar as informações mais importantes nesse registro, acesse Noções básicas sobre registros de auditoria.

Como exportar registros de auditoria

É possível exportar os registros de auditoria da mesma forma que você exporta qualquer outro tipo de registro. Para mais detalhes sobre como exportar registros, acesse esta página. Veja a seguir algumas aplicações da exportação de registros de auditoria.

  • Para manter registros de auditoria por mais tempo ou usar recursos de pesquisa mais eficientes, exporte cópias desses registros para o Cloud Storage, o BigQuery ou o Pub/Sub. Com o Pub/Sub, faça exportações para outros aplicativos e repositórios ou para terceiros.

  • Para gerenciar registros de auditoria em toda a organização, crie coletores de exportação agregados capazes de exportar registros de um ou todos os projetos na organização.

  • Se os registros ativados de auditoria de acesso a dados estiverem fazendo com que seus projetos excedam a cota, exporte e exclua esses registros do Logging. Para detalhes, acesse Exclusões de registros.

Preços

O Stackdriver Logging não gera cobranças por registros de auditoria que não podem ser desativados, incluindo todos aqueles de atividades do administrador. O Stackdriver Logging cobra pelos registros de auditoria de acesso a dados que você solicita explicitamente.

Para mais informações sobre preços de registros de auditoria, consulte Preços do Stackdriver.