Neste documento, descrevemos como gerenciar as entradas de registro geradas pelos recursos contidos na sua organização do Google Cloud usando um destino agregado não interceptador.
É possível configurar um coletor agregado para interceptar ou não, dependendo se você quer controlar quais entradas de registro podem ser consultadas ou roteadas pelos coletores nos 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 no nível da organização e da pasta para destinos compatíveis.
Neste tutorial, você vai realizar as seguintes etapas:
Comece criando um bucket de registros e um coletor de registros no projeto do Google Cloud em que você quer armazenar as entradas de registro agregadas.
Em seguida, crie um coletor agregado não interceptador no nível da organização para encaminhar entradas de registro ao projeto do Google Cloud que contém o bucket de registros.
Em seguida, configure o acesso de leitura às visualizações de registros no novo bucket de registros.
Por fim, você consulta e visualiza 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 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 administradores:
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.
-
Para criar buckets e coletores de registros em um projeto:
Gravador de configuração de registros (
- Se você usa o VPC Service Controls, é necessário adicionar uma regra de entrada ao perímetro de serviço. Para mais informações sobre as limitações do VPC Service Controls, consulte Sinks agregados e limitações do VPC Service Controls.
-
In the Google Cloud console, 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 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:
Abra um shell.
Por exemplo, para usar o Cloud Shell, faça o seguinte:
-
Acesse o Console do Google Cloud:
- Na barra de ferramentas, clique em terminal Ativar o Cloud Shell.
-
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 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_ID
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.
Os buckets de registros 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, 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 as 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. 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 roteie as 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 para onde 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 é configurado para selecionar todas as entradas de registro de auditoria. Se você não definir um filtro, todas as entradas de registro do projeto do 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 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 várias 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 intercepta e encaminha entradas de registro para um projeto, siga estas etapas:
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 uma sink depois de criá-la.
- 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 pastas do Google Cloud na sua organização sejam roteadas. Para mais informações, consulte Agrupar e rotear registros no nível da organização para destinos compatíveis.Verifique se o coletor foi criado:
gcloud logging sinks list --organization=ORGANIZATION_ID
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
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:
-
No console do Google Cloud, abra 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 projeto do Google Cloud 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 uma função, selecione Gravador de registros.
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:
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.
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 um principal a ter acesso apenas a entradas de registro específicas, crie uma visualização de registro e faça uma das seguintes ações:
Conceda a eles o papel de
roles/logging.viewAccessor
com uma condição do IAM que restrinja a concessão à visualização de registros.Na política do IAM associada à visualização de registro, conceda um acesso principal. Recomendamos essa abordagem ao criar um grande número de visualizações de registro.
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
com uma condição do IAM
que restringe a concessão à visualização _AllLogs
:
-
No console do Google Cloud, abra 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 projeto do Google Cloud que contém o bucket de registros.
Clique em
Adicionar.No campo Novo participante, adicione um participante.
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 registro em todos os buckets de registro definidos pelo usuário no projeto do Google Cloud.
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, role a tela até Recurso e selecione Nome.
- No menu Operador, selecione Encerra com.
No campo Valor, insira o nome completo da visualização de registros:
locations/LOCATION/buckets/BUCKET_NAME/views/_AllLogs
Clique em Salvar para salvar a condição.
Clique em Salvar para salvar a vinculação.
Conferir entradas de registro na página do Explorador de registros
Para conferir as entradas de registro no bucket de registros, faça o seguinte:
-
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.
Selecione Refinar escopo.
No painel Refinar escopo, selecione Visualização de registro.
Selecione as visualizações de registro com as entradas que você quer ver. Por exemplo, para ver todas as entradas de registro, selecione a visualização chamada
_AllLogs
.Clique em Aplicar.
O Explorador de registros é atualizado para mostrar as entradas de registro do seu bucket de registros. Para informações sobre como usar o Explorador de registros, consulte Como usar o Explorador de registros.