Controle de acesso

Nesta página, descrevemos os papéis e permissões do gerenciamento de identidade e acesso (IAM, na sigla em inglês) usados pelo Cloud Monitoring. Ela é destinada a administradores que configuram e concedem papéis e permissões.

VPC Service Controls

Para ter mais acesso de controle aos dados de monitoramento, use o VPC Service Controls, além do IAM.

O VPC Service Controls oferece segurança adicional para o Cloud Monitoring, o que ajuda a reduzir o risco de filtração externa de dados. Usando o VPC Service Controls, é possível adicionar um escopo de métricas a um perímetro de serviço que protege os recursos e serviços do Cloud Monitoring de solicitações originadas fora do perímetro.

Saiba mais sobre perímetros de serviço na documentação de configuração dos perímetros de serviço do VPC Service Controls.

Para informações sobre o suporte do Monitoring para o VPC Service Controls, incluindo limitações conhecidas, consulte a documentação do VPC Service Controls do Monitoring.

Visão geral do IAM do Monitoring

Para usar o Monitoring, é preciso ter as permissões apropriadas do IAM.

Em geral, cada método REST em uma API tem uma permissão associada, e você precisa ter permissão para usar o método correspondente. As permissões não são concedidas diretamente aos usuários. Em vez disso, elas são concedidas indiretamente por meio de papéis, que agrupam várias permissões para facilitar o gerenciamento delas. Para mais informações sobre esses conceitos, consulte Conceitos relacionados ao gerenciamento de acesso.

Os papéis que fornecem combinações comuns de permissões já estão predefinidos para você. No entanto, também é possível criar suas próprias combinações de permissões gerando papéis personalizados do IAM.

Papéis predefinidos

Os papéis do IAM a seguir são predefinidos pelo Cloud Monitoring. Eles concedem permissões apenas para o Monitoring.

Monitoring

Os papéis a seguir concedem permissões gerais para o Monitoring:

Nome
Cargo
Descrição
roles/monitoring.viewer
Visualizador do Monitoring
Concede a você acesso somente leitura ao Monitoring no Console do Google Cloud e na API.
roles/monitoring.editor
Editor do Monitoring
Oferece acesso de leitura e gravação ao Monitoring no Console do Google Cloud e na API
e permite modificar um escopo de métricas.
roles/monitoring.admin
Administrador do Monitoring
Oferece acesso total ao Monitoring no Console do Google Cloud e permite que você
modifique um escopo de métricas.

O papel a seguir é usado pelas contas de serviço para acesso somente de gravação:

Nome
Cargo
Descrição
roles/monitoring.metricWriter
Gravador de métricas do Monitoring
Permite gravar dados de monitoramento em um escopo de métricas.
não permite acesso ao Monitoring no Console do Google Cloud. Para contas de serviço

Políticas de alertas

Os papéis a seguir concedem permissões apenas para políticas de alertas:

Nome
Cargo
Descrição
roles/monitoring.alertPolicyViewer
Visualizador de AlertPolicy do Monitoring
Oferece acesso somente leitura a políticas de alertas
roles/monitoring.alertPolicyEditor
Editor de AlertPolicy do Monitoring
Oferece acesso de leitura e gravação a políticas de alertas

Painéis

Os papéis a seguir concedem permissões somente para painéis:

Nome
Cargo
Descrição
roles/monitoring.dashboardViewer
Visualizador de configuração de painel do Monitoring
Oferece acesso somente leitura às configurações do painel
roles/monitoring.dashboardEditor
Editor de configuração de painel do Monitoring
Oferece acesso de leitura e gravação às configurações do painel

Canais de notificação

Os papéis a seguir concedem permissões apenas para canais de notificação:

Nome
Cargo
Descrição
roles/monitoring.notificationChannelViewer
Visualizador de NotificationChannel do Monitoring
Oferece acesso somente leitura a canais de notificação
roles/monitoring.notificationChannelEditor
Editor de NotificationChannel do Monitoring
Oferece acesso de leitura e gravação a canais de notificação

