Encaminhar entradas de registro

Este documento explica como o Cloud Logging roteia entradas de registro que são recebidas por Trusted Cloud by S3NS. Há vários tipos diferentes de destinos de roteamento. Por exemplo, é possível rotear entradas de registro para um destino, como um bucket de registros, que armazena entradas de registro. Se você quiser exportar seus dados de registro para um destino de terceiros, roteie as entradas de registro para o Pub/Sub. Além disso, uma entrada de registro pode ser roteada para vários destinos.

Sobre os roteadores de registros

Cada Trusted Cloud projeto, conta de faturamento, pasta e organização tem um roteador de registros, que gerencia o fluxo de entradas de registro pelos coletores no nível do recurso. Um roteador de registro também gerencia o fluxo de uma entrada de registro por coletores que estão na hierarquia de recursos da entrada. Os coletores controlam como as entradas de registro são roteadas para os destinos.

Um Log Router armazena uma entrada de registro temporariamente. Esse comportamento armazena em buffer interrupções temporárias e falhas que podem ocorrer quando uma entrada de registro flui por coletores. O armazenamento temporário não protege contra erros de configuração.

O armazenamento temporário de um roteador de registros é diferente do armazenamento de longo prazo fornecido pelos buckets do Logging.

As entradas de registro recebidas com carimbos de data/hora que são mais antigos do que o período de retenção de registros ou que estão mais de 24 horas no futuro são descartadas.

Sobre os coletores de registros

Quando um coletor de registros recebe uma entrada de registro, ele determina se ela precisa ser ignorada ou roteada. Essa decisão é feita comparando a entrada de registro com os filtros no coletor de registros. Quando a entrada de registro é roteada, o coletor de registros envia a entrada de registro para o destino especificado por coletor de registros. Esse destino pode ser um projeto, um local de armazenamento ou um serviço.

Os coletores de registro pertencem a um determinado recurso Trusted Cloud by S3NS :projetos Trusted Cloud , contas de faturamento, pastas e organizações. Esses recursos também contêm várias sinks de registro. Quando um recurso recebe uma entrada de registro, cada coletor de registros nele avalia a entrada de registro de forma independente. Como resultado, várias saídas de registro podem encaminhar a mesma entrada de registro.

Por padrão, os dados de registro são armazenados no projeto de origem dos dados. No entanto, há vários motivos para mudar essa configuração:

  • Centralizar o armazenamento dos dados de registro.
  • Para mesclar seus dados de registro com outros dados de negócios.
  • Para organizar os dados de registro de uma maneira útil.
  • Para transmitir os registros para outros aplicativos, outros repositórios ou terceiros. Por exemplo, você pode exportar seus registros de Trusted Cloud by S3NS para visualizá-los em uma plataforma de terceiros. Para exportar as entradas de registro, crie um coletor de registros que encaminha as entradas para o Pub/Sub.

Um coletor de registros configurado incorretamente não encaminha entradas de registro. Quando um coletor está configurado incorretamente, as entradas de registro que informam os detalhes do erro são gravadas. Além disso, um e-mail é enviado para os contatos essenciais do recurso. Para mais informações, consulte Solução de problemas: visualizar erros.

Os coletores de registros não podem encaminhar entradas de registro de forma retroativa. Ou seja, um coletor de registros não pode encaminhar uma entrada de registro que foi recebida antes da criação do coletor. Da mesma forma, se um coletor estiver configurado incorretamente, ele só roteará entradas de registro que chegarem depois que o erro de configuração for resolvido.

Suporte a organizações e pastas

Para ajudar a gerenciar os dados de registro em uma organização ou pasta, faça o seguinte:

  • É possível criar coletores agregados, que encaminham entradas de registro de uma organização ou pasta e os filhos delas para o destino especificado pelo coletor. Há dois tipos de coletores agregados:

    • Coletores agregados sem interceptação
    • Interceptar coletores agregados

    A diferença entre esses dois tipos de sink é que interceptar sinks em um nível na hierarquia de recursos pode afetar o roteamento de recursos mais baixos na hierarquia. Os sinks não interceptadores não afetam o roteamento de outros recursos. Quando um coletor de interceptação em um recurso corresponde a uma entrada de registro, a entrada de registro não é enviada para os coletores em recursos filhos, com a exceção de que a entrada de registro é sempre enviada para o coletor de registro _Required no recurso em que a entrada de registro é originada.

  • É possível configurar as Configurações de recursos padrão para especificar a configuração do coletor _Default criado pelo sistema para novos recursos em uma organização ou pasta. Por exemplo, é possível usar essas configurações para desativar o sink _Default ou especificar os filtros nesse sink.

