Neste documento, descrevemos como criar e gerenciar visualizações de registros nos buckets do Cloud Logging usando a CLI gcloud. As visualizações de registros oferecem controle avançado e granular sobre quem tem acesso aos registros nos buckets.
Para informações gerais sobre o modelo de armazenamento do Logging, consulte Visão geral de roteamento e armazenamento.
Sobre as visualizações de registros
Com as visualizações de registros, é possível conceder a um usuário acesso apenas a um subconjunto dos registros armazenados em um bucket de registros. Por exemplo, pense em um cenário em que você armazena os registros da sua organização em um projeto central. É possível criar uma visualização de registros para cada projeto que contribui com registros para obucket de registrost. Assim, é possível conceder a cada usuário acesso a uma ou mais visualizações de registros e, assim, restringir os registros que eles podem acessar.
O Cloud Logging cria automaticamente uma visualização _AllLogs
para cada
bucket de registro e uma visualização _Default
para o bucket de registros _Default
:
- Visualização
_AllLogs
: é possível conferir todos os registros no bucket de registros. - Visualização
_Default
: é possível ver todos os registros de auditoria que não são de acesso a dados no bucket de registros.
Não é possível modificar visualizações criadas automaticamente pelo Cloud Logging.
No entanto, você pode excluir a visualização _AllLogs
.
É possível criar no máximo 30 visualizações de registros por bucket.
Cada visualização de registro contém um filtro, que restringe as entradas de registro visíveis na visualização. Os filtros podem conter operadores lógicos AND
e NOT
.
No entanto, eles não podem incluir operadores lógicos OR
.
Os filtros podem comparar qualquer um destes valores:
Uma fonte de dados usando a função
source
. A funçãosource
retorna entradas de registro de um recurso específico nas organizações, pastas e hierarquia de projetos do Google Cloud.Um ID de registro usando a função
log_id
. A funçãolog_id
retorna entradas de registro que correspondem ao argumentoLOG_ID
fornecido no campologName
.Um tipo de recurso válido usando a comparação
resource.type=
FIELD_NAME.
Por exemplo, o filtro a seguir captura entradas de registro stdout
do Compute Engine de um projeto do Google Cloud chamado myproject
:
source("projects/myproject") AND resource.type = "gce_instance" AND log_id("stdout")
Para detalhes sobre a sintaxe de filtragem, consulte Comparações.
Antes de começar
Antes de criar ou atualizar uma visualização de registro, siga estas etapas:
No projeto apropriado do Google Cloud, crie um bucket do Logging para configurar uma visualização de registros personalizada, se ainda não tiver feito isso.
-
Para receber as permissões necessárias para criar, visualizar, atualizar e excluir visualizações de registros, peça ao administrador para conceder a você o papel de IAM Gravador de configuração de registros (
roles/logging.configWriter
) no projeto. Para mais informações sobre como conceder papéis, consulte Gerenciar acesso.Também é possível conseguir as permissões necessárias por meio de papéis personalizados ou de outros papéis predefinidos.
Instale o Google Cloud CLI.
Determine quais registros você quer incluir na visualização. Essas informações são usadas para especificar o filtro da visualização do registro.
Determine quem deve ter acesso à visualização de registro. Os principais com o papel
roles/logging.viewAccessor
podem ver os registros em qualquer visualização de registros. No entanto, o Cloud Logging é compatível com as condições do IAM. As condições permitem conceder a um principal acesso a uma visualização de registro específica. Para mais informações, consulte Conceder acesso a uma visualização de registro.
Criar uma visualização de registros
Para criar uma visualização de registros,
use o comando gcloud logging views update
.
É possível criar no máximo 30 visualizações de registros por bucket.
Antes de usar os dados do comando abaixo, faça estas substituições:
- VIEW_ID: o identificador da visualização de registro.
- BUCKET_NAME: o nome do bucket de registros.
- LOCATION: a localização do bucket de registros.
- FILTER: um filtro que define a visualização de registro. Quando está vazia, a visualização de registros inclui todos os registros. Por exemplo, para filtrar por registros de instâncias de VM do Compute Engine, digite
"resource.type=gce_instance"
. - DESCRIPTION: uma descrição da visualização de registro. Por exemplo, insira o seguinte para a descrição
"Compute logs"
.
Execute o
comando
gcloud logging views create
:
Linux, macOS ou Cloud Shell
gcloud logging views create VIEW_ID --bucket=BUCKET_NAME --location=LOCATION --log-filter=FILTER --description=DESCRIPTION
Windows (PowerShell)
gcloud logging views create VIEW_ID --bucket=BUCKET_NAME --location=LOCATION --log-filter=FILTER --description=DESCRIPTION
Windows (cmd.exe)
gcloud logging views create VIEW_ID --bucket=BUCKET_NAME --location=LOCATION --log-filter=FILTER --description=DESCRIPTION
Esse comando não fornece uma resposta. Para confirmar as alterações, execute o
comando gcloud logging views list
.
Listar visualizações de registros em um bucket de registros
Para listar as visualizações de registros criadas para um bucket de registros,
use o comando gcloud logging views list
.
Antes de usar os dados do comando abaixo, faça estas substituições:
- BUCKET_NAME: o nome do bucket de registros.
- LOCATION: a localização do bucket de registros.
Execute o
comando
gcloud logging views list
:
Linux, macOS ou Cloud Shell
gcloud logging views list --bucket=BUCKET_NAME --location=LOCATION
Windows (PowerShell)
gcloud logging views list --bucket=BUCKET_NAME --location=LOCATION
Windows (cmd.exe)
gcloud logging views list --bucket=BUCKET_NAME --location=LOCATION
Os dados de resposta são uma lista de visualizações de registros. Para cada visualização de registro, o filtro é mostrado com
as datas de criação e última atualização. Quando as datas de criação e atualização estão vazias, a visualização de registro foi criada junto com o projeto do Google Cloud. O exemplo de saída a seguir mostra que há
dois IDs de visualização, _AllLogs
e compute
, no bucket de registros que foi consultado:
VIEW_ID: _AllLogs FILTER: CREATE_TIME: UPDATE_TIME: VIEW_ID: compute FILTER: resource.type="gce_instance" CREATE_TIME: 2024-02-20T17:41:17.405162921Z UPDATE_TIME: 2024-02-20T17:41:17.405162921Z
Conceder acesso a uma visualização de registro
As principais com o papel roles/logging.viewAccessor
em um
projeto do Google Cloud podem ver os registros em qualquer visualização de registro. No entanto,
o Cloud Logging é compatível com as
condições do IAM.
As condições permitem conceder a um principal acesso a uma visualização de registro específica.
As condições do IAM são especificadas na vinculação de papel de um projeto do Google Cloud. Há um limite de 20 vinculações de papéis em uma política de permissão que inclui o mesmo papel e o mesmo principal, mas expressões condicionais diferentes.
Para adicionar usuários a uma visualização para que eles possam acessar os registros, conclua as etapas a seguir.
gcloud
Acesse a política do IAM do projeto e grave-a em um arquivo local no formato JSON. Antes de executar o comando a seguir, substitua PROJECT_ID pelo ID do projeto que contém o bucket de registros:
gcloud projects get-iam-policy PROJECT_ID --format json > output.json
Edite o arquivo JSON criado e adicione uma condição do IAM que permita ao usuário ler o bucket de registros criado.
Por exemplo, o exemplo a seguir especifica uma vinculação que concede o papel de
"roles/logging.viewAccessor"
aos membros especificados, mas apenas para uma única visualização de registro:{ "bindings": [ { "members": [ "user:username@gmail.com" ], "role": "roles/logging.viewAccessor", "condition": { "title": "Bucket reader condition example", "description": "Grants logging.viewAccessor role to user username@gmail.com for the VIEW_ID log view.", "expression": "resource.name == \"projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_NAME/views/VIEW_ID\"" } } ], "etag": "BwWd_6eERR4=", "version": 3 }
Atualize a política do IAM:
gcloud projects set-iam-policy PROJECT_ID output.json
Console
No projeto em que você criou o bucket de registros, faça o seguinte:
-
No painel de navegação do console do Google Cloud, selecione IAM:
Clique em
CONCEDER ACESSO.No campo Novos principais, adicione a conta de e-mail do usuário.
No menu suspenso Selecionar um papel, escolha Acessador de visualização de registros.
Este papel fornece aos usuários acesso de leitura a todas as visualizações. Para limitar o acesso do usuário a uma visualização específica, adicione uma condição com base no nome do recurso.
Clique em Adicionar condição do IAM.
Insira um Título e uma Descrição para a condição.
No menu suspenso Tipo de condição, selecione Recurso > Nome.
No menu suspenso Operador, selecione é.
No campo Valor, insira o ID da visualização de registros, incluindo o caminho completo da visualização.
Exemplo:
projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_NAME/views/VIEW_ID
Clique em Salvar para adicionar a condição.
Clique em Salvar para definir as permissões.
Atualizar uma visualização de registro
Para atualizar ou modificar uma visualização de registro,
use o comando gcloud logging views update
.
Se você não souber o ID da visualização, consulte Listar visualizações de registro.
Antes de usar os dados do comando abaixo, faça estas substituições:
- VIEW_ID: o identificador da visualização de registro.
- BUCKET_NAME: o nome do bucket de registros.
- LOCATION: a localização do bucket de registros.
- FILTER: um filtro que define a visualização de registro. Quando está vazia, a visualização de registros inclui todos os registros. Por exemplo, para filtrar por registros de instâncias de VM do Compute Engine, digite
"resource.type=gce_instance"
. - DESCRIPTION: uma descrição da visualização de registro. Por exemplo, insira o seguinte para a descrição
"New description for the log view"
.
Execute o
comando
gcloud logging views update
:
Linux, macOS ou Cloud Shell
gcloud logging views update VIEW_ID --bucket=BUCKET_NAME --location=LOCATION --log-filter=FILTER --description=DESCRIPTION
Windows (PowerShell)
gcloud logging views update VIEW_ID --bucket=BUCKET_NAME --location=LOCATION --log-filter=FILTER --description=DESCRIPTION
Windows (cmd.exe)
gcloud logging views update VIEW_ID --bucket=BUCKET_NAME --location=LOCATION --log-filter=FILTER --description=DESCRIPTION
Esse comando não fornece uma resposta. Para confirmar as alterações, execute o
comando gcloud logging views describe
.
Excluir uma visualização de registro
Para excluir uma visualização de registro,
use o comando gcloud logging views delete
.
Se você não souber o ID da visualização, consulte Listar visualizações de registro.
Antes de usar os dados do comando abaixo, faça estas substituições:
- VIEW_ID: o identificador da visualização de registro.
- BUCKET_NAME: o nome do bucket de registros.
- LOCATION: a localização do bucket de registros.
Execute o
comando
gcloud logging views delete
:
Linux, macOS ou Cloud Shell
gcloud logging views delete VIEW_ID --bucket=BUCKET_NAME --location=LOCATION
Windows (PowerShell)
gcloud logging views delete VIEW_ID --bucket=BUCKET_NAME --location=LOCATION
Windows (cmd.exe)
gcloud logging views delete VIEW_ID --bucket=BUCKET_NAME --location=LOCATION
A resposta confirma a exclusão. Por exemplo, veja a seguir a resposta à exclusão de uma visualização de registro chamada tester
:
Deleted [tester].
Descrever uma visualização de registro
Para recuperar informações detalhadas sobre uma visualização de registro,
use o comando gcloud logging views describe
.
Se você não souber o ID da visualização, consulte Listar visualizações de registro.
Antes de usar os dados do comando abaixo, faça estas substituições:
- VIEW_ID: o identificador da visualização de registro.
- BUCKET_NAME: o nome do bucket de registros.
- LOCATION: a localização do bucket de registros.
Execute o
comando
gcloud logging views describe
:
Linux, macOS ou Cloud Shell
gcloud logging views describe VIEW_ID --bucket=BUCKET_NAME --location=LOCATION
Windows (PowerShell)
gcloud logging views describe VIEW_ID --bucket=BUCKET_NAME --location=LOCATION
Windows (cmd.exe)
gcloud logging views describe VIEW_ID --bucket=BUCKET_NAME --location=LOCATION
A resposta sempre inclui a descrição e o nome totalmente qualificado da visualização de registro. Ele também inclui o filtro quando o campo dele não está vazio. Veja a seguir um exemplo de resposta:
createTime: '2024-02-20T17:41:17.405162921Z' filter: resource.type="gce_instance" name: projects/my-project/locations/global/buckets/my-bucket/views/compute updateTime: '2024-02-20T17:41:17.405162921Z'
Conferir registros associados a uma visualização de registro
Para acessar os registros em uma visualização, verifique se você tem o papel Acesso de visualização de registros (roles/logging.viewAccessor
) para ela:
-
No painel de navegação do console do Google Cloud, selecione Logging e clique em Análise de registros:
Clique em Refinar escopo para exibir o painel Refinar escopo. Aqui, é possível selecionar o bucket e a visualização de registros que você quer usar para ver seus registros.
Para mais informações, consulte a documentação da Análise de registros.
A seguir
Configurar o acesso no nível do campo.