Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.

Informações de geração de registros de auditoria do Firestore

Neste documento, descrevemos os registros de auditoria criados pelo Firestore como parte do Cloud Audit Logging.

Visão geral

Os serviços do Google Cloud gravam registros de auditoria para ajudar você a responder às perguntas nos recursos do Google Cloud: "Quem fez o quê, onde e quando?"

Seus projetos do Google Cloud contêm apenas os registros de auditoria dos recursos que estão diretamente no projeto do Cloud. Outros recursos do Google Cloud, como pastas, organizações e contas de faturamento, contêm os registros de auditoria da própria entidade.

Para uma visão geral dos registros do Cloud Audit, consulte Visão geral dos registros de auditoria do Cloud. Para entender melhor o formato do registro de auditoria, consulte Noções básicas sobre os registros de auditoria.

Registros de auditoria disponíveis

Os seguintes tipos de registros de auditoria estão disponíveis para o Firestore:

  • Registros de auditoria de atividade do administrador

    Inclui operações de gravação de administradores, que gravam metadados ou informações de configuração.

    Não é possível desativar os registros de auditoria da atividade do administrador.

  • Registros de auditoria de acesso a dados

    Inclui operações de leitura do administrador, que leem metadados ou informações de configuração. Também inclui operações de leitura e gravação de dados e leitura/gravação de dados fornecidos pelo usuário.

    Para receber registros de auditoria de acesso a dados, é preciso ativá-los explicitamente.

Para descrições mais completas dos tipos de registros de auditoria, consulte Tipos de registros de auditoria.

Operações auditadas

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

Categoria dos registros de auditoria Operações do Firestore
Registros de atividade do administrador (ADMIN_WRITE)
Registros de auditoria de acesso a dados (ADMIN_READ)
Registros de auditoria de acesso a dados (DATA_READ)
  • GetDocument
  • ListDocuments
  • BatchGetDocuments
  • BeginTransaction
  • Commit sem gravações
  • Rollback
  • RunQuery (streaming)

    RunQuery é um RPC de streaming de curta duração e emite uma entrada de registro quando a última mensagem (documento) é enviada.

  • PartitionQuery
  • ListCollectionIds
  • Listen (streaming)

    Listen é uma RPC de longa duração que combina vários destinos de streaming. Cada destino é uma consulta ou um conjunto de chaves de documentos. O stream de cada destino inclui um conjunto de resultados inicial e uma sequência de atualizações, adições e remoções para o conjunto de resultados. As metas são a unidade de auditoria relevante. O Firestore audita cada destino da seguinte maneira:

    • Quando o destino for adicionado, emita uma entrada de registro com a consulta de destino ou o conjunto de chaves do documento.
    • Emite atualizações periódicas informando a contagem de atualizações desde o último registro de auditoria desse destino.
    • Emite uma entrada de registro quando o destino é removido do stream, seja explicitamente ou devido ao encerramento da RPC Listen. Esta entrada de registro informa a contagem de atualizações desde o último registro de auditoria para esse destino.
    • As entradas de registro emitidas usam o mesmo operation.id.
Registros de auditoria de acesso a dados (DATA_WRITE)

Formato do registro de auditoria

As entradas de registro de auditoria incluem os seguintes objetos:

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

    • O logName contém o ID do recurso e o tipo de registro de auditoria.
    • O resource contém o destino da operação auditada.
    • O timeStamp contém o horário da operação auditada.
    • O 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 de auditoria opcionais e específicas do serviço, que são um objeto específico do serviço. Para integrações anteriores, esse objeto é mantido no campo serviceData do objeto AuditLog. As integrações posteriores usam o campo metadata.

Veja outros campos nesses objetos e como interpretá-los em Noções básicas sobre registros de auditoria.

Nome do registro

Os nomes dos registros de auditoria do Cloud incluem identificadores de recursos que indicam o projeto do Cloud ou outra entidade do Google Cloud proprietária dos registros de auditoria e mostram se o registro tem dados de registro de auditoria de atividades do administrador, de acesso a dados, de políticas negadas ou de eventos do sistema.

Veja a seguir os nomes dos registros de auditoria, que incluem variáveis para os identificadores de recursos:

   projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity
   projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fdata_access
   projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event
   projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fpolicy

   folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Factivity
   folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Fdata_access
   folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Fsystem_event
   folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Fpolicy

   billingAccounts/BILLING_ACCOUNT_ID/logs/cloudaudit.googleapis.com%2Factivity
   billingAccounts/BILLING_ACCOUNT_ID/logs/cloudaudit.googleapis.com%2Fdata_access
   billingAccounts/BILLING_ACCOUNT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event
   billingAccounts/BILLING_ACCOUNT_ID/logs/cloudaudit.googleapis.com%2Fpolicy

   organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Factivity
   organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fdata_access
   organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fsystem_event
   organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fpolicy

Nome do serviço

Os registros de auditoria do Firestore usam o nome de serviço firestore.googleapis.com.

Para ver uma lista de todos os nomes de serviço da API Cloud Logging e os tipos de recurso monitorado correspondentes, consulte Mapear serviços para recursos.

Tipos de recursos

Os registros de auditoria do Firestore usam os tipos de recurso datastore_database e datastore_index.

Para uma lista de todos os tipos de recursos monitorados do Cloud Logging e informações descritivas, consulte Tipos de recursos monitorados.

Ativar 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 são desativados e não são gravados, a menos que essa opção seja ativada. Os registros de auditoria de acesso a dados do BigQuery são uma exceção e podem ser desativados.

Para informações sobre como ativar alguns ou todos os registros de auditoria de acesso a dados, consulte Configurar registros de auditoria de acesso a dados.

Permissões e papéis

