O Cloud Monitoring controla o acesso a dados de monitoramento nos espaços de trabalho. Para isso, são usados os papéis e permissões de gerenciamento de identidade e acesso (IAM, na sigla em inglês).
VPC Service Controls
Além do IAM, o VPC Service Controls pode ser usado para controlar melhor o acesso aos dados de monitoramento.
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. Ao usar o VPC Service Controls, você pode adicionar os espaços de trabalho a perímetros de serviço que protegem os recursos e serviços do Cloud Monitoring de solicitações originadas fora do perímetro.
Para saber mais sobre os perímetros de serviço, consulte a documentação de configuração do perímetro de serviço do VPC Service Controls.
Para mais detalhes 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 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 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:
ID do papel Nome do papel |
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 criar um espaço de trabalho. |
roles/monitoring.admin Administrador do Monitoring |
Oferece acesso total ao Monitoring no Console do Google Cloud e permite criar um espaço de trabalho. |
O papel a seguir é usado pelas contas de serviço para acesso somente de gravação:
ID 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 o 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:
ID do papel Nome do papel |
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:
ID do papel Nome do papel |
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:
ID do papel Nome do papel |
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:
ID do papel Nome do papel |
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:
ID do papel Nome do papel |
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 |
Espaços de trabalho
Para criar ou gerenciar um espaço de trabalho, você precisa usar o Console do Google Cloud. Para informações sobre os papéis necessários para criar um espaço de trabalho, consulte papéis predefinidos do Monitoring.
Google Cloud
Os papéis a seguir concedem permissões para muitos serviços e recursos no Google Cloud, incluindo o Monitoring:
ID do papel Nome do papel |
Descrição |
---|---|
roles/viewer Visualizador do projeto |
Concede a você acesso somente leitura ao Monitoring no Console do Google Cloud e na API. |
roles/editor Editor do projeto |
Concede acesso de leitura e gravação ao Monitoring no Console do Google Cloud e na API e permite que você use um espaço de trabalho existente. Não é possível criar um espaço de trabalho com esse papel. |
roles/owner Proprietário do projeto |
Oferece acesso total ao Monitoring no Console do Google Cloud e na API e permite criar um espaço de trabalho. |
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 | Tipo de recurso |
---|---|---|
projects.alertPolicies.create |
monitoring.alertPolicies.create |
project1 |
projects.alertPolicies.delete |
monitoring.alertPolicies.delete |
AlertPolicy |
projects.alertPolicies.get |
monitoring.alertPolicies.get |
AlertPolicy |
projects.alertPolicies.list |
monitoring.alertPolicies.list |
project1 |
projects.alertPolicies.patch |
monitoring.alertPolicies.update |
AlertPolicy |
projects.dashboards.create |
monitoring.dashboards.create |
project1 |
projects.dashboards.delete |
monitoring.dashboards.delete |
project1 |
projects.dashboards.get |
monitoring.dashboards.get |
project1 |
projects.dashboards.list |
monitoring.dashboards.list |
project1 |
projects.dashboards.patch |
monitoring.dashboards.update |
project1 |
projects.groups.create |
monitoring.groups.create |
project1 |
projects.groups.delete |
monitoring.groups.delete |
Group |
projects.groups.get |
monitoring.groups.get |
Group |
projects.groups.list |
monitoring.groups.list |
project1 |
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 |
project1 |
projects.notificationChannels.create |
monitoring.notificationChannels.create |
project1 |
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 |
project1 |
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 |
project1 |
projects.services.delete |
monitoring.services.delete |
Service |
projects.services.get |
monitoring.services.get |
Service |
projects.services.list |
monitoring.services.list |
project1 |
projects.services.patch |
monitoring.services.update |
Service |
projects.services.serviceLevelObjectives.create |
monitoring.slos.create |
project1 |
projects.services.serviceLevelObjectives.delete |
monitoring.slos.delete |
ServiceLevelObjective |
projects.services.serviceLevelObjectives.get |
monitoring.slos.get |
ServiceLevelObjective |
projects.services.serviceLevelObjectives.list |
monitoring.slos.list |
project1 |
projects.services.serviceLevelObjectives.patch |
monitoring.slos.update |
ServiceLevelObjective |
projects.timeSeries.create |
monitoring.timeSeries.create |
projeto |
projects.timeSeries.list |
monitoring.timeSeries.list |
projeto |
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 |
1 O projeto precisa estar em um espaço de trabalho.
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:
activity | Permissões exigidas | Por tipo de recurso |
---|---|---|
Acesso completo somente leitura | O conjunto de permissões incluídas no papel roles/monitoring.viewer |
projeto1. |
Console de acesso de leitura e gravação | O conjunto de permissões incluídas no papel roles/monitoring.editor |
projeto1. |
Acesso total ao console | O conjunto de permissões incluídas no papel roles/monitoring.admin |
projeto1. |
1 O projeto precisa estar em um espaço de trabalho.
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, e os projetos precisam estar em espaços de trabalho.
Monitoring
Os papéis do Monitoring incluem estas permissões:
ID do papel Nome do papel |
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 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:
ID 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:
ID do papel Nome do papel |
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:
ID do papel Nome do papel |
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:
ID do papel Nome do papel |
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:
ID do papel Nome do papel |
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:
ID do papel Nome do papel |
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ções do espaço de trabalho
Para criar ou gerenciar um espaço de trabalho, você precisa usar o Console do Google Cloud. Para informações sobre os papéis necessários para criar um espaço de trabalho, consulte papéis predefinidos do Monitoring.
Google Cloud
Os papéis do Google Cloud incluem estas permissões:
ID do papel Nome do papel |
Inclui as permissões |
---|---|
roles/viewer Visualizador do projeto |
As permissões do Monitoring são iguais às de 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 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.
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"
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
Acesse o Console do Cloud:
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.
Para expandir o menu de navegação, clique em Menu arrow_drop_down.
Clique em IAM e Admin.
Se o usuário for um membro, clique em Editar edit para modificar as permissões. Você pode modificar o papel atual ou adicionar um papel adicional. Para salvar as alterações, clique em Salvar.
Se o usuário não for membro, faça o seguinte:
- Clique em Adicionar.
- Insira o nome de usuário na caixa de texto Novos membros.
- Em Selecionar um papel, clique no menu arrow_drop_down.
- Na barra de filtro filter_list, 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.