Registro de auditoria para regras de segurança do Firebase

Esta página descreve os registros de auditoria criados pelo Firebase como parte dos registros de auditoria do Cloud .

Visão geral

Os serviços do Firebase escrevem registros de auditoria para ajudar você a responder às perguntas "Quem fez o quê, onde e quando?". Esses são registros de auditoria do Cloud, fornecidos como parte do projeto do Google Cloud Platform conectado ao seu projeto do Firebase .

Cada um dos seus projetos do Firebase contém apenas os registros de auditoria dos recursos que estão diretamente dentro do projeto.

Para obter uma visão geral dos logs de auditoria da nuvem, consulte Visão geral dos logs de auditoria da nuvem . Para uma compreensão mais profunda do formato do log de auditoria, consulte Compreender os logs de auditoria .

Logs de auditoria disponíveis

Os seguintes tipos de registros de auditoria estão disponíveis para regras de segurança do Firebase:

  • Registros de auditoria de atividades administrativas

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

    Não é possível desativar os registros de auditoria de atividades administrativas.

  • Logs de auditoria de acesso a dados

    Inclui operações de "leitura administrativa" que leem metadados ou informações de configuração. Também inclui operações de “leitura de dados” e “gravação de dados” que leem ou gravam dados fornecidos pelo usuário.

    Para receber logs de auditoria de acesso a dados, você deve ativá-los explicitamente.

Para obter descrições mais completas dos tipos de log de auditoria, consulte Tipos de logs de auditoria .

Operações auditadas

Veja a seguir um resumo de quais operações de API correspondem a cada tipo de registro de auditoria nas regras de segurança do Firebase:

Categoria de registros de auditoria Operações de regras de segurança do Firebase
Operações do projeto
Atividade administrativa
Acesso a dados (ADMIN_READ) Conjunto de regras de teste
Operações de conjunto de regras
Atividade administrativa Criar conjunto de regras
Excluir conjunto de regras
Acesso a dados (ADMIN_READ) Obter conjunto de regras
Listar conjuntos de regras
Conjunto de regras de teste
Operações de liberação
Atividade administrativa CriarRelease
AtualizaçãoRelease
ExcluirRelease
Acesso a dados (ADMIN_READ) GetRelease
Lista de lançamentos

Formato do registro de auditoria

As entradas do log de auditoria incluem os seguintes objetos:

  • A própria entrada de log, que é um objeto do tipo LogEntry . Os campos úteis incluem o seguinte:

    • O logName contém o ID do recurso e o tipo de log de auditoria.
    • O resource contém o destino da operação auditada.
    • O timestamp contém a hora da operação auditada.
    • O protoPayload contém as informações auditadas.
  • Os dados de log de auditoria, que são um objeto AuditLog mantido no campo protoPayload da entrada de log.

  • Informações opcionais de auditoria específicas do serviço, que são um objeto específico do serviço. Para integrações mais antigas, esse objeto é mantido no campo serviceData do objeto AuditLog ; integrações mais recentes usam o campo metadata .

Para outros campos nesses objetos e como interpretá-los, revise Compreender os logs de auditoria .

Nome do registro

Os nomes dos recursos dos registros de auditoria do Cloud indicam o projeto do Firebase ou outra entidade do GCP proprietária dos registros de auditoria e se o registro contém dados de registro de auditoria de atividades do administrador, acesso a dados, política negada ou eventos do sistema. Por exemplo, veja a seguir os nomes dos registros de auditoria de atividades administrativas no nível do projeto e os registros de auditoria de acesso a dados de uma organização. As variáveis ​​denotam identificadores de projeto e organização do Firebase.

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 das regras de segurança do Firebase usam o nome de serviço firebaserules.googleapis.com .

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

Tipos de recursos

Os registros de auditoria das regras de segurança do Firebase usam o tipo de recurso audited_resource para todos os registros de auditoria.

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

Habilitar registro de auditoria

Os registros de auditoria de atividades administrativas estão sempre ativados; você não pode desativá-los.

Os registros de auditoria de acesso a dados são desativados por padrão e não são gravados, a menos que sejam explicitamente ativados (a exceção são os registros de auditoria de acesso a dados do BigQuery, que não podem ser desativados).

Para obter instruções sobre como ativar alguns ou todos os seus logs de auditoria de acesso a dados, consulte Configurar logs de acesso a dados .

Permissões e funções

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

