Agregar e armazenar os registros da sua organização

Neste documento, descrevemos como gerenciar as entradas de registro geradas pelos recursos contidos na sua organização do Google Cloud usando um gravador agregado não interceptador.

É possível configurar um coletor agregado para interceptar ou não interceptar, dependendo se você quer controlar quais entradas de registro podem ser consultadas ou encaminhadas pelos coletores em recursos filhos. Neste tutorial, você vai criar um coletor agregado que encaminha os registros de auditoria da sua organização para um projetoGoogle Cloud , que por sua vez encaminha os registros de auditoria agregados para um bucket de registros. Para mais informações, consulte Visão geral dos coletores agregados.

Neste tutorial, você vai realizar as seguintes etapas:

  1. Comece criando um bucket de registros e um coletor de registros no projetoGoogle Cloud em que você quer armazenar as entradas de registro agregadas.

  2. Em seguida, crie um coletor agregado não interceptador no nível da organização para encaminhar entradas de registro ao projeto Google Cloud que contém o bucket de registros.

  3. Em seguida, configure o acesso de leitura às visualizações de registros no novo bucket de registros.

  4. Por fim, consulte e veja as entradas de registro na página do Explorador de registros.

Antes de começar

Confirme os seguintes itens:

  • Para receber as permissões necessárias para configurar um gravador agregado, peça ao administrador para conceder a você os seguintes papéis do IAM na sua organização:

    • Para criar buckets e coletores de registros em um projeto: Gravador de configuração do Logging (roles/logging.configWriter): seu projeto
    • Para criar um coletor agregado: Gravador de configuração de registros (roles/logging.configWriter): sua organização
    • Para conceder papéis a principais: Proprietário (roles/owner): seu projeto

    Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

    Também é possível conseguir as permissões necessárias por meio de papéis personalizados ou de outros papéis predefinidos.

  • Se você usa o VPC Service Controls, adicione uma regra de entrada ao perímetro de serviço. Para mais informações sobre as limitações do VPC Service Controls, consulte Limitações do VPC Service Controls e de coletores agregados.
  • In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

Criar um bucket de registros

Os buckets de registros armazenam as entradas de registro roteadas de outros Google Cloud projetos, pastas ou organizações. Para mais informações, consulte Configurar buckets de registros.

Para criar o bucket de registros no projeto Google Cloud em que você quer agregar entradas de registro, siga estas etapas:

  1. Abra um shell.

    Por exemplo, para usar o Cloud Shell, faça o seguinte:

    1. Acesse o console do Google Cloud :

      Acesse o Google Cloud console

    2. Na barra de ferramentas, clique em  Ativar o Cloud Shell.
  2. No shell, execute o comando gcloud logging buckets create.

    Antes de executar o comando a seguir, faça as seguintes substituições:

    • BUCKET_NAME: o nome do bucket de registros.
    • LOCATION: o local do bucket de registros. Depois de criar o bucket de registros, não é possível mudar o local dele.
    • PROJECT_ID: o identificador do projeto em que o bucket de registros será criado.

    Execute o comando gcloud logging buckets create:

     gcloud logging buckets create BUCKET_NAME \
       --location=LOCATION --project=PROJECT_ID
    
  3. Verifique se o bucket de registros foi criado:

    gcloud logging buckets list --project=PROJECT_ID
    

    A resposta do comando é uma lista dos intervalos de registros no seu projeto.

  4. Os buckets de registros têm períodos de retenção configuráveis. Se quiser definir o período de armazenamento das entradas de registro no bucket de registros, use o comando gcloud logging buckets update. Por exemplo, o comando a seguir estende a retenção de entradas de registro armazenadas no bucket de registros para 365 dias:

    gcloud logging buckets update BUCKET_NAME \
       --location=LOCATION --project=PROJECT_ID \
       --retention-days=365
    

    Para mais informações sobre opções, consulte gcloud logging buckets update.

Criar o coletor de registros no nível do projeto