Exemplos de roteamento

Esta seção ilustra como uma entrada de registro que se origina em um projeto pode fluir pelos coletores na hierarquia de recursos.

Exemplo: não há coletores agregados

Quando não há coletores agregados na hierarquia de recursos da entrada de registro, ela é enviada para os coletores no projeto de origem. Um coletor no nível do projeto encaminha a entrada de registro para o destino do coletor quando a entrada de registro corresponde ao filtro de inclusão do coletor, mas não corresponde a nenhum dos filtros de exclusão do coletor.

Exemplo: uma origem agregada não interceptadora existe

Suponha que um coletor agregado não de interceptação exista na hierarquia de recursos para uma entrada de registro. Depois que o roteador de registro envia a entrada de registro para o coletor agregado que não intercepta, o seguinte ocorre:

  1. O coletor agregado sem interceptação encaminha a entrada de registro para o destino do coletor quando a entrada de registro corresponde ao filtro de inclusão, mas não corresponde a nenhum filtro de exclusão.

  2. O Log Router envia a entrada de registro para os coletores de registro no projeto em que a entrada de registro foi originada.

    Um coletor no nível do projeto encaminha a entrada de registro para o destino do coletor quando a entrada de registro corresponde ao filtro de inclusão do coletor, mas não corresponde a nenhum dos filtros de exclusão do coletor.

Exemplo: um coletor agregado de interceptação existe

Suponha que um coletor agregado de interceptação exista na hierarquia de recursos de uma entrada de registro. Depois que o roteador de registro envia a entrada de registro para o coletor agregado de interceptação, uma das seguintes situações ocorre:

  • A entrada de registro corresponde ao filtro de inclusão, mas não corresponde a nenhum filtro de exclusão:

    1. A entrada de registro é roteada para o destino do coletor agregado de interceptação.
    2. A entrada de registro é enviada para o coletor _Required no projeto em que a entrada de registro foi originada.
  • A entrada de registro não corresponde ao filtro de inclusão ou corresponde a pelo menos um filtro de exclusão:

    1. A entrada de registro não é roteada pelo coletor agregado de interceptação.
    2. O Log Router envia a entrada de registro para os coletores de registro no projeto em que a entrada de registro foi originada.

      Um coletor no nível do projeto encaminha a entrada de registro para o destino do coletor quando a entrada de registro corresponde ao filtro de inclusão do coletor, mas não corresponde a nenhum dos filtros de exclusão do coletor.

Filtros de coletor de registro

Cada coletor de registros contém um filtro de inclusão e pode conter vários filtros de exclusão. Esses filtros determinam se o coletor de registros encaminha uma entrada de registro para o destino dele. Se você não especificar filtros, todas as entrada de registro serão roteadas para o destino do coletor.

Uma entrada de registro é roteada por um coletor de registros com base nestas regras:

  • Se a entrada de registro não corresponder ao filtro de inclusão, ela não será roteada. Quando um coletor não especifica um filtro de inclusão, todas as entrada de registro correspondem a esse filtro.

  • Se a entrada de registro corresponder ao filtro de inclusão e a pelo menos um filtro de exclusão, ela não será roteada.

  • Se a entrada de registro corresponder ao filtro de inclusão e não corresponder a nenhum filtro de exclusão, ela será roteada para o destino do coletor.

Os filtros em um coletor de registros são especificados usando a linguagem de consulta de geração de registros.

Não é possível usar filtros de exclusão para reduzir o consumo da cota da API entries.write ou o número de chamadas de API entries.write. Os filtros de exclusão são aplicados depois que as entradas de registro são recebidas pela API Logging.

Coletores de registros criados pelo sistema

Para cada projeto, conta de faturamento, pasta e organização do Trusted Cloud , o Cloud Logging cria dois coletores de registro, um chamado _Required e o outro chamado _Default. Os filtros de inclusão e exclusão para esses coletores garantem que todas as entrada de registro que chegam ao recurso sejam roteadas por um deles. Ambos encaminham dados de registro para um bucket de registros que está no mesmo recurso que o coletor de registros.

O restante desta seção fornece informações sobre os filtros e destinos dos destinos de registro criados pelo sistema.