Monitoramento do serviço

Os papéis a seguir concedem permissões para o gerenciamento de serviços:

Nome
Cargo
Descrição
roles/monitoring.servicesViewer
Visualizador dos serviços do Monitoring
Oferece acesso somente leitura aos serviços
roles/monitoring.servicesEditor
Editor dos serviços do Monitoring
Oferece acesso de leitura e gravação aos serviços

Para mais informações sobre o monitoramento de serviços, consulte Monitoramento de SLO.

Configurações da verificação de tempo de atividade

Os papéis a seguir concedem permissões somente para configurações da verificação de tempo de atividade:

Nome
Cargo
Descrição
roles/monitoring.uptimeCheckConfigViewer
Visualizador de configurações de verificação de tempo de atividade do Monitoring
Oferece acesso somente leitura a configurações de verificação de tempo de atividade
roles/monitoring.uptimeCheckConfigEditor
Editor de configurações de verificação de tempo de atividade do Monitoring
Oferece acesso de leitura e gravação a configurações de verificação de tempo de atividade

Configurações do escopo das métricas

Para gerenciar um escopo de métricas, é preciso usar o Console do Google Cloud.

Os papéis a seguir concedem permissões gerais para escopos de métricas:

Nome
Cargo
Descrição
roles/monitoring.viewer
Visualizador do Monitoring
Concede a você acesso somente leitura ao Monitoring no Console do Google Cloud e na API.
roles/monitoring.editor
Editor do Monitoring
Oferece acesso de leitura e gravação ao Monitoring no Console do Google Cloud e na API
e permite modificar um escopo de métricas.
roles/monitoring.admin
Administrador do Monitoring
Oferece acesso total ao Monitoring no Console do Google Cloud e permite que você
modifique um escopo de métricas.

Para adicionar (ou remover) um projeto a um escopo de métricas, você precisa ter um dos seguintes papéis do IAM no projeto de escopo e no projeto a ser adicionado (ou removido):

  • Editor do Monitoring
  • Administrador do Monitoring
  • Proprietário do projeto

Google Cloud

Os papéis a seguir concedem permissões para muitos serviços e recursos no Google Cloud, incluindo o Monitoring:

Nome
Cargo
Inclui as permissões
roles/viewer
Leitor
As permissões do Monitoring são iguais às de roles/monitoring.viewer.
roles/editor
Editor
As permissões do Monitoring são iguais às de roles/monitoring.editor.
roles/owner
Proprietário
As permissões do Monitoring são iguais às de roles/editor.

Papéis personalizados

É possível também criar seus próprios papéis personalizados que contenham listas de permissões. Para mais detalhes sobre papéis e permissões, consulte Permissões e papéis e Papéis personalizados nesta página.

Permissões e papéis

Nesta seção, listamos as permissões e papéis do IAM que se aplicam ao Monitoring.

Permissões da API

Cada método da API Monitoring requer uma permissão específica do IAM, conforme listado na tabela a seguir.