Você encaminha entradas de registro para um bucket de registros criando um coletor. Um coletor inclui um filtro de inclusão, filtros de exclusão e um destino. Neste tutorial, você vai configurar um filtro de inclusão e o destino para seu novo bucket de registros. Seu coletor não tem filtros de exclusão. Para mais informações sobre coletores, consulte Rotear registros para destinos compatíveis.

Para criar um coletor que roteie entradas de registro para o bucket de registros que você acabou de criar, execute o comando gcloud logging sinks create.

Antes de executar o comando a seguir, faça as seguintes substituições:

  • PROJECT_LEVEL_SINK_NAME: o nome do coletor de registros no nível do projeto.
  • SINK_DESTINATION: o bucket de registros em que as entradas de registro são roteadas. O formato do caminho de destino de um bucket de registros é o seguinte:

    logging.googleapis.com/projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_NAME
    
  • PROJECT_ID: o identificador do projeto em que o coletor de registros será criado. Defina essa opção como o mesmo projeto em que você criou o bucket de registros.

  • Inclua as seguintes opções:

    • --log-filter : use essa opção para definir um filtro que corresponda às entradas de registro que você quer incluir no coletor. Neste tutorial, o filtro está definido para selecionar todas as entradas de registro de auditoria. Se você não definir um filtro, todas as entradas de registro do seu projeto Google Cloud serão roteadas para o destino.
    • --description: use essa opção para descrever a finalidade ou o caso de uso do coletor.

Execute o comando gcloud logging sinks create:

gcloud logging sinks create PROJECT_LEVEL_SINK_NAME SINK_DESTINATION
--project=PROJECT_ID
--log-filter='logName:cloudaudit.googleapis.com' \
--description="Audit logs from my organization" \

Criar o coletor agregado

Os coletores agregados combinam e encaminham entradas de registro dos recursos contidos por uma organização ou pasta para um destino.

Neste tutorial, você vai criar um gravador agregado que não intercepta. Isso significa que cada entrada de registro encaminhada pelo coletor agregado também é encaminhada pelos coletores no recurso em que a entrada de registro se origina. Por exemplo, um registro de auditoria originado em um projeto é encaminhado pelo coletor agregado e pelos coletores desse projeto. Portanto, é possível armazenar várias cópias de uma entrada de registro.

É possível criar interceptadores de gravadores. Para mais informações, consulte Visão geral dos coletores agregados.

Configurar o coletor no nível da organização

Para criar um coletor agregado que não intercepta e encaminha entradas de registro para um projeto, siga estas etapas:

  1. Execute o comando gcloud logging sinks create.

    Antes de executar o comando a seguir, faça as seguintes substituições:

    • SINK_NAME: o nome do coletor de registros. Não é possível mudar o nome de um gravador depois de criá-lo.
    • PROJECT_ID: o identificador do projeto que armazena o bucket de registros.
    • ORGANIZATION_ID: o identificador da organização.

    Execute o comando gcloud logging sinks create:

    gcloud logging sinks create SINK_NAME \
    logging.googleapis.com/projects/PROJECT_ID  \
      --log-filter='logName:cloudaudit.googleapis.com' \
      --description="Audit logs from my organization" \
      --organization=ORGANIZATION_ID \
      --include-children
    

    A opção --include-children é importante. Essa opção garante que as entradas de registro de todos os projetos e pastasGoogle Cloud na sua organização sejam encaminhadas. Para mais informações, consulte Agrupar e rotear registros no nível da organização para destinos compatíveis.

  2. Verifique se o coletor foi criado:

    gcloud logging sinks list --organization=ORGANIZATION_ID
    
  3. Consiga o nome da conta de serviço:

    gcloud logging sinks describe SINK_NAME --organization=ORGANIZATION_ID
    

    A saída será assim:

    writerIdentity: serviceAccount:o1234567890-ORGANIZATION_ID@gcp-sa-logging.iam.gserviceaccount.com
    
  4. Copie o valor do campo serviceAccount para a área de transferência.

Permitir acesso ao coletor

Depois de criar o coletor agregado, conceda permissão para que ele grave entradas de registro no projeto definido como destino. É possível conceder permissão usando o console Google Cloud ou editando a política do Identity and Access Management (IAM), conforme descrito em Definir permissões de destino.

