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 Cloud Audit Logging.

Visão geral

Os serviços do Google Cloud Platform gravam registros de auditoria que ajudam você a determinar quem fez o quê, onde e quando. Cada projeto do GCP contém apenas os registros de auditoria dos recursos que estão diretamente nele. Outras entidades, como pastas, organizações e contas de faturamento, têm os próprios registros de auditoria.

Para uma visão geral do Cloud Audit Logging, acesse Cloud Audit Logging. Se você quiser mais detalhes sobre o Cloud Audit Logging, consulte Noções básicas sobre os registros de auditoria.

O Cloud Audit Logging mantém três registros de auditoria para cada projeto, pasta e organização do GCP:

  • Registros de auditoria das atividades do administrador
  • Registros de auditoria de acesso a dados
  • Registros de auditoria de eventos do sistema

O Cloud Functions grava e fornece, por padrão, os registros de auditoria das atividades do administrador. Esses registros informam as operações que modificam a configuração ou os metadados de um recurso.

O Cloud Functions grava, mas não fornece por padrão, os registros de auditoria de acesso a dados que informam as chamadas de API que criam, modificam ou leem os dados fornecidos pelo usuário. Os registros de auditoria de acesso a dados são divididos em categorias diferentes:

  • Acesso a dados (ADMIN_READ): operações que leem a configuração ou os metadados de um recurso.

    Por padrão, o Cloud Functions não fornece informações de leitura do administrador.

  • Acesso a dados (DATA_READ): operações que leem dados fornecidos pelo usuário de um recurso.

    O Cloud Functions não fornece informações de leitura de dados por padrão.

  • Acesso a dados (DATA_WRITE): operações que gravam os dados fornecidos pelo usuário de um recurso.

    O Cloud Functions não fornece informações de gravação de dados por padrão.

É possível configurar os registros de auditoria de acesso a dados que não são fornecidos por padrão. Para detalhes, acesse Como configurar os registros de acesso a dados.

Os registros de auditoria de eventos do sistema não estão disponíveis para o Cloud Functions.

Operações auditadas

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

Categoria de registros 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 do registro de auditoria, que podem ser visualizadas no Stackdriver Logging usando o visualizador de registros, a API Stackdriver Logging ou o SDK do Cloud, incluem os seguintes objetos:

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

    • logName contém a identificação do projeto e o tipo de registro de auditoria.
    • 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 mantido no campo protoPayload da entrada de registro.

  • Informações de auditoria opcionais específicas do serviço, localizadas no campo serviceData do objeto AuditLog. Para detalhes, acesse Dados de auditoria específicos do serviço.

Para ver outros campos nesses objetos e saber como interpretá-los, revise as Noções básicas sobre os 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. Veja a seguir exemplos de nomes dos registros de auditoria de atividades do administrador de um projeto e de acesso aos 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 do serviço cloudfunctions.googleapis.com.

Para mais detalhes sobre os serviços da geração de registros, acesse Como associar 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.

Para uma lista completa, acesse Tipos de recursos monitorados.

Como ativar o registro de auditoria

Os registros de auditoria das atividades do administrador são ativados por padrão e não podem ser desativados,

A maioria dos registros de auditoria de acesso a dados está desabilitada por padrão, exceto os do BigQuery.

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

Os registros de auditoria de acesso a dados configurados podem afetar os preços dos registros 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ê pode ver 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, acesse Noções básicas sobre papéis.

Para visualizar 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 visualizar registros de auditoria de acesso a dados, você precisa 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, troque os papéis do Projeto por papéis adequados da organização.

Como ver registros

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

Visualizador básico

É possível usar a interface básica do visualizador de registros no Console do GCP para recuperar entradas de registros de auditoria. Para isso, siga as etapas abaixo:

  1. Acesse Stackdriver Logging > Registros (página "visualizador de registros") no Console do GCP:

    Acessar a página "visualizador de registros"

  2. Selecione um projeto do GCP na parte superior da página ou crie um novo.

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

  4. No segundo menu suspenso, selecione o tipo de registro que você quer visualizar: 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 eventos do sistema.

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

Leitor avançado

É possível usar a interface avançada do visualizador de registros no Console do GCP para recuperar suas entradas de registros de auditoria. Para isso, siga as etapas abaixo:

  1. Acesse Stackdriver Logging > Registros (página "visualizador de registros") no Console do GCP:

    Acessar a página "visualizador de registros"

  2. Selecione um projeto do GCP na parte superior da página ou crie um novo.

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

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

  5. Crie um filtro que especifique ainda mais as entradas de registros que você quer visualizar. Para recuperar todos os registros de auditoria do projeto, adicione o filtro a seguir. Forneça um [PROJECT_ID] válido em cada um dos nomes de registro.

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

    Para mais detalhes sobre filtros, acesse Filtros de registros avançados.

API

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

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

  2. Digite o seguinte na parte do Corpo da solicitação do formulário Teste esta API. Ao clicar neste formulário pré-preenchido, o corpo da solicitação é automaticamente preenchido. No entanto, será preciso fornecer um [PROJECT_ID] válido em 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 filtros, acesse Filtros de registros avançados.

SDK

Para ler suas entradas de registros usando o SDK do Cloud, execute o comando abaixo. Forneça 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 o SDK do Cloud.

Para ver uma amostra de entrada de registro de auditoria e saber como encontrar as informações mais importantes, 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 outros tipos de registros. Para ver detalhes sobre como exportar os registros, clique aqui. Veja a seguir algumas aplicações da exportação de registros de auditoria:

  • Para manter os registros de auditoria por um período mais longo ou usar recursos de pesquisa mais avançados, você pode exportar cópias dos registros de auditoria para o Cloud Storage, o BigQuery ou o Cloud Pub/Sub. Com o Cloud Pub/Sub, você pode exportar para outros aplicativos, outros repositórios e para terceiros.

  • Para gerenciar os registros de auditoria em toda a organização, crie coletores de exportação agregados. Eles exportam registros de todos os projetos na organização.

  • Se os registros ativados de auditoria de acesso a dados estiverem fazendo os projetos excederem as cotas de registros, será possível exportar e excluí-los do Logging. Para detalhes, acesse Como excluir registros.

Preços

O Stackdriver Logging não cobra pelos registros de auditoria ativados por padrão, inclusive todos os registros de atividade do administrador.

O Stackdriver Logging cobra pelos registros de acesso a dados que você solicita explicitamente.

Para mais informações sobre os preços dos registros de auditoria, confira o artigo Preços do Stackdriver.

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Cloud Functions Documentation