Método da API Monitoring Permissão Resource type
projects.alertPolicies.create monitoring.alertPolicies.create projeto
projects.alertPolicies.delete monitoring.alertPolicies.delete AlertPolicy
projects.alertPolicies.get monitoring.alertPolicies.get AlertPolicy
projects.alertPolicies.list monitoring.alertPolicies.list projeto
projects.alertPolicies.patch monitoring.alertPolicies.update AlertPolicy
projects.dashboards.create monitoring.dashboards.create projeto
projects.dashboards.delete monitoring.dashboards.delete projeto
projects.dashboards.get monitoring.dashboards.get projeto
projects.dashboards.list monitoring.dashboards.list projeto
projects.dashboards.patch monitoring.dashboards.update projeto
projects.groups.create monitoring.groups.create projeto
projects.groups.delete monitoring.groups.delete Group
projects.groups.get monitoring.groups.get Group
projects.groups.list monitoring.groups.list projeto
projects.groups.update monitoring.groups.update Group
projects.groups.members.list monitoring.groups.get Group
projects.metricDescriptors.create monitoring.metricDescriptors.create projeto
projects.metricDescriptors.delete monitoring.metricDescriptors.delete MetricDescriptor
projects.metricDescriptors.get monitoring.metricDescriptors.get MetricDescriptor
projects.metricDescriptors.list monitoring.metricDescriptors.list projeto
projects.monitoredResourceDescriptors.get monitoring.monitoredResourceDescriptors.get MonitoredResourceDescriptor
projects.monitoredResourceDescriptors.list monitoring.monitoredResourceDescriptors.list projeto
projects.notificationChannelDescriptors.get monitoring.notificationChannelDescriptors.get NotificationChannelDescriptor
projects.notificationChannelDescriptors.list monitoring.notificationChannelDescriptors.list projeto
projects.notificationChannels.create monitoring.notificationChannels.create projeto
projects.notificationChannels.delete monitoring.notificationChannels.delete NotificationChannel
projects.notificationChannels.get monitoring.notificationChannels.get NotificationChannel
projects.notificationChannels.getVerificationCode monitoring.notificationChannels.getVerificationCode NotificationChannel
projects.notificationChannels.list monitoring.notificationChannels.list projeto
projects.notificationChannels.patch monitoring.notificationChannels.update NotificationChannel
projects.notificationChannels.sendVerificationCode monitoring.notificationChannels.sendVerificationCode NotificationChannel
projects.notificationChannels.verify monitoring.notificationChannels.verify NotificationChannel
projects.services.create monitoring.services.create projeto
projects.services.delete monitoring.services.delete Service
projects.services.get monitoring.services.get Service
projects.services.list monitoring.services.list projeto
projects.services.patch monitoring.services.update Service
projects.services.serviceLevelObjectives.create monitoring.slos.create projeto
projects.services.serviceLevelObjectives.delete monitoring.slos.delete ServiceLevelObjective
projects.services.serviceLevelObjectives.get monitoring.slos.get ServiceLevelObjective
projects.services.serviceLevelObjectives.list monitoring.slos.list projeto
projects.services.serviceLevelObjectives.patch monitoring.slos.update ServiceLevelObjective
projects.timeSeries.create monitoring.timeSeries.create projeto
projects.timeSeries.list monitoring.timeSeries.list projeto, pasta, organização
projects.timeSeries.query monitoring.timeSeries.list projeto
projects.uptimeCheckConfigs.create monitoring.uptimeCheckConfigs.create UptimeCheckConfig
projects.uptimeCheckConfigs.delete monitoring.uptimeCheckConfigs.delete UptimeCheckConfig
projects.uptimeCheckConfigs.get monitoring.uptimeCheckConfigs.get UptimeCheckConfig
projects.uptimeCheckConfigs.list monitoring.uptimeCheckConfigs.list UptimeCheckConfig
projects.uptimeCheckConfigs.patch monitoring.uptimeCheckConfigs.update UptimeCheckConfig

Permissões do console para o Monitoring

Cada recurso do Monitoring no Console do Google Cloud requer que você tenha a permissão da API usada para implementar o recurso. Por exemplo, a capacidade de procurar grupos exige que você tenha permissão para os métodos list e get aplicáveis aos grupos e aos membros deles. Você pode perder a funcionalidade se as permissões necessárias forem revogadas.

A tabela a seguir lista as permissões necessárias para usar o Monitoring no Console do Google Cloud:

Atividade Permissões necessárias Por tipo de recurso
Acesso completo somente leitura O conjunto de permissões incluídas no papel roles/monitoring.viewer project.
Console de acesso de leitura e gravação O conjunto de permissões incluídas no papel roles/monitoring.editor project.
Acesso total ao console O conjunto de permissões incluídas no papel roles/monitoring.admin project.

Papéis

Na tabela a seguir, listamos os papéis do IAM que concedem acesso ao Monitoring e as permissões associadas a cada papel. Vários desses papéis são gradativos: por exemplo, roles/monitoring.editor inclui todas as permissões de roles/monitoring.viewer e mais um conjunto de permissões.

