Este documento descreve como criar e gerenciar visualizações de registro 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 seus buckets de registros.
Para informações gerais sobre o modelo de armazenamento do Logging, consulte Visão geral de roteamento e armazenamento.
Sobre as visualizações de registro
As visualizações de registro permitem conceder a um usuário acesso a apenas um subconjunto dos registros armazenados em um bucket de registros. Por exemplo, considere um cenário em que você armazena os registros da sua organização em um projeto central. Você pode criar uma visualização de registro para cada projeto que contribui com registros para o bucket de registros. Em seguida, conceda acesso a uma ou mais visualizações de registro a cada usuário e, assim, restrinja quais registros os usuários podem acessar.
É possível criar no máximo 30 visualizações de registros por bucket.
Controlar o acesso a uma visualização de registro
O Cloud Logging usa políticas do IAM para controlar quem tem acesso às visualizações de registro. As políticas do IAM podem existir no nível do recurso, do projeto, da pasta e da organização. No Cloud Logging, é possível criar uma política do IAM para cada visualização de registro. Para determinar se um principal está autorizado para uma ação, o IAM avalia todas as políticas aplicáveis, com a primeira avaliação no nível do recurso.
Os participantes com a função de roles/logging.viewAccessor
em um projeto do Google Cloud podem acessar visualizações e registros em qualquer bucket de registros no projeto.
Para conceder acesso principal a apenas uma visualização de registro específica, siga um destes procedimentos:
Crie uma política do IAM para a visualização de registros e adicione uma vinculação do IAM a essa política que conceda o acesso principal à visualização de registros.
Se você criar um grande número de visualizações de registro, recomendamos essa abordagem.
Conceda ao principal o papel do IAM de
roles/logging.viewAccessor
no projeto que contém a visualização de registro, mas anexe uma condição do IAM para restringir a concessão à visualização de registro específica. Se você omitir a condição, vai conceder ao principal acesso a todas as visualizações de registro. Há um limite de 20 vinculações de papel no arquivo de política de um projeto do Google Cloud que inclui o mesmo papel e o mesmo membro, mas expressões condicionais diferentes.
Para mais informações, consulte a seção deste documento intitulada Conceder acesso a uma visualização de registro.
Visualizações de registro criadas automaticamente
O Cloud Logging cria automaticamente uma visualização _AllLogs
para cada bucket de registros 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 conferir todos os registros de auditoria que não são de acesso a dados no bucket de registros.
Não é possível modificar as visualizações criadas automaticamente pelo Cloud Logging.
No entanto, é possível excluir a visualização _AllLogs
.
Filtro de visualização de registros
Cada visualização de registro contém um filtro que determina quais entradas de registro estão
visíveis na visualização. Os filtros podem conter operadores AND
e NOT
lógicos, mas não podem incluir operadores OR
lógicos.
Os filtros podem comparar qualquer um dos seguintes valores:
Uma fonte de dados que usa a função
source
. A funçãosource
retorna entradas de registro de um recurso específico na hierarquia de projetos do Google Cloud, organizações e pastas.Um ID de registro usando a função
log_id
. A funçãolog_id
retorna entradas de registro que correspondem ao argumentoLOG_ID
indicado 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:
Se ainda não tiver feito isso, no projeto apropriado do Google Cloud, crie um bucket de registro para o qual você quer configurar uma visualização de registro personalizada.
-
Para receber as permissões necessárias para criar e gerenciar visualizações de registro e conceder acesso a elas, peça ao administrador para conceder a você os seguintes papéis do IAM no projeto:
-
Gravador de configuração de registros (
roles/logging.configWriter
) -
Para adicionar uma vinculação de função a um projeto:
Administrador do IAM do projeto (
roles/resourcemanager.projectIamAdmin
) -
Para adicionar uma vinculação de função a uma visualização de registro:
Administrador da geração de registros (
roles/logging.admin
)
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.
-
Gravador de configuração de registros (
-
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.
Determine quais registros você quer incluir na visualização. Use essas informações para especificar o filtro da visualização de registro.
Determine quem deve ter acesso à visualização de registros e se você quer adicionar vinculações à política do IAM da visualização de registros ou ao projeto do Google Cloud. Para mais informações, consulte Controlar o acesso a uma visualização de registro.
Criar uma visualização de registro
Para criar uma visualização de registro,
use o comando gcloud logging views create
.
É 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: o local 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, você pode inserir 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 mudanças, execute o comando
gcloud logging views list
.
Em seguida, conceda acesso aos principais à sua visualização de registro.
Conceder acesso a uma visualização de registro
Para restringir um principal a uma visualização de registro específica em um bucket de registros definido pelo usuário, há duas abordagens que você pode usar:
Você pode usar o arquivo de política do IAM da visualização de registros.
É possível usar o arquivo de política do IAM do projeto do Google Cloud que armazena o bucket de registros com uma condição do IAM.
Ao criar um grande número de visualizações de registro, recomendamos que você controle o acesso usando o arquivo de política do IAM da visualização de registro.
Visualização de registros: adicionar vinculações de papéis
Esta seção descreve como usar o arquivo de política do IAM para uma visualização de registro para controlar quem tem acesso às entradas de registro nessa visualização. Ao usar essa abordagem, você adiciona uma vinculação ao arquivo de política da visualização de registro. A vinculação concede o acesso principal especificado à visualização de registro.
Esta seção também descreve como listar a vinculação de função contida no arquivo de política do IAM para uma visualização de registro.
Adicionar uma vinculação de papel a uma visualização de registro
Para atualizar o arquivo de política do IAM de uma visualização de registro, siga estas etapas.
gcloud
Antes de usar os dados do comando abaixo, faça estas substituições:
- VIEW_ID: o identificador da visualização de registro.
- PRINCIPAL: um identificador do principal a quem você quer
conceder o papel. Os identificadores dos principais geralmente têm o seguinte formato:
PRINCIPAL-TYPE:ID
. Por exemplo,user:my-user@example.com
. Para uma lista completa dos formatos quePRINCIPAL
pode ter, consulte Identificadores principais. - BUCKET_NAME: o nome do bucket de registros.
- LOCATION: o local do bucket de registros.
Execute o comando
gcloud logging views add-iam-policy-binding
:
Linux, macOS ou Cloud Shell
gcloud logging views add-iam-policy-binding VIEW_ID --member=PRINCIPAL --role='roles/logging.viewAccessor' --bucket=BUCKET_NAME --location=LOCATION
Windows (PowerShell)
gcloud logging views add-iam-policy-binding VIEW_ID --member=PRINCIPAL --role='roles/logging.viewAccessor' --bucket=BUCKET_NAME --location=LOCATION
Windows (cmd.exe)
gcloud logging views add-iam-policy-binding VIEW_ID --member=PRINCIPAL --role='roles/logging.viewAccessor' --bucket=BUCKET_NAME --location=LOCATION
Confira a seguir a resposta quando uma única vinculação é adicionada:
Updated IAM policy for logging view [projects/PROJECT_ID/locations/global/buckets/BUCKET_NAME/views/VIEW_ID]. bindings: - members: - PRINCIPAL role: roles/logging.viewAccessor etag: BwYXfSd9-Gw= version: 1
Terraform
Para saber como aplicar ou remover uma configuração do Terraform, consulte Comandos básicos do Terraform. Para mais informações, consulte a documentação de referência do provedor Terraform.
Para provisionar associações do IAM para uma visualização de registro usando o Terraform, vários recursos diferentes estão disponíveis:
google_logging_log_view_iam_policy
google_logging_log_view_iam_binding
google_logging_log_view_iam_member
Para mais informações, consulte a política do IAM para o LogView do Cloud Logging.
Console
Incompatível. Para adicionar vinculações a uma visualização de registro, use a Google Cloud CLI.
Listar vinculações de papéis em uma visualização de registro
Para listar as vinculações do IAM para uma visualização de registro, siga estas etapas.
gcloud
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: o local do bucket de registros.
Execute o comando
gcloud logging views get-iam-policy
:
Linux, macOS ou Cloud Shell
gcloud logging views get-iam-policy VIEW_ID --bucket=BUCKET_NAME --location=LOCATION
Windows (PowerShell)
gcloud logging views get-iam-policy VIEW_ID --bucket=BUCKET_NAME --location=LOCATION
Windows (cmd.exe)
gcloud logging views get-iam-policy VIEW_ID --bucket=BUCKET_NAME --location=LOCATION
Quando uma visualização de registro não contém vinculações, a resposta contém apenas um campo etag
. Confira a seguir a resposta quando uma visualização de registro contém uma única vinculação:
bindings: - members: - PRINCIPAL role: roles/logging.viewAccessor etag: BwYXfSd9-Gw= version: 1
Terraform
Para listar as associações do IAM para visualizações de registro usando o Terraform,
use a fonte de dados
google_logging_log_view_iam_policy
.
Console
Incompatível. Para listar as vinculações de uma visualização de registro, use a Google Cloud CLI.
Projeto do Google Cloud: adicionar vinculações de função
Esta seção descreve como adicionar uma vinculação de função a um projeto do Google Cloud e como listar as vinculações anexadas a um projeto. Ao usar essa abordagem, para restringir um participante a ter acesso às entradas de registro armazenadas em uma visualização de registro específica, é necessário adicionar uma condição do IAM à concessão.
Adicionar uma vinculação de papel a um projeto
Para adicionar uma vinculação de função ao arquivo de política do IAM de um projeto do Google Cloud, siga estas etapas.
gcloud
Crie um arquivo JSON ou YAML com sua condição.
Por exemplo, você pode criar um arquivo chamado
condition.yaml
com o seguinte conteúdo:expression: "resource.name == \"projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_NAME/views/VIEW_ID\"" title: "My title" description: "My description"
Opcional: para verificar se o arquivo JSON ou yaml está formatado corretamente, execute o seguinte comando:
gcloud alpha iam policies lint-condition --condition-from-file=condition.yaml
Atualize a política do IAM no projeto do Google Cloud chamando o método
gcloud projects add-iam-policy-binding
.Antes de usar o comando a seguir, faça as seguintes substituições:
- PROJECT_ID: o identificador do projeto.
- PRINCIPAL: um identificador do principal a quem você quer
conceder o papel. Os identificadores dos principais geralmente têm o seguinte formato:
PRINCIPAL-TYPE:ID
. Por exemplo,user:my-user@example.com
. Para uma lista completa dos formatos quePRINCIPAL
pode ter, consulte Identificadores principais.
Execute o comando
gcloud projects add-iam-policy-binding
:gcloud projects add-iam-policy-binding PROJECT_ID --member=PRINCIPAL --role='roles/logging.viewAccessor' --condition-from-file=condition.yaml
A resposta ao comando anterior inclui todas as vinculações de função.
- condition: description: My description expression: resource.name == "projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_NAME/views/VIEW_ID" title: My title members: - PRINCIPAL role: roles/logging.viewAccessor
Terraform
Para saber como aplicar ou remover uma configuração do Terraform, consulte Comandos básicos do Terraform. Para mais informações, consulte a documentação de referência do provedor Terraform.
Para provisionar associações do IAM para projetos usando o Terraform, vários recursos diferentes estão disponíveis:
google_project_iam_policy
google_project_iam_binding
google_project_iam_member
Para mais informações, consulte a política do IAM para projetos.
Console
No projeto em que você criou o bucket de registros, 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.
Clique em
CONCEDER ACESSO.No campo Novos participantes, adicione a conta de e-mail do usuário.
No menu suspenso Selecionar um papel, selecione Acessador de visualizações 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.
Listar a vinculação de papéis em um projeto
Para listar as vinculações de função em um projeto do Google Cloud, siga estas etapas.
gcloud
Antes de usar o comando a seguir, faça as seguintes substituições:
- PROJECT_ID: o identificador do projeto.
Execute o
comando
gcloud projects get-iam-policy
:
gcloud projects get-iam-policy PROJECT_ID
A resposta ao comando anterior inclui todas as vinculações de função.
- condition:
description: My description
expression: resource.name == "projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_NAME/views/VIEW_ID"
title: My title
members:
- PRINCIPAL
role: roles/logging.viewAccessor
Terraform
Para listar as associações do IAM para projetos usando o Terraform,
use a fonte de dados
google_project_iam_policy
.
Console
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.
A página IAM lista todos os principais, os papéis do IAM e as condições anexadas a esses papéis.
Listar visualizações de registros em um bucket de registros
Para listar as visualizações de registro 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: o local 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 registro. Para cada visualização de registro, o filtro é mostrado com
as datas de criação e da última atualização. Quando as datas de criação e atualização estão vazias, a visualização de registro foi
criada quando o projeto do Google Cloud foi criado. O exemplo de saída a seguir mostra que há
dois IDs de visualização, _AllLogs
e compute
, no bucket de registros 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
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: o local 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, você pode inserir 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 mudanças, execute o comando
gcloud logging views describe
.
Excluir uma visualização de registro
Quando você não precisar mais de uma visualização de registro que criou, poderá excluí-la. No entanto, antes de excluir uma visualização de registro, recomendamos verificar se ela não está sendo referenciada por outro recurso, como uma consulta salva.
Não é possível excluir a visualização de registro _Default
no bucket de registros _Default
.
Para excluir uma visualização de registro, faça o seguinte:
Recomendado: revise seu projeto do Google Cloud para garantir que a visualização de registro não esteja sendo referenciada. Considere o seguinte:
- Consultas executadas nas páginas Análise de registros ou Log Analytics que foram salvas ou compartilhadas.
- Painéis personalizados.
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: o local 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, o exemplo a seguir mostra a resposta à exclusão de uma visualização de registro chamada
tester
:Deleted [tester].
Descrever uma visualização de registro
Para extrair 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: o local 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 de filtro não está vazio. Confira 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 conferir os registros em uma visualização de registros, verifique se você tem o papel de
Acessador de visualização de registros (roles/logging.viewAccessor
)
para a visualização de registros:
-
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.
Na barra de ferramentas, clique em Refine scope, Log view e selecione as visualizações de registro.
Para mais informações, consulte a documentação do Explorador de registros.
A seguir
Para saber como controlar o acesso a campos específicos em uma entrada de registro, consulte Configurar o acesso no nível do campo.