Um coletor agregado não interceptador permite rotear entradas de registro de toda a sua Google Cloud organização para um local central, permitindo que os recursos filhos roteiem e armazenem suas próprias cópias desses registros. Neste tutorial, você vai criar um coletor agregado não interceptador no nível da organização que roteia os registros de auditoria da sua organização para um Google Cloud projeto, em que um coletor no nível do projeto os roteia para um bucket de registros central. Em seguida, você vai configurar o acesso de leitura a uma visualização de registros nesse bucket e consultar os registros de auditoria agregados na Análise de registros.
Também é possível configurar um coletor agregado para interceptar se você quiser controlar quais entradas de registro podem ser consultadas ou roteadas em recursos filhos. Para mais informações, consulte Visão geral dos coletores agregados. Se você estiver configurando uma nova organização, também poderá configurar o armazenamento de registros centralizado como parte do Google Cloud processo de configuração.
Antes de começar
Confirme os seguintes itens:
-
Para receber as permissões necessárias para centralizar o armazenamento criando um coletor agregado no nível da organização que roteia entradas de registro para um projeto, peça ao administrador para conceder a você os seguintes papéis do IAM:
-
Para criar o coletor agregado:
Gravador de configuração de registros (
roles/logging.configWriter) na sua organização -
Para conceder papéis do IAM a uma conta de serviço e criar um bucket de registros:
Proprietário (
roles/owner) no 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 com papéis personalizados ou outros papéis predefinidos.
-
Para criar o coletor agregado:
Gravador de configuração de registros (
-
No Google Cloud console, ative o Cloud Shell.
Na parte de baixo do Google Cloud console, uma sessão do Cloud Shell é iniciada e exibe um prompt de linha de comando. O Cloud Shell é um ambiente shell com a Google Cloud CLI já instalada e com valores já definidos para o projeto atual. A inicialização da sessão pode levar alguns segundos.
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 Google Cloud projeto em que você quer agregar entradas de registro, siga estas etapas:
Abra um shell.
Por exemplo, para usar o Cloud Shell, faça o seguinte:
-
Acesse o Google Cloud console do:
- Na barra de ferramentas, clique em terminal Ativar o Cloud Shell.
-
No shell, execute o
gcloud logging buckets createcomando.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 será 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_IDVerifique se o bucket de registros foi criado:
gcloud logging buckets list --project=PROJECT_IDA resposta do comando é uma lista dos buckets de registros no seu projeto.
Os buckets de registros têm períodos de retenção configuráveis. Se você 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=365Para mais informações sobre as flags, consulte
gcloud logging buckets update.
Criar o coletor de registros para envolvidos no projeto
Você roteia 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 o novo bucket de registros. O coletor não contém filtros de exclusão. Para mais informações sobre coletores, consulte Rotear registros para destinos compatíveis.
Para criar um coletor que roteia 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 para envolvidos no projeto.
SINK_DESTINATION: o bucket de registros para onde as entradas de registro são roteadas. Os destinos do coletor precisam usar o endpoint global (
logging.googleapis.com); os endpoints regionais (REP) não são aceitos. O formato do caminho de destino para um bucket de registros é o seguinte:logging.googleapis.com/projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_NAMEPROJECT_ID: o identificador do projeto em que o coletor de registros será criado. Defina essa flag para o mesmo projeto em que você criou o bucket de registros.
Inclua as seguintes flags:
--log-filter: use essa flag 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 Google Cloud projeto serão roteadas para o destino.--description: use esta flag 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 roteiam entradas de registro dos recursos contidos por uma organização ou pasta para um destino.
Neste tutorial, você vai criar um coletor agregado não interceptador. Isso significa que cada entrada de registro roteada pelo coletor agregado também é roteada pelos coletores no recurso em que a entrada de registro se origina. Por exemplo, um registro de auditoria originado em um projeto é roteado pelo coletor agregado e pelos coletores nesse projeto. Portanto, é possível armazenar várias cópias de uma entrada de registro.
Também é possível criar coletores interceptadores. 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 não interceptador que roteia entradas de registro para um projeto, siga estas etapas:
Execute o
gcloud logging sinks createcomando.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 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-childrenA flag
--include-childrené importante. Essa flag garante que as entradas de registro de todos os Google Cloud projetos e pastas da sua organização sejam roteadas. Para mais informações, consulte Agrupar e rotear registros no nível da organização e da pasta para destinos compatíveis.Verifique se o coletor foi criado:
gcloud logging sinks list --organization=ORGANIZATION_IDConsiga o nome da conta de serviço:
gcloud logging sinks describe SINK_NAME --organization=ORGANIZATION_IDA saída será assim:
writerIdentity: serviceAccount:o1234567890-ORGANIZATION_ID@gcp-sa-logging.iam.gserviceaccount.comCopie o valor do campo
serviceAccountpara a área de transferência.
Permitir acesso ao coletor
Depois de criar o coletor agregado, você precisa conceder permissão para que o coletor grave entradas de registro no projeto definido como destino. É possível conceder permissão usando o Google Cloud console ou editando a política do Identity and Access Management (IAM), conforme descrito em Definir permissões de destino.
Se o destino Google Cloud projeto estiver protegido por um perímetro de serviço do VPC Service Controls, também será necessário adicionar uma regra de entrada ao perímetro de destino que permita o acesso da conta de serviço do coletor. Não é necessário configurar uma regra de entrada para coletores não agregados. Para mais informações, consulte Agrupar e rotear registros no nível da organização e da pasta para destinos compatíveis: limitações.
Para conceder permissão ao coletor para gravar entradas de registro, faça o seguinte:
-
No Google Cloud console, acesse a página IAM:
Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo IAM e administrador.
Selecione o Google Cloud projeto que contém o bucket de registros.
Clique em Conceder acesso e adicione a conta de serviço como um novo principal. Não inclua o prefixo
serviceAccount:.No menu Selecionar um papel, selecione Gravador de registros.
Clique em Salvar.
Gerar entradas de registro para ajudar na verificação do coletor
Para verificar se o coletor agregado está configurado corretamente, tente o seguinte:
Gere entradas de registro de auditoria que precisam ser roteadas para o bucket de registros.
Se você tiver muitos Google Cloud projetos na sua organização, entã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.
Siga as etapas em Ver entradas de registro na página Análise de registros para visualizar seus registros de auditoria. Verifique se você selecionou a visualização
_AllLogs.
Configurar o acesso de leitura a uma visualização de registros em um bucket de registros
Ao criar um bucket de registros, o Cloud Logging cria automaticamente uma
visualização de registros chamada _AllLogs.
Essa visualização inclui todas as entrada de registro armazenadas no bucket de registros.
Para restringir um principal a ter acesso apenas a entradas de registro específicas, crie uma visualização de registros e faça uma das seguintes ações:
Conceda a eles o papel de Acessador de visualizações de registros (
roles/logging.viewAccessor) 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 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ê vai conceder a um principal o papel de Acessador de visualizações de registros (roles/logging.viewAccessor) com uma condição do IAM que restringe a concessão à visualização chamada _AllLogs:
-
No Google Cloud console, acesse a página IAM:
Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo IAM e administrador.
Selecione o Google Cloud projeto que contém o bucket de registros.
Clique em Adicionar.
No campo Novo principal, adicione um principal.
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 Google Cloud projeto.
Adicione uma condição do IAM à vinculação:
- Clique em Adicionar condição e insira um título e uma descrição.
- No menu Tipo de condição, acesse Recurso e selecione Nome.
- No menu Operador, selecione Termina com.
No campo Valor, insira o nome completo da visualização de registros:
locations/LOCATION/buckets/BUCKET_NAME/views/_AllLogsClique em Salvar para salvar a condição.
Clique em Salvar para salvar a vinculação.
Ver entradas de registro na página Análise de registros
Para visualizar as entradas de registro no bucket de registros, faça o seguinte:
-
No Google Cloud console do, acesse a página segmento 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.
Selecione Refinar escopo.
No painel Refinar escopo, selecione Visualização de registros.
Selecione a visualização de registros ou as visualizações de registros cujas entradas de registro você quer ver. Por exemplo, para visualizar todas as entradas de registro, selecione a visualização chamada
_AllLogs.Clique em Aplicar.
A página Análise de registros é atualizada para mostrar as entradas de registro do bucket de registros. Para mais informações sobre como usar a Análise de registros, consulte Como usar a Análise de registros.