É possível atribuir os papéis apenas para envolvidos no projeto.

Monitoramento

Os papéis do Monitoring incluem estas permissões:

Nome
Cargo
Inclui as permissões
roles/monitoring.viewer
Visualizador do Monitoring
cloudnotifications.activities.list
monitoring.alertPolicies.get
monitoring.alertPolicies.list
monitoring.dashboards.get
monitoring.dashboards.list
monitoring.groups.get
monitoring.groups.list
monitoring.metricDescriptors.get
monitoring.metricDescriptors.list
monitoring.monitoredResourceDescriptors.get
monitoring.monitoredResourceDescriptors.list
monitoring.notificationChannelDescriptors.get
monitoring.notificationChannelDescriptors.list
monitoring.notificationChannels.get
monitoring.notificationChannels.list
monitoring.publicWidgets.get
monitoring.publicWidgets.list
monitoring.services.get
monitoring.services.list
monitoring.slos.get
monitoring.slos.list
monitoring.timeSeries.list
monitoring.uptimeCheckConfigs.get
monitoring.uptimeCheckConfigs.list
resourcemanager.projects.get
resourcemanager.projects.list
stackdriver.projects.get
roles/monitoring.editor
Editor do Monitoring
cloudnotifications.activities.list
monitoring.alertPolicies.create
monitoring.alertPolicies.delete
monitoring.alertPolicies.get
monitoring.alertPolicies.list
monitoring.alertPolicies.update
monitoring.dashboards.create
monitoring.dashboards.delete
monitoring.dashboards.get
monitoring.dashboards.list
monitoring.dashboards.update
monitoring.groups.create
monitoring.groups.delete
monitoring.groups.get
monitoring.groups.list
monitoring.groups.update
monitoring.metricDescriptors.create
monitoring.metricDescriptors.delete
monitoring.metricDescriptors.get
monitoring.metricDescriptors.list
monitoring.monitoredResourceDescriptors.get
monitoring.monitoredResourceDescriptors.list
monitoring.notificationChannelDescriptors.list
monitoring.notificationChannelDescriptors.get
monitoring.notificationChannels.create
monitoring.notificationChannels.delete
monitoring.notificationChannels.get
monitoring.notificationChannels.list
monitoring.notificationChannels.sendVerificationCode
monitoring.notificationChannels.update
monitoring.notificationChannels.verify
monitoring.publicWidgets.create
monitoring.publicWidgets.delete
monitoring.publicWidgets.get
monitoring.publicWidgets.list
monitoring.publicWidgets.update
monitoring.services.create
monitoring.services.delete
monitoring.services.get
monitoring.services.list
monitoring.services.update
monitoring.slos.create
monitoring.slos.delete
monitoring.slos.get
monitoring.slos.list
monitoring.slos.update
monitoring.timeSeries.create
monitoring.timeSeries.list
monitoring.uptimeCheckConfigs.create
monitoring.uptimeCheckConfigs.delete
monitoring.uptimeCheckConfigs.get
monitoring.uptimeCheckConfigs.list
monitoring.uptimeCheckConfigs.update
opsconfigmonitoring.resourceMetadata.write
opsconfigmonitoring.resourceSnapshot.create
resourcemanager.projects.get
resourcemanager.projects.list
serviceusage.services.enable
stackdriver.projects.edit
stackdriver.projects.get
stackdriver.resourceMetadata.write
roles/monitoring.admin
Administrador do Monitoring
As permissões em roles/monitoring.editor, além do seguinte:
monitoring.notificationChannels.getVerificationCode

O papel a seguir é usado pelas contas de serviço para acesso somente de gravação:

Nome
Cargo
Inclui as permissões
roles/monitoring.metricWriter
Gravador de métricas do Monitoring
monitoring.metricDescriptors.create
monitoring.metricDescriptors.get
monitoring.metricDescriptors.list
monitoring.monitoredResourceDescriptors.get
monitoring.monitoredResourceDescriptors.list
monitoring.timeSeries.create