Para conceder ao seu coletor permissão para gravar entradas de registro, faça o seguinte:

  1. No console Google Cloud , acesse a página IAM:

    Acesse o IAM

    Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo IAM e administrador.

  2. Selecione o projeto Google Cloud que contém o bucket de registros.

  3. Clique em Conceder acesso e adicione a conta de serviço como um novo principal. Não inclua o prefixo serviceAccount:.

  4. No menu Selecionar um papel, selecione Gravador de registros.

  5. Clique em Salvar.

Gerar entradas de registro para auxiliar na verificação do coletor

Para verificar se o coletor agregado está configurado corretamente, faça o seguinte:

  1. Gere entradas de registro de auditoria que precisam ser encaminhadas para seu bucket de registros.

    • Se você tiver muitos projetos do Google Cloud na sua organização, talvez tenha tráfego de registro de auditoria suficiente para não precisar criar nenhum para fins de validação. Vá para a próxima etapa.

    • Caso contrário, acesse outro projeto, crie uma instância de VM do Compute Engine e exclua a instância criada. Os registros de auditoria são gravados quando uma VM é criada, iniciada e excluída.

  2. Siga o procedimento na seção Ver registros na página do Explorador de registros para conferir seus registros de auditoria. Selecione a visualização _AllLogs.

Configurar o acesso de leitura a uma visualização de registros em um bucket de registros

Quando você cria um bucket de registros, o Cloud Logging cria automaticamente uma visualização de registro chamada _AllLogs. Essa visualização inclui todas as entrada de registro armazenadas no bucket de registros.

Para restringir o acesso de um principal apenas a entradas de registro específicas, crie uma visualização de registros e faça uma destas ações:

  • Conceda a eles o papel de roles/logging.viewAccessor junto com uma condição do IAM que restringe a concessão à visualização de registros.

  • Na política do IAM associada à visualização de registros, conceda acesso a um principal. Recomendamos essa abordagem quando você cria um grande número de visualizações de registros.

Para mais informações sobre essas duas abordagens, consulte Controlar o acesso a uma visualização de registro.

Nas etapas a seguir, você concede a um principal o papel de roles/logging.viewAccessor junto com uma condição do IAM que restringe a concessão à visualização chamada _AllLogs:

  1. No console Google Cloud , acesse a página IAM:

    Acesse o IAM

    Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo IAM e administrador.

  2. Selecione o projeto Google Cloud que contém o bucket de registros.

  3. Clique em Adicionar.

  4. No campo Novo principal, adicione um principal.

  5. No menu Selecionar um papel, selecione Acessador de visualizações de registros.

    Se você não adicionar uma condição a essa função, o principal terá acesso a todas as visualizações de registros em todos os buckets de registros definidos pelo usuário no projeto Google Cloud .

  6. Adicione uma condição do IAM à vinculação:

    1. Clique em Adicionar condição e insira um título e uma descrição.
    2. No menu Tipo de condição, role até Recurso e selecione Nome.
    3. No menu Operador, selecione Termina com.
    4. No campo Valor, insira o nome completo da visualização de registros:

      locations/LOCATION/buckets/BUCKET_NAME/views/_AllLogs
      
    5. Clique em Salvar para salvar a condição.

  7. Clique em Salvar para salvar a vinculação.

Conferir entradas de registro na página do Explorador de registros

Para ver as entradas de registro no bucket de registros, faça o seguinte:

  1. No console Google Cloud , acesse a página Análise de registros.

    Acessar a Análise de registros

    Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Logging.

  2. Selecione Refinar escopo.

  3. No painel Refinar escopo, selecione Visualização de registros.

  4. Selecione as visualizações de registros que você quer acessar. Por exemplo, para ver todas as entradas de registro, selecione a visualização chamada _AllLogs.

  5. Clique em Aplicar.

    O Explorador de registros é atualizado para mostrar as entradas do bucket de registros. Para informações sobre como usar o Explorador de registros, consulte Como usar o Explorador de registros.