Controle de acesso

O Monitoring controla o acesso aos dados de monitoramento nos espaços de trabalho usando papéis e permissões do Cloud Identity and Access Management (Cloud IAM).

Visão geral

Para usar o Monitoring, é preciso ter as permissões apropriadas do Cloud IAM concedidas no espaço de trabalho.

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 funções, que agrupam várias permissões para facilitar o gerenciamento das mesmas. Para mais informações sobre esses conceitos, acesse a documentação do Cloud IAM sobre papéis, permissões e conceitos relacionados.

Os papéis para combinações de permissões comuns já estão predefinidos para você, mas também é possível criar combinações de permissões próprias criando papéis personalizados do Cloud IAM.

Papéis predefinidos

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

Monitoring

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

Código do papel
Nome do papel
Descrição
roles/monitoring.viewer
Visualizador do Monitoring
Oferece acesso somente leitura ao console do Stackdriver Monitoring e à API
roles/monitoring.editor
Editor do Monitoring
Oferece acesso de leitura e gravação ao console do Stackdriver Monitoring e à API e permite gravar dados de monitoramento em um espaço de trabalho
roles/monitoring.admin
Administrador do Monitoring
Oferece acesso total a todos os recursos do Monitoring

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

Código do papel
Nome do papel
Descrição
roles/monitoring.metricWriter
Gravador de métricas do Monitoring
Permite gravar dados de monitoramento em um espaço de trabalho. Não permite acesso ao console do Stackdriver Monitoring. Para contas de serviço

Políticas de alertas

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

Código do papel
Nome do papel
Descrição
roles/monitoring.alertPolicyViewer
Leitor do Monitoring AlertPolicy
Oferece acesso somente leitura a políticas de alertas
roles/monitoring.alertPolicyEditor
Editor do Monitoring AlertPolicy
Oferece acesso de leitura e gravação a políticas de alertas

Canais de notificação

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

Código do papel
Nome do papel
Descrição
roles/monitoring.notificationChannelViewer
Leitor do canal de notificação do Monitoring
Oferece acesso somente leitura a canais de notificação
roles/monitoring.notificationChannelEditor
Editor do canal de notificação do Monitoring
Oferece acesso de leitura e gravação a canais de notificação

Google Cloud Platform

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

Código do papel
Nome do papel
Descrição
roles/viewer
Visualizador do projeto
Oferece acesso somente leitura ao console do Stackdriver Monitoring e à API
roles/editor
Editor do projeto
Oferece acesso de leitura e gravação ao console do Stackdriver Monitoring e à API
roles/owner
Proprietário do projeto
Oferece acesso total ao console do Stackdriver Monitoring e à API

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, vá para 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 Cloud IAM que se aplicam ao Monitoring.

Permissões da API

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

Método da API Monitoring Permissão Tipo de recurso
projects.alertPolicies.create monitoring.alertPolicies.create projeto1
projects.alertPolicies.delete monitoring.alertPolicies.delete AlertPolicy
projects.alertPolicies.get monitoring.alertPolicies.get AlertPolicy
projects.alertPolicies.list monitoring.alertPolicies.list projeto1
projects.alertPolicies.patch monitoring.alertPolicies.update AlertPolicy
projects.groups.create monitoring.groups.create projeto1
projects.groups.delete monitoring.groups.delete Group
projects.groups.get monitoring.groups.get Group
projects.groups.list monitoring.groups.list projeto1
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 projeto1
projects.notificationChannels.create monitoring.notificationChannels.create projeto1
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 projeto1
projects.notificationChannels.patch monitoring.notificationChannels.update NotificationChannel
projects.notificationChannels.sendVerificationCode monitoring.notificationChannels.sendVerificationCode NotificationChannel
projects.notificationChannels.verify monitoring.notificationChannels.verify NotificationChannel
projects.timeSeries.create monitoring.timeSeries.create projeto
projects.timeSeries.list 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

1 O projeto precisa ser um espaço de trabalho.

Permissões do console do Stackdriver Monitoring

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

Na tabela a seguir, listamos as permissões exigidas para usar o console do Stackdriver Monitoring:

Atividade do console do Stackdriver Monitoring Permissões exigidas Por tipo de recurso
Acesso completo somente de leitura O conjunto de permissões incluído no papel roles/monitoring.viewer projeto1
Console de acesso de leitura e gravação O conjunto de permissões incluído no papel roles/monitoring.editor projeto1
Acesso total ao console O conjunto de permissões incluído no papel roles/monitoring.admin projeto1

1 O projeto precisa ser um espaço de trabalho.

Papéis

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

Os papéis podem ser atribuídos apenas para envolvidos no projeto, e os projetos precisam ser espaços de trabalho.

Monitoring

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

Código do papel
Nome do papel
Inclui as permissões
roles/monitoring.viewer
Leitor do Monitoring
monitoring.alertPolicies.get
monitoring.alertPolicies.list
monitoring.analyzedMetrics.get1
monitoring.analyzedMetrics.list1
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.timeSeries.list
monitoring.uptimeCheckConfigs.get
monitoring.uptimeCheckConfigs.list
resourcemanager.projects.get
resourcemanager.projects.list
stackdriver.projects.get
roles/monitoring.editor
Editor do Monitoring
monitoring.alertPolicies.create
monitoring.alertPolicies.delete
monitoring.alertPolicies.get
monitoring.alertPolicies.list
monitoring.alertPolicies.update
monitoring.analyzedMetrics.create1
monitoring.analyzedMetrics.delete1
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.timeSeries.create
monitoring.timeSeries.list
monitoring.uptimeCheckConfigs.create
monitoring.uptimeCheckConfigs.delete
monitoring.uptimeCheckConfigs.get
monitoring.uptimeCheckConfigs.list
monitoring.uptimeCheckConfigs.update
resourcemanager.projects.get
resourcemanager.projects.list
stackdriver.projects.edit
stackdriver.projects.get
stackdriver.resourceMetadata.write
roles/monitoring.admin
Administrador do Monitoring
As permissões em roles/monitoring.editor e ainda:
monitoring.notificationChannels.getVerificationCode

1 Essas permissões existem para dar suporte ao console do Stackdriver Monitoring. Não é possível usá-las em papéis personalizados.

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

Código do papel
Nome do papel
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:

Código do papel
Nome do papel
Inclui as permissões
roles/monitoring.alertPolicyViewer
Leitor de AlertPolicy do Monitoring
monitoring.alertPolicies.get
monitoring.alertPolicies.list
roles/monitoring.alertPolicyEditor
Editor do Monitoring AlertPolicy
monitoring.alertPolicies.create
monitoring.alertPolicies.delete
monitoring.alertPolicies.get
monitoring.alertPolicies.list
monitoring.alertPolicies.update

Canais de notificação

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

Código do papel
Nome do papel
Inclui as permissões
roles/monitoring.notificationChannelViewer
Leitor do canal de notificação do Monitoring
monitoring.notificationChannelDescriptors.get
monitoring.notificationChannelDescriptors.list
monitoring.notificationChannels.get
monitoring.notificationChannels.list
roles/monitoring.notificationChannelEditor
Editor do canal de notificação 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

Google Cloud Platform

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

Código do papel
Nome do papel
Inclui as permissões
roles/viewer
Visualizador do projeto
As permissões do Monitoring são exatamente as permissões em roles/monitoring.viewer.
roles/editor
Editor do projeto
As permissões do Monitoring são iguais às de roles/monitoring.editor.
roles/owner
Proprietário do projeto
As permissões do Monitoring são as mesmas que em roles/editor.

Conceder papéis do Cloud 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 MetricDescriptors usando a API, esse usuário deve ter as Permissões do Cloud IAM monitoring.metricDescriptors. apropriadas.* Elas podem ser fornecidas concedendo-se os papéis predefinidos de Leitor do Monitoring (monitoring.viewer) e Editor do Monitoring (monitoring.editor). Para mais informações, acesse as permissões da API.

Essas permissões podem ser concedidas usando a ferramenta de linha de comando gcloud do Cloud SDK ou o Console do Google Cloud Platform (Console do GCP).

Cloud SDK

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"

Para confirmar os papéis concedidos, use o comando gcloud projects get-iam-policy:

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

Console do GCP

  1. Acesse o Console do GCP.

    Acessar o Console do GCP

  2. Se necessário, clique na lista suspensa de projetos do GCP e selecione o nome do projeto no qual quer ativar a API.

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

  4. Clique em IAM e administrador.

  5. Se o usuário não estiver presente, clique no botão Adicionar e, em seguida, clique na lista suspensa ao lado da opção Selecionar um papel. Caso contrário, clique para alternar na coluna Papéis ao lado do usuário existente cujas permissões você quer editar.

  6. No painel Gerenciar papéis, mova o ponteiro para o lado esquerdo e role até Monitoring.

  7. No painel Gerenciar papéis, mova o ponteiro para o lado direito e selecione 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 concede permissões para o console do Stackdriver Monitoring, escolha entre os grupos de permissão na seção Permissões do console do Stackdriver 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 que em roles/monitoring.viewer.
https://www.googleapis.com/auth/monitoring.write As mesmas permissões que em 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 Cloud IAM da conta de serviço são fáceis de configurar e alterar, é recomendável dar às suas instâncias da VM o escopo de acesso mais poderoso (cloud-platform) e, em seguida, usar os papéis do Cloud IAM para restringir o acesso às APIs e operações específicas. Para detalhes, consulte Permissões da conta de serviço.

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

Enviar comentários sobre…

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