Políticas de alertas

Os papéis de política de alertas incluem estas permissões:

Nome
Cargo
Inclui as permissões
roles/monitoring.alertPolicyViewer
Visualizador de AlertPolicy do Monitoring
monitoring.alertPolicies.get
monitoring.alertPolicies.list
roles/monitoring.alertPolicyEditor
Editor de AlertPolicy do Monitoring
monitoring.alertPolicies.create
monitoring.alertPolicies.delete
monitoring.alertPolicies.get
monitoring.alertPolicies.list
monitoring.alertPolicies.update

Painéis

Os papéis dos painéis incluem estas permissões:

Nome
Cargo
Inclui as permissões
roles/monitoring.dashboardViewer
Visualizador de configuração de painel do Monitoring
monitoring.dashboards.get
monitoring.dashboards.list
roles/monitoring.dashboardEditor
Editor de configuração de painel do Monitoring
monitoring.dashboards.get
monitoring.dashboards.list
monitoring.dashboards.create
monitoring.dashboards.delete
monitoring.dashboards.update

Canais de notificação

Os papéis de canais de notificação incluem estas permissões:

Nome
Cargo
Inclui as permissões
roles/monitoring.notificationChannelViewer
Visualizador de NotificationChannel do Monitoring
monitoring.notificationChannelDescriptors.get
monitoring.notificationChannelDescriptors.list
monitoring.notificationChannels.get
monitoring.notificationChannels.list
roles/monitoring.notificationChannelEditor
Editor de NotificationChannel do Monitoring
monitoring.notificationChannelDescriptors.get
monitoring.notificationChannelDescriptors.list
monitoring.notificationChannels.create
monitoring.notificationChannels.delete
monitoring.notificationChannels.get
monitoring.notificationChannels.list
monitoring.notificationChannels.sendVerificationCode
monitoring.notificationChannels.update
monitoring.notificationChannels.verify

Monitoramento do serviço

Os papéis de monitoramento de serviço incluem estas permissões:

Nome
Cargo
Inclui as permissões
roles/monitoring.servicesViewer
Visualizador dos serviços do Monitoring
monitoring.services.get
monitoring.services.list
monitoring.slos.get
monitoring.slos.list
roles/monitoring.servicesEditor
Editor dos serviços do Monitoring
monitoring.services.create
monitoring.services.delete
monitoring.services.get
monitoring.services.list
monitoring.services.update
monitoring.slos.create
monitoring.slos.delete
monitoring.slos.get
monitoring.slos.list
monitoring.slos.update

Configurações da verificação de tempo de atividade

Os papéis de configuração de verificações de tempo de atividade incluem estas permissões:

Nome
Cargo
Inclui as permissões
roles/monitoring.uptimeCheckConfigViewer
Visualizador de configurações de verificação de tempo de atividade do Monitoring
monitoring.uptimeCheckConfigs.get
monitoring.uptimeCheckConfigs.list
roles/monitoring.uptimeCheckConfigEditor
Editor de configurações de verificação de tempo de atividade do Monitoring
monitoring.uptimeCheckConfigs.create
monitoring.uptimeCheckConfigs.delete
monitoring.uptimeCheckConfigs.get
monitoring.uptimeCheckConfigs.list
monitoring.uptimeCheckConfigs.update

Configuração do escopo das métricas

Para gerenciar um escopo de métricas, é preciso usar o Console do Google Cloud. Para informações sobre os papéis necessários para modificar um escopo de métricas, consulte Papéis de escopo de métricas.

Google Cloud

Os papéis do Google Cloud incluem estas permissões:

Nome
Cargo
Inclui as permissões
roles/viewer
Leitor
As permissões do Monitoring são iguais às de roles/monitoring.viewer.
roles/editor
Editor
As permissões do Monitoring são iguais às de roles/monitoring.editor.
roles/owner
Proprietário
As permissões do Monitoring são iguais às de roles/editor.