Ao decidir quais permissões e funções específicas do Logging se aplicam ao seu caso de uso, considere o seguinte:

  • A função Visualizador de logs ( roles/logging.viewer ) fornece acesso somente leitura aos logs de auditoria de atividades administrativas, políticas negadas e eventos do sistema. Se você tiver apenas essa função, não poderá visualizar os logs de auditoria de acesso a dados que estão no bucket _Default .

  • A função Visualizador de logs privados (roles/logging.privateLogViewer ) inclui as permissões contidas em roles/logging.viewer , além da capacidade de ler logs de auditoria de acesso a dados no bucket _Default .

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

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

Ver registros

Para encontrar e visualizar registros de auditoria, você precisa saber o identificador do projeto, da pasta ou da organização do Firebase cujas informações de registro de auditoria você deseja visualizar. Você pode especificar ainda outros campos LogEntry indexados, como resource.type ; para obter detalhes, revise Localizar entradas de log rapidamente .

A seguir estão os nomes dos logs de auditoria; eles incluem variáveis ​​para os identificadores do projeto, pasta ou organização do Firebase:

   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

   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

Você pode visualizar registros de auditoria no Cloud Logging usando o Console do GCP, a ferramenta de linha de comando gcloud ou a API Logging.

Console

Você pode usar o Logs Explorer no Console do GCP para recuperar as entradas do registro de auditoria do seu projeto, pasta ou organização do Firebase:

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

    Acesse a página do Explorador de registros

  2. Na página Logs Explorer , selecione um projeto, pasta ou organização existente do Firebase.

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

    • Em Tipo de recurso , selecione o recurso do GCP cujos registros de auditoria você deseja ver.

    • Em Nome do log , selecione o tipo de log de auditoria que você deseja ver:

      • Para registros de auditoria de atividades administrativas, selecione atividade .
      • Para logs de auditoria de acesso a dados, selecione data_access .
      • Para logs de auditoria de eventos do sistema, selecione system_event .
      • Para logs de auditoria de política negada, selecione policy .

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

    Para obter mais detalhes sobre consultas usando o Logs Explorer, consulte Criar consultas de log .

gcloud

A ferramenta de linha de comando gcloud fornece uma interface de linha de comando para a API Cloud Logging. Forneça um PROJECT_ID , FOLDER_ID ou ORGANIZATION_ID válido em cada um dos nomes de log.

Para ler as entradas do registro de auditoria no nível do projeto do Firebase, execute o seguinte comando:

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

Para ler as entradas do log de auditoria em nível de pasta, execute o seguinte comando:

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

Para ler as entradas do log 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 obter mais informações sobre como usar a ferramenta gcloud , consulte Ler entradas de log .

API

Ao criar suas consultas, substitua as variáveis ​​por valores válidos, substitua o nome ou os identificadores apropriados do log de auditoria no nível do projeto, no nível da pasta ou no nível da organização, conforme listado nos nomes do log de auditoria. Por exemplo, se sua consulta incluir um PROJECT_ID , o identificador de projeto fornecido deverá se referir ao projeto do Firebase atualmente selecionado.

Para usar a API Logging para examinar as entradas do registro de auditoria, faça o seguinte:

  1. Vá para a seção Experimente esta API na documentação do método entries.list .

  2. Coloque o seguinte na parte do corpo da solicitação do formulário Experimente esta API . Clicar neste formulário pré-preenchido preenche automaticamente o corpo da solicitação, mas você precisa fornecer um PROJECT_ID válido em cada um dos nomes de log.

    {
      "resourceNames": [
        "projects/PROJECT_ID"
      ],
      "pageSize": 5,
      "filter": "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com"
    }
    
  3. Clique em Executar .

Para obter mais detalhes sobre consultas, consulte Linguagem de consulta de registro em log .

Para obter um exemplo de entrada de log de auditoria e como localizar as informações mais importantes nela, consulte Exemplo de entrada de log de auditoria .

Logs de auditoria de roteamento

Você pode rotear logs de auditoria para destinos compatíveis da mesma forma que pode rotear outros tipos de logs. Aqui estão alguns motivos pelos quais você pode querer rotear seus 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 encaminhar cópias dos registros de auditoria para o Google Cloud Storage, o BigQuery ou o Google Cloud Pub/Sub. Usando o Cloud Pub/Sub, você pode rotear para outros aplicativos, outros repositórios e terceiros.

  • Para gerenciar seus registros de auditoria em toda a organização, você pode criar coletores agregados que podem rotear registros de qualquer um ou de todos os projetos do Firebase na organização.

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

Para obter instruções sobre logs de roteamento, consulte Configurar coletores .

Preços

Os logs de auditoria de atividades administrativas e os logs de auditoria de eventos do sistema são gratuitos.

Os logs de auditoria de acesso a dados e os logs de auditoria de política negada são cobrados.

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