Coletor de registros _Required

O coletor de registros _Required em um recurso encaminha um subconjunto de registros de auditoria para o bucket de registro _Required do recurso. Esse coletor não especifica nenhum filtro de exclusão, e o filtro de inclusão é mostrado abaixo:

LOG_ID("cloudaudit.googleapis.com/activity") OR
LOG_ID("externalaudit.googleapis.com/activity") OR
LOG_ID("cloudaudit.googleapis.com/system_event") OR
LOG_ID("externalaudit.googleapis.com/system_event") OR
LOG_ID("cloudaudit.googleapis.com/access_transparency") OR
LOG_ID("externalaudit.googleapis.com/access_transparency")

O coletor de registros _Required só corresponde a entradas de registro que se originam no recurso em que o coletor de registros _Required está definido. Por exemplo, suponha que um coletor de registros roteie uma entrada de registro de atividade do projeto A para o projeto B. Como a entrada de registro não foi originada no projeto B, o coletor de registros _Required no projeto B não encaminha essa entrada para o bucket de registros _Required.

Não é possível modificar ou excluir o coletor de registros _Required.

Coletor de registros _Default

O coletor de registros _Default em um recurso encaminha todas as entradas de registro, exceto aquelas que correspondem ao filtro do coletor de registros _Required, para o bucket de registro _Default do recurso. Como o filtro de inclusão para esse coletor está vazio, ele corresponde a todas as entradas de registro. No entanto, o filtro de exclusão está configurado da seguinte maneira:

NOT LOG_ID("cloudaudit.googleapis.com/activity") AND
NOT LOG_ID("externalaudit.googleapis.com/activity") AND
NOT LOG_ID("cloudaudit.googleapis.com/system_event") AND
NOT LOG_ID("externalaudit.googleapis.com/system_event") AND
NOT LOG_ID("cloudaudit.googleapis.com/access_transparency") AND
NOT LOG_ID("externalaudit.googleapis.com/access_transparency")

É possível modificar e desativar o coletor de registros _Default. Por exemplo, é possível editar o coletor de registros _Default e mudar o destino. Também é possível modificar qualquer filtro e adicionar filtros de exclusão.

Destinos do coletor

O destino de um coletor pode estar em um recurso diferente dele. Por exemplo, é possível usar um coletor de registros para encaminhar entradas de um projeto para um bucket de registros armazenado em outro projeto.

Os destinos a seguir são compatíveis:

ProjetoTrusted Cloud

Selecione esse destino quando quiser que os coletores de registros no projeto de destino redirecionem as entradas de registro ou quando você tiver criado um coletor agregado de interceptação. Os destinos de registro no projeto que é o destino de registro podem redirecionar as entradas de registro para qualquer destino com suporte, exceto um projeto.

Bucket de registros
Selecione esse destino quando quiser armazenar os dados de registro em recursos gerenciados pelo Cloud Logging. Os dados de registro armazenados em buckets de registro podem ser visualizados e analisados usando serviços como o Explorer de registros.
Tópico do Pub/Sub
Selecione esse destino quando quiser exportar os dados de registro de Trusted Cloud by S3NS e usar uma integração de terceiros. As entradas de registro são formatadas em JSON e encaminhadas a um tópico do Pub/Sub.

Limitações de destino

Esta seção descreve as limitações específicas da origem:

  • As limitações a seguir se aplicam quando o destino de um coletor de registros é um projeto Trusted Cloud :

    • Há um limite de um salto.
    • As entradas de registro que correspondem ao filtro do coletor de registros _Required só são roteadas para o bucket de registros _Required do projeto de destino quando são originadas no projeto de destino.
    • Somente coletores agregados que estão na hierarquia de recursos de uma entrada de registro processam a entrada de registro.

    Por exemplo, suponha que o destino de um coletor de registros no projeto A seja o projeto B. Então, o seguinte é verdadeiro:

    • Devido ao limite de um salto, os sinks de registro no projeto B não podem redirecionar entradas de registro para um projeto Trusted Cloud .
    • O bucket de registros _Required do projeto B armazena apenas entradas de registro que originam do projeto B. Esse bucket de registros não armazena entradas de registro que se originam em nenhum outro recurso, incluindo aquelas que se originam no projeto A.
    • Se a hierarquia de recursos do projeto A e do projeto B for diferente, uma entrada de registro que um coletor de registros no projeto A encaminha para o projeto B não será enviada para os sinks agregados na hierarquia de recursos do projeto B.
    • Se o projeto A e o projeto B tiverem a mesma hierarquia de recursos, as entradas de registro serão enviadas para os coletores agregados nessa hierarquia. Se uma entrada de registro não for interceptada por um coletor agregado, o roteador de registros vai enviar a entrada de registro para os coletores no projeto A.

