Guia de controle de acesso

Esta página descreve como você usa papéis e permissões do gerenciamento de identidade e acesso (IAM, na sigla em inglês) para controlar o acesso aos dados do Cloud Logging nos recursos do Google Cloud.

Visão geral

IAMGERENCIAR PARTICIPANTES e papéis determine a capacidade de acessar dados de registros noAPI do Logging , o Explorador de registros e o gcloud ferramenta de linha de comando para começar.

Um papel é um conjunto de permissões. Não é possível conceder permissões a membros diretamente; Em vez disso, você concede a eles um papel. Quando você faz isso, concede ao usuário todas as permissões contidas no papel. É possível conceder vários papéis ao mesmo membro.

Para usar o Logging em um recurso do Google Cloud, como um projeto, uma pasta, um bucket ou uma organização do Google Cloud, é preciso ter um papel do IAM que contenha as permissões apropriadas.

Papéis predefinidos

O IAM fornece papéis predefinidos para conceder acesso granular a recursos específicos do Google Cloud e impedir o acesso indesejado a outros recursos. O Google Cloud cria e mantém esses papéis e atualiza automaticamente as permissões conforme necessário, por exemplo, quando o Logging adiciona novos recursos.

A tabela a seguir lista os papéis do Logging, os títulos dos papéis, as descrições, as permissões contidas e o tipo de recurso de menor nível em que os papéis são configurados. Um papel específico pode ser concedido nesse tipo de recurso ou, na maioria dos casos, qualquer tipo acima dele na hierarquia do Google Cloud.

Para ver uma lista de cada permissão individual em um papel, consulte Como conseguir os metadados do papel.

Papel Nome Descrição Permissões Menor recurso
roles/logging.admin Administrador do Logging Concede as permissões necessárias para usar todos os recursos do Cloud Logging.
  • logging.buckets.copyLogEntries
  • logging.buckets.create
  • logging.buckets.delete
  • logging.buckets.get
  • logging.buckets.list
  • logging.buckets.undelete
  • logging.buckets.update
  • logging.cmekSettings.*
  • logging.exclusions.*
  • logging.fields.*
  • logging.locations.*
  • logging.logEntries.*
  • logging.logMetrics.*
  • logging.logServiceIndexes.*
  • logging.logServices.*
  • logging.logs.*
  • logging.notificationRules.*
  • logging.operations.*
  • logging.privateLogEntries.*
  • logging.queries.*
  • logging.sinks.*
  • logging.usage.*
  • logging.views.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list
Projeto
roles/logging.bucketWriter Gravador de bucket de registros Capacidade de gravar registros em um bucket.
  • logging.buckets.write
Bucket
roles/logging.configWriter Gravador de configuração de registros Concede permissões para ler e gravar as configurações de métricas com base em registros e de coletores para exportação de registros.
  • logging.buckets.create
  • logging.buckets.delete
  • logging.buckets.get
  • logging.buckets.list
  • logging.buckets.undelete
  • logging.buckets.update
  • logging.cmekSettings.*
  • logging.exclusions.*
  • logging.locations.*
  • logging.logMetrics.*
  • logging.logServiceIndexes.*
  • logging.logServices.*
  • logging.logs.list
  • logging.operations.*
  • logging.sinks.*
  • logging.views.create
  • logging.views.delete
  • logging.views.get
  • logging.views.list
  • logging.views.update
  • resourcemanager.projects.get
  • resourcemanager.projects.list
Projeto
roles/logging.fieldAccessor Acessador de campo de registroBeta Capacidade de ler campos restritos em um bucket de registros.
  • logging.fields.*
Bucket
roles/logging.logWriter Gravador de registros Concede permissões para gravar entradas de registro.
  • logging.logEntries.create
Projeto
roles/logging.privateLogViewer Visualizador de registros particulares Concede permissões do papel visualizador de registros e dá acesso somente leitura a entradas em registros particulares.
  • logging.buckets.get
  • logging.buckets.list
  • logging.exclusions.get
  • logging.exclusions.list
  • logging.locations.*
  • logging.logEntries.list
  • logging.logMetrics.get
  • logging.logMetrics.list
  • logging.logServiceIndexes.*
  • logging.logServices.*
  • logging.logs.list
  • logging.privateLogEntries.*
  • logging.queries.create
  • logging.queries.delete
  • logging.queries.get
  • logging.queries.list
  • logging.queries.listShared
  • logging.queries.update
  • logging.sinks.get
  • logging.sinks.list
  • logging.usage.*
  • logging.views.access
  • logging.views.get
  • logging.views.list
  • resourcemanager.projects.get
Projeto
roles/logging.viewAccessor Acessador de visualização de registros Capacidade de ler registros em uma visualização.
  • logging.logEntries.download
  • logging.views.access
  • logging.views.listLogs
  • logging.views.listResourceKeys
  • logging.views.listResourceValues
Projeto
roles/logging.viewer Visualizador de registros Dá acesso para visualizar registros.
  • logging.buckets.get
  • logging.buckets.list
  • logging.exclusions.get
  • logging.exclusions.list
  • logging.locations.*
  • logging.logEntries.list
  • logging.logMetrics.get
  • logging.logMetrics.list
  • logging.logServiceIndexes.*
  • logging.logServices.*
  • logging.logs.list
  • logging.queries.create
  • logging.queries.delete
  • logging.queries.get
  • logging.queries.list
  • logging.queries.listShared
  • logging.queries.update
  • logging.sinks.get
  • logging.sinks.list
  • logging.usage.*
  • logging.views.get
  • logging.views.list
  • resourcemanager.projects.get
Projeto

Outras considerações

Ao decidir quais permissões e papéis se aplicam aos casos de uso dos membros dos recursos, considere o seguinte:

  • roles/logging.viewer (Visualizador de registros) fornece acesso somente leitura a todos os recursos do Logging, exceto os registros de transparência no acesso e de auditoria de acesso a dados.

  • roles/logging.privateLogViewer (Visualizador de registros particulares) inclui roles/logging.viewer, além da capacidade de ler registros de transparência no acesso e de auditoria de acesso a dados. Esse papel se aplica apenas aos buckets _Required e _Default.

  • roles/logging.logWriter (Gravador de registros) pode ser concedido a contas de serviço para dar aos aplicativos apenas as permissões necessárias para gravar registros. Este papel não concede permissões de visualização.

  • roles/logging.bucketWriter (Gravador de buckets de registros) pode ser concedido a contas de serviço para dar ao Cloud Logging apenas permissões suficientes para gravar registros em um bucket de registros. Para restringir esse papel a um bucket específico, use uma condição do IAM. Consulte o artigo sobre como rotear registros de um projeto para outro bucket em um projeto diferente para ver um exemplo.

  • roles/logging.configWriter (Gravador de configuração de registros) concede permissões para criar métricas com base em registros, exclusões, buckets e visualizações, além de usar coletores. Para usar o Explorador de registros (console) para essas ações, adicione roles/logging.viewer.

  • roles/logging.admin (Administrador do Logging) concede a você todas as permissões relacionadas ao Logging.

  • O roles/logging.viewAccessor (visualizador de visualização de registros) concede permissão para ler registros, fazer o download de registros e ler registros, chaves de recursos e valores em uma visualização. Para restringir esse papel a uma visualização em um bucket específico, use uma condição de IAM: Consulte Como ler registros de um bucket para ver um exemplo.

  • roles/viewer (Visualizador do projeto) é o mesmo que roles/logging.viewer. O papel oferece acesso somente leitura a todos os recursos do Logging, exceto registros de transparência no acesso e de auditoria de acesso a dados. Esse papel se aplica apenas aos buckets _Required e _Default.

  • roles/editor (Editor do projeto) inclui as permissões de roles/logging.viewer e as permissões para gravar entradas de registro, excluir registros e criar métricas com base em registros. O papel não permite que você crie coletores ou leia registros de transparência no acesso ou de auditoria de acesso a dados.

  • roles/owner (Proprietário do projeto) oferece acesso completo ao Logging, incluindo registros de transparência no acesso e de auditoria de acesso a dados.

Como conceder papéis

Para saber como conceder um papel a um membro, consulte Como conceder, alterar e revogar o acesso.

É possível atribuir vários papéis ao mesmo usuário. Para receber uma lista das permissões contidas em um papel, consulte Como conseguir os metadados do papel.

Caso esteja tentando acessar um recurso do Google Cloud sem ter as permissões necessárias, entre em contato com o membro listado como o Proprietário do recurso.

Papéis personalizados

Para criar um papel personalizado com as permissões do Logging, siga estas etapas:

Para ver mais informações sobre papéis personalizados, consulte Noções básicas sobre os papéis personalizados do IAM.

Permissões da API

Os métodos da API Logging exigem permissões específicas do IAM. A tabela a seguir lista as permissões exigidas pelos métodos da API.

Se você estiver interessado em registros mantidos em organizações, contas de faturamento e pastas do Google Cloud, observe que esses recursos têm seus próprios métodos de API para logs e sinks. Em vez de repetir todos os métodos na tabela, apenas os métodos projects são mostrados individualmente.