As permissões e os papéis do IAM determinam sua capacidade de acessar dados de registros de auditoria nos recursos do Google Cloud.

Ao decidir quais permissões e papéis específicos do Logging se aplicam ao seu caso de uso, considere o seguinte:

  • O papel Visualizador de registros (roles/logging.viewer) oferece acesso somente leitura aos registros de auditoria de atividade do administrador, política negada e eventos do sistema. Se você tiver apenas esse papel, não será possível ver os registros de auditoria de acesso a dados que estão nos buckets _Required e _Default.

  • O papel Visualizador de registros privados(roles/logging.privateLogViewer) inclui as permissões contidas em roles/logging.viewer, além da capacidade de ler registros de auditoria de acesso a dados nos buckets _Required e _Default.

    Se esses registros privados forem armazenados em buckets definidos pelo usuário, qualquer usuário que tenha permissões para ler registros nesses buckets poderá ler os registros particulares. Para mais informações sobre buckets de registros, consulte Visão geral do roteamento e armazenamento.

Para mais informações sobre as permissões e os papéis do IAM que se aplicam aos dados de registros de auditoria, consulte Controle de acesso com o IAM.

Ver registros

Para consultar registros de auditoria, você precisa saber o nome do registro, que inclui o identificador de recurso do projeto, da pasta, da conta de faturamento do Cloud ou da organização de que você quer ver as informações de registro de auditoria. Na consulta, é possível especificar outros campos LogEntry indexados, como resource.type. Para mais informações sobre consultas, acesse Criar consultas no Explorador de registros.

É possível ver os registros de auditoria no Logging usando o Console do Cloud, a CLI do Google Cloud ou a API Logging:

Console

  1. No Console do Cloud, acesse a página Logging> Logs Explorer.

    Acessar o Explorador de registros

  2. Selecione um projeto, uma pasta ou uma organização do Cloud.

  3. No painel Criador de consultas, faça o seguinte:

    • Em Tipo de recurso, selecione o recurso do Google Cloud que tem os registros de auditoria que você quer ver.

    • Em Nome do registro, selecione o tipo de registro de auditoria que você quer ver:

      • Para os registros de auditoria da atividade do administrador, selecione Atividade.
      • Para registros de auditoria de acesso a dados, selecione data_access.
      • Para os registros de auditoria de eventos do sistema, selecione system_event.
      • Em "Registros de auditoria de política negada", selecione policy.

    Se você não vir essas opções, não há registros de auditoria desse tipo disponíveis no projeto, na pasta ou na organização do Cloud.

    Se você estiver com problemas ao tentar ver registros no Explorador de registros, consulte as informações de solução de problemas.

    Para mais informações sobre como consultar usando o Explorador de Registros, veja Criar consultas no Explorador de Registros.

gcloud

A CLI do Google Cloud fornece uma interface de linha de comando para a API Logging. Insira um identificador de recurso válido em cada um dos nomes de registro. Por exemplo, se a consulta incluir um PROJECT_ID, o identificador do projeto que você fornecer precisará fazer referência ao projeto do Cloud selecionado.

Para ler suas entradas de registro de auditoria no nível do projeto do Cloud, execute o comando a seguir:

gcloud logging read "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com" \
    --project=PROJECT_ID

Para ler suas entradas de registro de auditoria no nível da pasta, execute o comando a seguir:

gcloud logging read "logName : folders/FOLDER_ID/logs/cloudaudit.googleapis.com" \
    --folder=FOLDER_ID

Para ler suas entradas de registro de auditoria no nível da conta de faturamento, execute o comando a seguir:

gcloud logging read "logName : billingAccounts/BILLING_ACCOUNT_ID/logs/cloudaudit.googleapis.com" \
    --billing-account=BILLING_ACCOUNT_ID

Para ler as entradas do registro de auditoria no nível da organização, execute o seguinte comando:

gcloud logging read "logName : organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com" \
    --organization=ORGANIZATION_ID

Para mais informações sobre como usar a CLI gcloud, consulte gcloud logging read.

API

Ao criar consultas, informe um identificador de recurso válido em cada um dos nomes de registro. Por exemplo, se a consulta incluir um PROJECT_ID, o identificador do projeto que você fornecer precisará fazer referência ao projeto do Cloud selecionado no momento.

Por exemplo, para usar a API Logging para visualizar as entradas de registro de auditoria para envolvidos no projeto, faça o seguinte:

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

  2. Digite o seguinte na parte do Corpo da solicitação do formulário Teste esta API. Clique nesse formulário preenchido automaticamente para preencher automaticamente o corpo da solicitação, mas é necessário inserir 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"
    }
    
  3. Clique em Executar.

Registros de auditoria do Route

É possível rotear registros de auditoria para destinos compatíveis da mesma maneira que encaminha outros tipos de registros. Veja alguns motivos para rotear registros de auditoria:

  • Para manter os registros de auditoria por mais tempo ou usar recursos de pesquisa mais eficientes, direcione cópias dos seus registros de auditoria para o Cloud Storage, o BigQuery ou o Pub/Sub. Com o Pub/Sub, é possível rotear para outros aplicativos, outros repositórios e para terceiros.

  • Para gerenciar seus registros de auditoria em toda a organização, crie coletores agregados que podem rotear registros de qualquer ou todos os projetos do Cloud na organização.

  • Se os registros ativados de auditoria de acesso a dados estiverem enviando seus projetos do Cloud para as cotas de registros, você poderá criar coletores que excluam os registros de auditoria de acesso a dados do Logging.

Para instruções sobre como rotear registros, consulte Configurar e gerenciar coletores.

Preço

Para informações sobre os preços do Cloud Logging, consulte Preços do pacote de operações do Google Cloud: Cloud Logging.