Como conceder papéis do IAM

Os proprietários do projeto, os editores e as contas de serviço padrão do Compute Engine e do App Engine já têm as permissões necessárias. No entanto, para outras contas de usuário, talvez seja necessário conceder esses papéis explicitamente.

Por exemplo, para que uma conta de usuário leia ou grave descritores de métricas usando a API do Monitoring, esse usuário precisa ter as permissões de IAM monitoring.metricDescriptors.* apropriadas. Elas são fornecidas por meio da atribuição dos papéis predefinidos Visualizador do Monitoring (roles/monitoring.viewer) e Editor do Monitoring (roles/monitoring.editor). Para mais informações, consulte as permissões da API.

Essas permissões são concedidas usando a ferramenta de linha de comando da gcloud do SDK do Cloud ou o Console do Google Cloud.

SDK do Cloud

Use o comando gcloud projects add-iam-policy-binding para conceder o papel monitoring.viewer ou monitoring.editor.

Exemplo:

export PROJECT_ID="my-test-project"
export EMAIL_ADDRESS="myuser@gmail.com"
gcloud projects add-iam-policy-binding \
      $PROJECT_ID \
      --member="user:$EMAIL_ADDRESS" \
      --role="roles/monitoring.editor"

Use o comando gcloud projects get-iam-policy para confirmar os papéis concedidos:

export PROJECT_ID="my-test-project"
gcloud projects get-iam-policy $PROJECT_ID

Console do Cloud

  1. Acesse o Console do Cloud:

    Acessar o Console do Cloud

  2. Se necessário, clique na lista suspensa de projetos do Google Cloud e selecione o nome do projeto em que você quer ativar a API.

  3. Para expandir o menu de navegação, clique em Menu .

  4. Clique em IAM e Admin.

  5. Se o usuário for um membro, clique em Editar para modificar as permissões. Você pode modificar o papel atual ou adicionar um papel adicional. Para salvar as alterações, clique em Salvar.

  6. Se o usuário não for membro, faça o seguinte:

    1. Clique em Adicionar.
    2. Insira o nome de usuário na caixa de texto Novos membros.
    3. Em Selecionar um papel, clique no menu .
    4. Na barra de filtro , digite o papel apropriado:
      • O Editor do Monitoring concede acesso de leitura e gravação.
      • O Leitor do Monitoring concede acesso somente leitura.

Papéis personalizados

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

  • Para um papel que conceda permissões apenas para a API Monitoring, escolha as permissões na seção Permissões da API.

  • Para um papel que conceda permissões para o Monitoring no Console do Google Cloud, escolha entre os grupos de permissões na seção Permissões do Console para o Monitoring.

  • Para conceder a capacidade de gravar dados de monitoramento, inclua as permissões do papel roles/monitoring.metricWriter na seção Papéis.

Para mais informações sobre papéis personalizados, consulte Como compreender papéis personalizadas do IAM.

Escopos de acesso do Compute Engine

Os escopos de acesso são o método legado de especificar permissões para as instâncias de VM do Compute Engine. Os escopos de acesso a seguir se aplicam ao Monitoring:

Escopo de acesso Permissões concedidas
https://www.googleapis.com/auth/monitoring.read As mesmas permissões de roles/monitoring.viewer.
https://www.googleapis.com/auth/monitoring.write As mesmas permissões de roles/monitoring.metricWriter.
https://www.googleapis.com/auth/monitoring Acesso completo ao Monitoring.
https://www.googleapis.com/auth/cloud-platform Acesso completo a todas as APIs do Cloud ativadas.

Para mais detalhes, consulte Escopos de acesso.

Prática recomendada. Como os papéis do IAM da conta de serviço são fáceis de configurar e alterar, uma prática recomendada é fornecer às instâncias de VM o escopo de acesso mais avançado, cloud-platform. Além disso, use os papéis do IAM para restringir o acesso. APIs e operações específicas. Para mais detalhes, consulte Permissões da conta de serviço.