Guia de controle de acesso

O Stackdriver Logging usa o Cloud Identity and Access Management (IAM, na sigla em inglês) para controlar o acesso a dados de registro em projetos, organizações, pastas e contas de faturamento.

Visão geral

As permissões e os papéis do Cloud IAM determinam como usar a API Logging e o Visualizador de registros.

Um papel do Cloud IAM é uma coleção de permissões. Esses papéis são concedidos aos membros. Não é possível atribuir uma permissão diretamente a um membro. Em vez disso, eles recebem um papel com todas as permissões contidas na função.

Os dados de registro residem nesses tipos de recursos: projetos, organizações, pastas e contas de faturamento. Cada um desses recursos pode ter o próprio conjunto de membros, com conjuntos próprios de papéis do Logging.

Para criar ou usar dados de registro do Stackdriver Logging em um recurso, um membro precisa ter uma função do Cloud IAM que inclua as permissões apropriadas. Veja abaixo uma lista resumida desses papéis e permissões do Cloud IAM:

  • roles/logging.viewer (Visualizador de registros): os membros recebem permissão de acesso somente leitura a todos os recursos do Logging, exceto a permissão para ler registros particulares.

  • roles/logging.privateLogViewer (Visualizador de registros particulares): os membros recebem as permissões do papel roles/logging.viewer mais a permissão para ler registros particulares.

  • roles/logging.logWriter (Gravador de registros): este papel é concedido aos membros que são contas de serviço e que passam a ter somente as permissões suficientes para gravar registros. O acesso ao Visualizador de registros não é concedido com esse papel.

  • roles/logging.configWriter (Gravador de configuração de registros): os membros recebem as permissões para criar métricas com base em registros e coletores de exportação. Para usar o Visualizador de registros, adicione o papel roles/logging.viewer.

  • roles/logging.admin (Administrador do Logging): os membros recebem todas as permissões relacionadas ao Logging. Para conseguir uma lista completa dessas permissões, consulte Permissões da API.

  • roles/viewer (Visualizador de projetos): os membros recebem as mesmas permissões roles/logging.viewer no nível do projeto. A concessão desse papel aplica as permissões à maioria dos serviços do GCP no nível do projeto e não está restrita ao uso do Logging.

  • roles/editor (Editor de projetos): os membros recebem as mesmas permissões do papel roles/logging.viewer, além de permissões para gravar entradas de registro, excluir registros e criar métricas com base em registros no nível do projeto. Com esse papel, os membros não têm permissão para criar coletores de exportação nem para ler registros particulares. A concessão desse papel aplica as permissões à maioria dos serviços do GCP no nível do projeto e não está restrita ao uso do Logging.

  • roles/owner (Proprietário do projeto): os membros recebem a permissão de acesso completo ao Logging, incluindo aos registros particulares. A concessão desse papel aplica as permissões à maioria dos serviços do GCP no nível do projeto e não está restrita ao uso do Logging.

Os Registros de auditoria de acesso a dados, exceto os registros de auditoria do BigQuery Data Access, são os únicos "registros particulares". Para ler esses registros, os membros precisam ter determinadas permissões, mais amplas do que as permissões somente leitura.

Para ver mais detalhes sobre os papéis e permissões do Logging, consulte Permissões e papéis, nesta página.

Permissões da API

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

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
entries.list 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
monitoredResourceDescriptors.list (nenhum) (nenhum)
organizations.logs.* logging.logs.* (consulte projects.logs.*) organizações
organizations.sinks.* logging.sinks.* (consulte projects.sinks.*) 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.<b>update<b> 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.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 e papéis

A tabela a seguir lista os papéis do Cloud IAM que os membros precisam ter para acessar o Stackdriver Monitoring. Cada papel tem um conjunto específico de permissões de registro. Os papéis podem ser atribuídos aos membros dos tipos de recursos listados.

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