Método de geração de registro Permissão necessária Tipo de recurso
billingAccounts.logs.* logging.logs.* (Consulte projects.logs.*) contas de faturamento
billingAccounts.sinks.* logging.sinks.* (Consulte projects.sinks.*.) contas de faturamento
billingAccounts.locations.buckets.* logging.buckets.* (Consulte projects.locations.buckets.*.) contas de faturamento
entries.list logging.logEntries.list ou
logging.privateLogEntries.list
projetos, organizações,
pastas, contas de faturamento
entries.tail logging.logEntries.list ou
logging.privateLogEntries.list
projetos, organizações,
pastas, contas de faturamento
entries.write logging.logEntries.create projetos, organizações,
pastas, contas de faturamento
folders.logs.* logging.logs.* (Consulte projects.logs.*) pastas
folders.sinks.* logging.sinks.* (Consulte projects.sinks.*) pastas
folders.locations.buckets.* logging.buckets.* (Consulte projects.locations.buckets.*) pastas
monitoredResourceDescriptors.list (nenhum) (nenhum)
organizations.logs.* logging.logs.* (Consulte projects.logs.*) organizações
organizations.sinks.* logging.sinks.* (Consulte projects.sinks.*) organizações
organizations.locations.buckets.* logging.buckets.* (Consulte projects.locations.buckets.*) organizações
projects.exclusions.create logging.exclusions.create projetos
projects.exclusions.delete logging.exclusions.delete projetos
projects.exclusions.get logging.exclusions.get projetos
projects.exclusions.list logging.exclusions.list projetos
projects.exclusions.patch logging.exclusions.update projetos
projects.logs.list logging.logs.list projetos
projects.logs.delete logging.logs.delete projetos
projects.sinks.list logging.sinks.list projetos
projects.sinks.get logging.sinks.get projetos
projects.sinks.create logging.sinks.create projetos
projects.sinks.update logging.sinks.update projetos
projects.sinks.delete logging.sinks.delete projetos
projects.locations.buckets.list logging.buckets.list projetos
projects.locations.buckets.get logging.buckets.get projetos
projects.locations.buckets.patch logging.buckets.update projetos
projects.locations.buckets.create logging.buckets.create projetos
projects.locations.buckets.delete logging.buckets.delete projetos
projects.locations.buckets.undelete logging.buckets.undelete projetos
projects.metrics.list logging.logMetrics.list projetos
projects.metrics.get logging.logMetrics.get projetos
projects.metrics.create logging.logMetrics.create projetos
projects.metrics.update logging.logMetrics.update projetos
projects.metrics.delete logging.logMetrics.delete projetos

Permissões do console

A tabela a seguir lista as permissões necessárias para usar o Explorador de registros.

Na tabela, a.b.{x,y} significa a.b.x e a.b.y.

Atividade do console Permissões necessárias
Acesso mínimo somente de leitura logging.logEntries.list
logging.logs.list
logging.logServiceIndexes.list
logging.logServices.list
resourcemanager.projects.get
Adicionar capacidade de visualizar registros de auditoria de acesso a dados Insira logging.privateLogEntries.list
Adicionar capacidade de visualizar registros de transparência no acesso Insira logging.privateLogEntries.list
Adicionar permissão para ver métricas com base em registros Adicionar logging.logMetrics.{list, get}
Adicionar capacidade de visualizar coletores Adicionar logging.sinks.{list, get}
Adicionar permissão para ver o uso de registros Adicionar logging.usage.get
Adicionar permissão para excluir registros Adicionar logging.exclusions.{list, create, get, update, delete}
Adicionar capacidade de usar coletores Adicionar logging.sinks.{list, create, get, update, delete}
Adicionar permissão para criar métricas com base em registros Adicionar logging.logMetrics.{list, create, get, update, delete}

Permissões de linha de comando

Os comandos gcloud logging são controlados pelas permissões do IAM.

Para usar qualquer um dos comandos gcloud logging, você precisa ter a permissão serviceusage.services.use.

Você também precisa ter o papel do IAM que corresponde ao recurso do registro e ao seu caso de uso. Para mais detalhes, acesse permissões da interface da linha de comando.

Acesso a registros exportados

Para criar umacoletor Para rotear registros, você precisa ter um dos seguintes papéis ou um papel com permissões equivalentes: roles/logging.configWriter ,roles/logging.admin ,roles/owner para começar.

Depois que as entradas de registro forem roteadas para um destino, o acesso às cópias do registro será controlado inteiramente pelas permissões e papéis do IAM nos destinos: Cloud Storage, BigQuery ou Pub/Sub.

Ao criar um papel personalizado que inclua permissões para gerenciar filtros de exclusão, adicione as permissões logging.sinks.* ao papel em vez de adicionar as permissões logging.exclusions.*. O gerenciamento de exclusões faz parte de coletores de registros. Portanto, todas as permissões relacionadas ao gerenciamento de coletores, incluindo a definição de exclusões, são incluídas nas permissões logging.sinks.*.

Escopos de acesso do Logging

Os escopos de acesso são o método legado de especificar permissões para as contas de serviço nas instâncias de VM do Compute Engine.

Os seguintes escopos de acesso se aplicam à API Logging:

Escopo de acesso Permissões concedidas
https://www.googleapis.com/auth/logging.read roles/logging.viewer
https://www.googleapis.com/auth/logging.write roles/logging.logWriter
https://www.googleapis.com/auth/logging.admin Acesso total à API Logging.
https://www.googleapis.com/auth/cloud-platform Acesso total à API Logging e a todas as outras APIs do Google Cloud ativadas.

Para informações sobre como usar esse método legado para definir os níveis de acesso das suas contas de serviço, consulte Permissões da conta de serviço.