Práticas recomendadas

Para práticas recomendadas sobre como usar o roteamento para governança de dados ou para casos de uso comuns, consulte os seguintes documentos:

Exemplos: centralizar o armazenamento de registros

Esta seção descreve como configurar o armazenamento centralizado. O armazenamento centralizado oferece um único lugar para consultar dados de registro, o que simplifica suas consultas quando você está procurando tendências ou investigando problemas. Do ponto de vista da segurança, você também tem um local de armazenamento, o que pode simplificar as tarefas dos analistas de segurança.

Centralizar o armazenamento de registros de projetos em uma pasta

Suponha que você gerencie uma pasta e queira centralizar o armazenamento das entradas de registro. Para este caso de uso, você pode fazer o seguinte:

  1. Na sua pasta, você cria um projeto chamado CentralStorage.
  2. Crie um coletor agregado de interceptação para sua pasta e configure-o para rotear todas as entradas de registro. Você definiu o destino do coletor como o projeto chamado CentralStorage.

Quando uma entrada de registro que se origina na pasta ou em um dos recursos filhosos chega, ela é enviada para o coletor agregado de interceptação que você criou. Esse coletor encaminha entradas de registro para o projeto chamado CentralStorage. Os coletores de registro neste projeto processam as entradas de registro:

  • O coletor de registros _Default encaminha para o bucket de registros _Default todas as entradas de registro que correspondem ao filtro do coletor. Esse bucket de registros é o local de armazenamento centralizado.

  • O coletor de registros _Required encaminha para o bucket de registros _Required as entradas de registro que correspondem aos filtros do coletor e que se originam no projeto CentralStorage. Esse bucket de registros não é um local de armazenamento centralizado. No entanto, você pode armazenar todos os dados de registro de maneira centralizada. Para conferir um exemplo, consulte Armazenar registros de auditoria em um local central.

Depois que o processamento do coletor agregado é concluído, a entrada de registro é enviada para o coletor de registro _Required no recurso em que a entrada de registro foi originada. Quando a entrada de registro corresponde ao filtro no coletor de registros _Required, ela é roteada para o bucket de registros _Required do recurso. Consequentemente, cada projeto Trusted Cloud na sua pasta armazena entradas de registro no bucket de registros _Required.

Centralizar o armazenamento de registros de um conjunto de projetos

Também é possível armazenar entradas de registro em um único local quando você não tem uma organização ou uma pasta. Por exemplo, você pode fazer o seguinte:

  1. Crie um projeto com o nome CentralStorage.
  2. Para cada projeto, exceto CentralStorage, edite o coletor de registros _Default e defina o destino como o projeto chamado CentralStorage.

Você pode se perguntar por que o exemplo anterior define o destino dos coletores de registros _Default como um projeto, em vez do bucket de registros _Default nesse projeto. As principais razões são simplicidade e consistência. Quando você encaminha entradas de registro para um projeto, os destinos de registro no projeto de destino controlam quais entradas de registro são armazenadas e onde elas são armazenadas. Ou seja, centralize a funcionalidade de filtro e destino. Se você quiser mudar quais entradas de registro são armazenadas ou onde elas são armazenadas, basta modificar as sinks de registro em um projeto.

Centralizar o armazenamento de registros de auditoria

É possível armazenar centralmente as entradas de registro que correspondem ao coletor de registro _Required. Se você quiser armazenar essas entradas de registro centralmente, faça o seguinte:

  • Crie coletores de registro que roteiem as entradas de registro que correspondem ao coletor de registros _Required para um bucket de registros centralizado.

  • Configure os coletores de registros como nos dois exemplos anteriores e adicione um coletor no projeto de destino que roteie as entradas de registro que correspondem ao coletor de registros _Required para um bucket de registros. Também é possível editar os filtros no coletor de registros _Default.

Antes de implementar essa estratégia, consulte as diretrizes de preços.

A seguir

Para ajudar você a rotear e armazenar dados do Cloud Logging, consulte os seguintes documentos: