Agregar e armazenar os registros da sua organização

Este documento descreve como gerenciar as entradas de registro geradas pelos recursos da sua organização do Google Cloud usando um destino agregado não interceptador.

É possível configurar um coletor agregado para interceptar ou não interceptar, dependendo de como você quer ter controle sobre quais entradas de registro podem ser consultadas ou roteadas 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 projeto do Google Cloud, que, por sua vez, encaminha os registros de auditoria agregados para um bucket de registros.

Para mais informações sobre coletores agregados, consulte Agrupar e rotear registros de organização e pasta para destinos compatíveis.

Neste tutorial, você vai realizar as seguintes etapas:

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

  2. Em seguida, crie um coletor agregado sem interceptação no nível da organização para rotear entradas de registro para o projeto do Google Cloud que contém as em um bucket de registros.

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

  4. Por fim, você vai consultar e visualizar as entradas de registro na página da Análise de registros.

Antes de começar

Confirme os seguintes itens:

  • Para receber as permissões necessárias para configurar um destino 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 de registros (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 aos 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, precisa adicionar uma regra de entrada ao perímetro de serviço. Para mais informações sobre Limitações do VPC Service Controls. Consulte Coletores agregados e limitações do VPC Service Controls.
  • 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.

crie um bucket de registros

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

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

  1. Acesse o Console do Google Cloud:

    Acessar o Console do Google Cloud

  2. Em um terminal do Cloud Shell, execute o comando gcloud logging buckets create.

    Antes de executar o comando a seguir, faça o seguinte substitutos:

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

    Execute o gcloud logging buckets create. comando:

     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 buckets de registro no seu projeto.

  4. Os buckets de registro têm períodos de armazenamento configuráveis. Se você quiser definir o período de armazenamento das entradas de registro no bucket de registros e, em seguida, 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 registro para 365 dias:

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

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

Criar o coletor de registros para envolvidos no projeto

Você encaminha entradas de registro para um bucket de registros criando um coletor. Um coletor inclui e de exclusão e um destino. Neste tutorial, você vai configurar um filtro de inclusão e o destino para seu novo bucket de registro. O coletor não contém filtros de exclusão. Para saber mais sobre coletores, consulte Rotear registros para destinos compatíveis.

Para criar um coletor que roteie as entradas de registro para o bucket de registros-criado, 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 projeto coletor de registros.
  • SINK_DESTINATION: o bucket de registros para onde as entradas de registro são roteadas. O formato do caminho de destino para 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. Defina esta opção como o mesmo projeto em que você criou o registro do Google Cloud.

  • 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á configurado para selecionar todas as entradas de registro de auditoria. Se você não definir um filtro, todos as entradas de registro do seu projeto do Google Cloud são roteadas para o destino.
    • --description: use essa opção para descrever a finalidade ou o caso de uso do coletor.

Execute o gcloud logging sinks create comando:

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 roteiam entradas de registro dos recursos contidos em uma organização ou pasta para um destino.

Neste tutorial, você vai criar um sink agregado que não intercepta. Isso significa que todas as entradas de registro roteadas pelo coletor agregado também são roteadas pelos coletores no recurso de origem da entrada de registro. Por exemplo, um registro de auditoria que se origina em um projeto é roteado pelo coletor agregado e pelos coletores nesse projeto. Portanto, é possível armazenar diversos cópias de uma entrada de registro.

É possível criar sinks de interceptação. Para mais informações, consulte Agrupar e rotear registros no nível da organização e da pasta para destinos compatíveis.

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

Para criar um coletor agregado que não seja intercepto e que faça o registro de rotas entradas em 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 alterar o nome de um coletor 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 entradas de registro de todos os Os projetos e as pastas do Google Cloud na sua organização são roteados. 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ões usando o console do Google Cloud ou editando a política do Identity and Access Management (IAM), conforme descrito em Definir permissões de destino.

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

  1. No console do Google Cloud, abra 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 do Google Cloud que contém o bucket de registros.

  3. Clique em Conceder acesso e adicione o como um novo principal. Não inclua o parâmetro serviceAccount:.

  4. No menu Selecionar papel, escolha 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, tente o seguinte:

  1. Gere entradas de registro de auditoria que precisam ser roteadas para o 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 um projeto diferente, 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 os registros de auditoria. Selecione a visualização _AllLogs.

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

Quando você cria um bucket de registro, 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 a entradas de registro específicas, crie uma visualização de registro e, em seguida, execute um dos seguintes procedimentos:

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

  • Na política do IAM associada à visualização de registros, conceda o acesso principal. Recomendamos essa abordagem ao criar 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 do Google Cloud, abra 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 do Google Cloud que contém o bucket de registro.

  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 esse papel, o principal terá acesso a todas as visualizações de registros em todos os buckets de registros definidos pelo usuário no projeto do 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 a tela até Recurso e selecione Nome.
    3. No menu Operador, selecione Encerra com.
    4. No campo Valor, digite 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.

Ver entradas de registro na página Análise de registros

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

  1. No console do 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 registro.

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

  5. Clique em Aplicar.

    A Análise de registros é atualizada para mostrar as entradas do seu bucket de registros. Para informações sobre como usar o Explorador de registros, consulte Como usar o Explorador de registros.