Neste documento, descrevemos como criar e gerenciar de visualizações de registro no seu buckets do Cloud Logging usando a CLI gcloud. As visualizações de registros oferecem controle avançado e granular 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
As visualizações de registros permitem conceder a um usuário acesso a apenas um subconjunto dos registros armazenados em um em um bucket de registros. Por exemplo, considere um cenário em que você armazena os registros da organização em um projeto central. É possível criar uma visualização de registros em cada projeto que contribui com registros para o bucket de registros. É possível conceda a cada usuário acesso a uma ou mais visualizações e, assim, restrinja quais registros que os usuários podem visualizar.
É possível criar no máximo 30 visualizações de registros por bucket.
Controlar o acesso a uma visualização de registros
O Cloud Logging usa políticas do IAM para controlar quem tem acesso para registrar visualizações. As políticas do IAM podem existir no nível do recurso, da pasta e da organização. No Cloud Logging, é possível criar Política do IAM para cada visualização de registro. Para determinar se um principal está autorizado para um uma ação, o IAM avalia todas as políticas aplicáveis a primeira avaliação no nível do recurso.
Principais com o papel de roles/logging.viewAccessor
em um
O projeto do Google Cloud pode acessar visualizações e registros em qualquer bucket de registros
no projeto.
Para conceder a um principal acesso somente a uma visualização de registro específica, siga um seguintes:
Crie uma política do IAM para a visualização de registros e adicione um Vinculação do IAM a essa política que concede ao principal acesso à visualização de registros.
Se você cria um grande número de visualizações de registros, recomendamos essa abordagem.
Conceder ao principal o papel do IAM de
roles/logging.viewAccessor
no projeto que contém a visualização de registro mas anexar Condição do IAM para restringir a concessão à visualização de registro específica. Se você omitir e concede ao principal acesso a todas as visualizações de registros. Há um limite de 20 vinculações de papéis no arquivo de políticas de um projeto do Google Cloud que incluem mesmo papel e o mesmo principal, mas expressões condicionais diferentes.
Para mais informações, consulte a seção deste documento chamada Conceda acesso a uma visualização de registros.
Visualizações de registros 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 visualizar 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 na em um bucket de registros.
não é possível modificar visualizações criadas automaticamente pelo Cloud Logging;
No entanto, é possível excluir a visualização _AllLogs
.
Filtro da visualização de registro
Cada visualização de registros tem um filtro que determina as entradas
visíveis na visualização. Os filtros podem conter operadores lógicos AND
e NOT
.
No entanto, não podem incluir operadores lógicos OR
.
Os filtros podem comparar qualquer um dos seguintes valores:
Uma fonte de dados que usa Função
source
. A funçãosource
retorna entradas de registro de um recurso específico em organizações, pastas e a hierarquia de projetos do Google Cloud.Um ID de registro que usa Função
log_id
. A funçãolog_id
retorna entradas de registro que correspondem aosLOG_ID
informados argumento dologName
.Um tipo de recurso válido usando o
resource.type=
FIELD_NAME comparação.
Por exemplo, o filtro a seguir captura o registro stdout
do Compute Engine
entradas de um projeto do Google Cloud chamado myproject
:
source("projects/myproject") AND resource.type = "gce_instance" AND log_id("stdout")
Para obter detalhes sobre a sintaxe de filtragem, consulte Comparações.
Antes de começar
Antes de criar ou atualizar uma visualização de registro, conclua as seguintes etapas:
Se você ainda não tiver feito isso, no projeto apropriado do Google Cloud, criar um bucket do Logging onde você quer configurar uma visualização de registros personalizada.
-
Para ter as permissões necessárias para criar e gerenciar visualizações de registros 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 papel a um projeto:
Administrador de IAM do projeto (
roles/resourcemanager.projectIamAdmin
) -
Para adicionar uma vinculação de papel a uma visualização de registro:
Administrador do Logging (
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 com papéis personalizados ou outros papéis predefinidos.
-
Gravador de configuração de registros (
Instale o Google Cloud CLI.
Determine quais registros você quer incluir na visualização. Você usa isso informações para especificar o filtro da visualização de registros.
Determine quem deve ter acesso à visualização de registros e se você quer para adicionar vinculações à política do IAM da visualização de registros ou no projeto do Google Cloud. Para mais informações, consulte Controlar o acesso a uma visualização de registros.
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 registros.
- BUCKET_NAME: o nome do bucket de registros.
- LOCATION: o local do bucket de registros.
- FILTER: um filtro que define a visualização de registros. Quando estiver vazia, a visualização de registros vai incluir 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 o
descrição
"Compute logs"
.
Execute o
gcloud logging views create
comando:
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
gcloud logging views list
.
Em seguida, conceda aos principais acesso à visualização de registros.
Conceder acesso a uma visualização de registros
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 podem ser usadas:
É possível usar o arquivo de política do IAM da visualização de registros.
É possível usar o arquivo de política do IAM de o projeto do Google Cloud que armazena o bucket de registros, junto com uma Condição do IAM.
Quando você cria um grande número de visualizações de registros, recomendamos que você controle o acesso usando a Arquivo de política do IAM da visualização de registros.
Visualização de registro: adicionar vinculações de papéis
Nesta seção, descrevemos como usar o IAM de política de uma visualização de registro para controlar quem tem acesso às entradas de registro na visualização de registros. Ao usar essa abordagem, você adiciona uma vinculação ao arquivo de política da visualização de registros, a vinculação concede o acesso principal especificado a visualização de registros.
Esta seção também descreve como listar a vinculação de papel contida em o arquivo de política do IAM para uma visualização de registros.
Adicionar uma vinculação de papel a uma visualização de registros
Para atualizar o arquivo de política do IAM de uma visualização de registros, conclua as etapas a seguir.
gcloud
Antes de usar os dados do comando abaixo, faça estas substituições:
- VIEW_ID: o identificador da visualização de registros.
- PRINCIPAL: um identificador do principal que você quer
atribuir o papel. Os identificadores principais geralmente têm o seguinte formato:
PRINCIPAL-TYPE:ID
: Por exemplo,user:my-user@example.com
. Para conferir 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
gcloud logging views add-iam-policy-binding
comando:
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
Veja 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, faça o seguinte: 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 Política do IAM para 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 registros
Para listar as vinculações do IAM para uma visualização de registro, conclua as etapas a seguir.
gcloud
Antes de usar os dados do comando abaixo, faça estas substituições:
- VIEW_ID: o identificador da visualização de registros.
- BUCKET_NAME: o nome do bucket de registros.
- LOCATION: o local do bucket de registros.
Execute o
gcloud logging views get-iam-policy
comando:
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 etag
.
. Veja 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 registros usando o Terraform,
usar 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 papéis
Nesta seção, descrevemos como adicionar uma vinculação de papel a um projeto do Google Cloud. e como listar as vinculações anexadas a um projeto. Ao usar essa abordagem, restringir o acesso de um principal às entradas de registro armazenadas em um visualização de registros, adicione uma condição do IAM à concessão.
Adicionar uma vinculação de papel a um projeto
Para adicionar uma vinculação de papel ao arquivo de política do IAM de um Google Cloud, conclua as etapas a seguir.
gcloud
Crie um arquivo JSON ou yaml com a condição.
Por exemplo, é possível 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 de IAM no projeto do Google Cloud fazendo o seguinte: 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 que você quer
atribuir o papel. Os identificadores principais geralmente têm o seguinte formato:
PRINCIPAL-TYPE:ID
: Por exemplo,user:my-user@example.com
. Para conferir uma lista completa dos formatos quePRINCIPAL
pode ter, consulte Identificadores principais.
Execute o
gcloud projects add-iam-policy-binding
comando: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 papéis.
- 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 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 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 principais, adicione a conta de e-mail do usuário.
No menu suspenso Selecionar papel, selecione Acessor 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.
Listar vinculação de papel em um projeto
Para listar as vinculações de papéis em um projeto do Google Cloud, conclua as etapas a seguir.
gcloud
Antes de usar o comando a seguir, faça as seguintes substituições:
- PROJECT_ID: o identificador do projeto.
Execute o
gcloud projects get-iam-policy
comando:
gcloud projects get-iam-policy PROJECT_ID
A resposta ao comando anterior inclui todas as vinculações de papéis.
- 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, faça o seguinte:
usar 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 associadas a eles.
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: o local do bucket de registros.
Execute o
gcloud logging views list
comando:
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 é exibido junto 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 registros foi
criado quando o projeto do Google Cloud foi criado. O exemplo de saída a seguir mostra que
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
Atualizar uma visualização de registros
Para atualizar ou modificar a visualização de registros,
use o comando gcloud logging views update
.
Se você não souber o ID, consulte Listar visualizações de registros.
Antes de usar os dados do comando abaixo, faça estas substituições:
- VIEW_ID: o identificador da visualização de registros.
- BUCKET_NAME: o nome do bucket de registros.
- LOCATION: o local do bucket de registros.
- FILTER: um filtro que define a visualização de registros. Quando estiver vazia, a visualização de registros vai incluir 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 o
descrição
"New description for the log view"
.
Execute o
gcloud logging views update
comando:
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
gcloud logging views describe
.
Excluir uma visualização de registros
Para excluir uma visualização de registros,
use o comando gcloud logging views delete
.
Se você não souber o ID, consulte Listar visualizações de registros.
Antes de usar os dados do comando abaixo, faça estas substituições:
- VIEW_ID: o identificador da visualização de registros.
- BUCKET_NAME: o nome do bucket de registros.
- LOCATION: o local do bucket de registros.
Execute o
gcloud logging views delete
comando:
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 código a seguir mostra a resposta à exclusão de um
visualização de registro chamada tester
:
Deleted [tester].
Descrever uma visualização de registros
Para recuperar informações detalhadas sobre a visualização de registros,
use o comando gcloud logging views describe
.
Se você não souber o ID, consulte Listar visualizações de registros.
Antes de usar os dados do comando abaixo, faça estas substituições:
- VIEW_ID: o identificador da visualização de registros.
- BUCKET_NAME: o nome do bucket de registros.
- LOCATION: o local do bucket de registros.
Execute o
gcloud logging views describe
comando:
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 do registro. Ele também inclui o filtro quando o campo de filtro não está vazio. Confira a seguir um exemplo 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'
Mostrar registros associados a uma visualização de registros
Para usar uma visualização de registros, você precisa do
Acesso 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 Refinar escopo, depois em Visualização de registro e em selecione as visualizações de registro.
Para mais informações, consulte a Análise de registros na documentação do Google Cloud.
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.