Este documento descreve como usar papéis e permissões do gerenciamento de identidade e acesso (IAM) para controlar o acesso aos dados de registros na API Logging, no Explorador de registros e na Google Cloud CLI.
Visão geral
As permissões e os papéis do IAM determinam sua capacidade de acessar os dados de registros na API Logging, no Explorador de registros e na Google Cloud CLI.
Um papel é um conjunto de permissões. Não é possível conceder uma permissão principal diretamente. em vez disso, você concede a eles um papel. Quando você faz isso, concede ao principal todas as permissões contidas no papel. É possível atribuir vários papéis ao mesmo principal.
Para usar o Logging em um recurso do Google Cloud, como um projeto, uma pasta, um bucket ou uma organização do Google Cloud, um principal precisa ter um papel do IAM que contenha as permissões apropriadas.
Papéis predefinidos
O IAM oferece papéis predefinidos para conceder acesso granular a recursos específicos do Google Cloud e evitar 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, como quando o Logging adiciona novos recursos.
A tabela a seguir lista os papéis predefinidos para o Logging. Para cada função, a tabela mostra o título, a descrição, as permissões contidas e o tipo de recurso de menor nível em que as funções podem ser concedidas. É possível conceder os papéis predefinidos no nível do projeto do Google Cloud ou, na maioria dos casos, qualquer tipo acima na hierarquia de recursos. Para restringir o papel "Acesso à visualização de registros" a uma visualização de registros em um bucket, use os atributos de recursos para condições do IAM.
Para conferir uma lista de todas as permissões individuais contidas em um papel, consulte Como receber os metadados do papel.
Role | Permissions |
---|---|
Logging Admin( Provides all permissions necessary to use all features of Cloud Logging. Lowest-level resources where you can grant this role:
|
|
Logs Bucket Writer( Ability to write logs to a log bucket. Lowest-level resources where you can grant this role:
|
|
Logs Configuration Writer( Provides permissions to read and write the configurations of logs-based metrics and sinks for exporting logs. Lowest-level resources where you can grant this role:
|
|
Log Field Accessor( Ability to read restricted fields in a log bucket. Lowest-level resources where you can grant this role:
|
|
Log Link Accessor( Ability to see links for a bucket. |
|
Logs Writer( Provides the permissions to write log entries. Lowest-level resources where you can grant this role:
|
|
Private Logs Viewer( Provides permissions of the Logs Viewer role and in addition, provides read-only access to log entries in private logs. Lowest-level resources where you can grant this role:
|
|
SQL Alert Writer Beta( Ability to write SQL Alerts. |
|
Logs View Accessor( Ability to read logs in a view. Lowest-level resources where you can grant this role:
|
|
Logs Viewer( Provides access to view logs. Lowest-level resources where you can grant this role:
|
|
As seções a seguir fornecem mais informações para ajudar você a decidir quais papéis se aplicam aos casos de uso dos principais.
Papéis do Logging
Para permitir que um usuário realize todas as ações no Logging, conceda o papel de administrador do Logging (
roles/logging.admin
).Para permitir que um usuário crie e modifique configurações de registro, conceda o papel de Gravador de configuração de registros (
roles/logging.configWriter
). Com essa função, você pode criar ou modificar o seguinte:- Coletores de registros
- Buckets de registros
- Visualizações de registro
- Conjuntos de dados vinculados
- Escopos de registro
Esse papel não é suficiente para criar métricas com base em registros ou políticas de alertas com base em registros. Para informações sobre os papéis necessários para essas tarefas, consulte Permissões para métricas com base em registros e Permissões para políticas de alertas com base em registros.
Para permitir que um usuário leia registros nos buckets
_Required
e_Default
ou use as páginas Análise de registros e Explorador de registros, conceda um dos seguintes papéis:- Para acessar todos os registros no bucket
_Required
e a visualização_Default
no bucket_Default
, conceda o papel de Visualizador de registros (roles/logging.viewer
). - Para acessar todos os registros nos buckets
_Required
e_Default
, incluindo os registros de acesso a dados, conceda o papel de leitor de registros particulares (roles/logging.privateLogViewer
).
- Para acessar todos os registros no bucket
Para permitir que um usuário leia registros em todas as visualizações de registro de um projeto, conceda a ele o papel de
roles/logging.viewAccessor
do IAM no projeto.Para permitir que um usuário leia apenas registros em uma visualização específica, você tem duas opções:
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.
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.
Para informações sobre como criar visualizações de registro e conceder acesso, consulte Configurar visualizações de registro em um bucket de registro.
- Para conceder a um usuário acesso a campos
LogEntry
restritos, se houver, em um determinado bucket de registros, conceda o papel de acessador de campo de registros (roles/logging.fieldAccessor
). Para mais informações, consulte Configurar o acesso no nível do campo.
Para permitir que um usuário grave registros usando a API Logging, conceda a função Gravador de registros (
roles/logging.logWriter
). Este papel não concede permissões de visualização.Para permitir que a conta de serviço de uma rota de sink envie registros para um bucket em outro projeto do Google Cloud, conceda à conta de serviço o papel de Gravador de bucket de registros (
roles/logging.bucketWriter
). Para instruções sobre como conceder permissões a uma conta de serviço, consulte Definir permissões de destino.
Papéis no nível do projeto
Para conceder acesso de leitura à maioria dos serviços do Google Cloud, conceda o papel de leitor (
roles/viewer
).Esse papel inclui todas as permissões concedidas pelo papel de leitor de registros (
roles/logging.viewer
).Para conceder acesso de editor à maioria dos serviços do Google Cloud, conceda o papel de editor (
roles/editor
).Esse papel inclui todas as permissões concedidas pelo papel de leitor de registros (
roles/logging.viewer
) e as permissões para gravar entradas de registro, excluir registros e criar métricas com base em registros. No entanto, esse papel não permite que os usuários criem coletores, leiam registros de auditoria de acesso a dados que estejam no bucket_Default
ou leiam registros que estejam em buckets de registro definidos pelo usuário.Para conceder acesso total à maioria dos serviços do Google Cloud, conceda o papel de proprietário (
roles/owner
).
Concedendo papéis
Para saber como conceder um papel ao principal, consulte Como conceder, alterar e revogar o acesso.
É possível atribuir vários papéis ao mesmo usuário. Para ver uma lista das permissões contidas em um papel, consulte Como receber os metadados do papel.
Se você está tentando acessar um recurso do Google Cloud e não tem as permissões necessárias, entre em contato com o principal listado como Proprietário do recurso.
Papéis personalizados
Para criar um papel personalizado com as permissões do Logging, siga estas etapas:
Para um papel que conceda permissões para a API Logging, escolha as permissões de permissões da API e siga as instruções para criar um papel personalizado.
Para um papel que conceda permissões para usar o Explorador de registros, escolha entre os grupos de permissões em Permissões do console e siga as instruções para criar um papel personalizado.
Para um papel que concede permissões para usar
gcloud logging
, consulte a seção Permissões de linha de comando nesta página e siga as instruções para criar um personalizado papel.
Para mais informações sobre papéis personalizados, consulte Noções básicas sobre papéis personalizados do IAM.
Permissões do Cloud Logging
A tabela a seguir é uma lista parcial das permissões necessárias para recursos específicos do Cloud Logging. Esta tabela pode ajudar a identificar as permissões necessárias para usar páginas como o Logs Explorer.
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 |
Conferir os registros de auditoria de acesso a dados | logging.privateLogEntries.list |
Conferir as métricas com base em registros | logging.logMetrics.{list, get} |
Mostrar coletores | logging.sinks.{list, get} |
Conferir o uso de registros | logging.usage.get |
Download de registros | logging.logEntries.{list, download}
Apenas uma dessas permissões é necessária para fazer o download de registros. Os papéis que contêm as permissões para fazer o download de registros precisam ser concedidos no nível do projeto. Não é possível fazer o download de registros se um papel com essas permissões for concedido no arquivo de política do IAM de uma visualização de registro. |
Conferir o escopo de registro padrão | observability.scopes.get |
Excluir registros | logging.exclusions.{list, create, get, update, delete}
Ao criar um papel personalizado que inclua permissões para
gerenciar filtros de exclusão, adicione as permissões |
Criar e usar coletores | logging.sinks.{list, create, get, update, delete}
Ao criar um coletor, você também precisa conceder à conta de serviço um papel do IAM que permita gravar entradas de registro no destino. Para mais informações, consulte Definir permissões de destino. Depois que suas entradas de registro forem roteadas para um destino compatível, o acesso às entradas de registro será controlado totalmente pelas permissões e papéis do IAM no destino. |
Criar alertas baseados em registros | Consulte Funções necessárias para criar e usar políticas de alertas com base em registros. |
Criar métricas com base em registros | logging.logMetrics.{list, create, get, update, delete}
Para informações sobre outros papéis do IAM que você precisa para criar e usar métricas com base em registros, consulte Papéis necessários para criar e usar métricas com base em registros. |
Salvar e usar consultas particulares | logging.queries.usePrivate logging.queries.{listShared,getShared} |
Salvar e usar consultas compartilhadas | logging.queries.{share, getShared, updateShared, deleteShared,
listShared} |
Usar consultas recentes | logging.queries.{create, list} |
Definir e gerenciar o escopo de registro padrão | observability.scopes.{get, update} |
Permissões para a linha de comando
Os comandos gcloud logging
são
controlados pelas permissões do IAM.
Para usar qualquer um dos comandos gcloud logging
, os principais precisam ter a
permissão serviceusage.services.use
.
Um principal também precisa ter o papel do IAM que corresponde ao recurso do registro e ao caso de uso. Para mais detalhes, consulte permissões da interface da linha de comando.
Papéis necessários para criar e usar métricas com base em registros
Veja a seguir um resumo das permissões e dos papéis comuns necessários ao principal para acessar métricas com base em registros:
O papel de Gravador de configuração de registros (
roles/logging.configWriter
) permite que os principais usuários listem, criem, acessem, atualizem e excluam métricas com base em registros.O papel de Visualizador de registros (
roles/logging.viewer
) contém permissões para visualizar as métricas atuais. Especificamente, um principal precisa das permissõeslogging.logMetrics.get
elogging.logMetrics.list
para visualizar as métricas atuais.O papel de Leitor do Monitoring (
roles/monitoring.viewer
) contém as permissões para ler dados de TimeSeries. Especificamente, um principal precisa da permissãomonitoring.timeSeries.list
para ler dados de série temporal.Os papéis de Administrador da geração de registros (
roles/logging.admin
), Editor do projeto (roles/editor
) e Proprietário do projeto (roles/owner
) têm as permissões para criar métricas com base em registros. Especificamente, um princípio precisa da permissãologging.logMetrics.create
para criar métricas baseadas em registros.
Papéis necessários para criar e usar políticas de alertas com base em registros
Para criar e gerenciar políticas de alertas com base em registros, um principal precisa dos seguintes papéis e permissões de registro e monitoramento:
-
Para receber as permissões necessárias para criar políticas de alerta baseadas em registros no Monitoramento e criar as regras de notificação de registro associadas, peça ao administrador para conceder a você os seguintes papéis do IAM no seu projeto:
-
Editor do AlertPolicy do Monitoring (
roles/monitoring.alertPolicyEditor
) -
Gravador de configuração de registros (
roles/logging.configWriter
)
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Esses papéis predefinidos contêm as permissões necessárias para criar políticas de alerta com base em registros no Monitoring e criar as regras de notificação de registro associadas. Para conferir as permissões exatas necessárias, expanda a seção Permissões necessárias:
Permissões necessárias
As permissões a seguir são necessárias para criar políticas de alertas com base em registros no Monitoring e as regras de notificação associadas ao Logging:
-
monitoring.alertPolicies.create
-
logging.notificationRules.create
Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.
-
Editor do AlertPolicy do Monitoring (
Se você criar a política de alertas na Google Cloud CLI, o seguinte papel ou permissão também será necessário:
-
Para receber a permissão necessária para criar uma política de alertas usando o Google Cloud CLI, peça ao administrador para conceder a você o Papel do IAM de Consumidor do Service Usage (
roles/serviceusage.serviceUsageConsumer
) no seu projeto. Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.Esse papel predefinido contém a permissão
serviceusage.services.use
, necessária para criar uma política de alertas usando a Google Cloud CLI.Também é possível conseguir essa permissão com papéis personalizados ou outros papéis predefinidos.
Se o projeto do Google Cloud já tiver canais de notificação, será possível configurar a política de alertas para usar um canal existente sem nenhuma outra função ou permissão. No entanto, se você precisar criar um canal de notificação para a política de alertas baseada em registros, será necessário ter o seguinte papel ou permissão:
-
Para receber a permissão necessária para criar um canal de notificação para uma política de alertas baseada em registros, peça ao administrador para conceder a você o Monitoring NotificationChannel Editor (
roles/monitoring.notificationChannelEditor
) do IAM no seu projeto.Esse papel predefinido contém a permissão
monitoring.notificationChannels.create
, que é necessária para criar um canal de notificação para uma política de alertas baseada em registros.
Permissões para políticas de alertas baseadas em SQL
As políticas de alerta baseadas em SQL avaliam os resultados de uma consulta SQL executada em dados de grupos de entradas de registro. Para informações sobre os papéis necessários para criar e gerenciar políticas de alertas baseadas em SQL, consulte a seção Antes de começar em Monitorar os resultados da consulta SQL com uma política de alertas.
Escopos de acesso do Logging
Escopos de acesso são o método legado de especificar permissões para as contas de serviço nas instâncias da 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 Escopos de acesso.