Nome da função Título do papel Permissões de registro Tipo de recurso
roles/
logging.viewer
Visualizador de registros logging.logEntries.list
logging.logMetrics.{list, get}
logging.logs.list
logging.logServiceIndexes.list
logging.logServices.list
logging.sinks.{list, get}
logging.usage.get
resourcemanager.projects.get
projeto, organização
pasta, conta de faturamento
roles/
logging.privateLogViewer
Visualizador de registros privados permissões de roles/logging.viewer e
logging.privateLogEntries.list
projeto, organização
pasta, conta de faturamento
roles/
logging.logWriter
Gravador de registros logging.logEntries.create projeto, organização
pasta, conta de faturamento
roles/
logging.configWriter
Gravador de configuração de registros logging.exclusions.{list, create, get, update, delete}
logging.logMetrics.{list, create, get, update, delete}
logging.logs.list
logging.logServiceIndexes.list
logging.logServices.list
logging.sinks.{list, create, get, update, delete}
resourcemanager.projects.get
projeto, organização
pasta, conta de faturamento
roles/
logging.admin
Administrador de geração de registros logging.exclusions.{list, create, get, update, delete}
logging.logEntries.create
logging.logEntries.list
logging.logMetrics.{list, create, get, update, delete}
logging.logs.delete
logging.logs.list
logging.logServiceIndexes.list
logging.logServices.list
logging.privateLogEntries.list
logging.sinks.{list, create, get, update, delete}
resourcemanager.projects.get
projeto, organização
pasta, conta de faturamento
roles/viewer Visualizador logging.logEntries.list
logging.logMetrics.{list, get}
logging.logs.list
logging.logServiceIndexes.list
logging.logServices.list
logging.sinks.{list, get}
resourcemanager.projects.get
projeto
roles/editor Editor Permissões de registro de roles/viewer e de
logging.logEntries.create
logging.logMetrics.{create, update, delete}
logging.logs.delete
projeto
roles/owner Proprietário Permissões de registro de roles/editor e de
logging.privateLogEntries.list
logging.sinks.{create, update, delete}
projeto

Papéis personalizados

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

  • Para conceder um papel com permissões apenas para a API do Logging, escolha as permissões na seção anterior, Permissões da API.

  • Para conceder um papel com permissões para usar o Visualizador de registros, escolha um dos grupos de permissões na seção a seguir, Permissões do console.

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

Permissões do console

A tabela a seguir lista as permissões necessárias para usar o Visualizador 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 permissão para ver métricas com base em registros Adicione logging.logMetrics.{list, get}
Adicionar permissão para ver exportações Adicione logging.sinks.{list, get}
Adicionar permissão para ver o uso de registros Adicione logging.usage.get
Adicionar permissão para excluir registros Adicione logging.exclusions.{list, create, get, update, delete}
Adicionar permissão para exportar registros Adicione logging.sinks.{list, create, get, update, delete}
Adicionar permissão para criar métricas com base em registros Adicione logging.logMetrics.{list, create, get, update, delete}

Acesso a registros exportados

Para criar um coletor para exportação de registros, é preciso ter as permissões de roles/logging.configWriter, roles/logging.admin ou roles/owner.

Uma vez que um coletor começa a exportar registros, ele tem acesso total a todas as entradas de registro de entrada. É possível usar os coletores para exportar entradas de registro particulares.

Depois que as entradas de registro são exportadas, o acesso às cópias exportadas é totalmente controlado pelas permissões e papéis do Cloud IAM nos destinos: Cloud Storage, BigQuery ou Cloud Pub/Sub.

Escopos de acesso do Logging

Os escopos de acesso são o método legado de especificar permissões para as instâncias da VM do Compute Engine. Os seguintes escopos de acesso se aplicam à API do Logging:

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

Práticas recomendadas

Agora que os papéis do Cloud IAM estão disponíveis, é recomendável conceder a todas as instâncias da VM o escopo "Acesso total a todas as APIs do Google Cloud ativadas":

https://www.googleapis.com/auth/cloud-platform

É possível conceder papéis específicos do Cloud IAM na conta do serviço da instância de VM para restringir o acesso a APIs específicas. Para saber mais detalhes, consulte Permissões da conta de serviço.

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Stackdriver Logging
Precisa de ajuda? Acesse nossa página de suporte.