Guía de control de acceso

Monitoring controla el acceso a los datos de supervisión en lugares de trabajo con las funciones y permisos de Cloud Identity and Access Management (Cloud IAM).

Descripción general

Si quieres usar Monitoring, debes tener los permisos de Cloud IAM adecuados y otorgados en el lugar de trabajo para la operación o función en cuestión.

En general, cada método REST en una API tiene un permiso asociado y debes tener el permiso para usar el método correspondiente. Los permisos no se otorgan directamente a los usuarios, en cambio, los permisos se otorgan indirectamente a través de las funciones, que agrupan múltiples permisos para facilitar su administración. Para obtener más información sobre estos conceptos, consulta la documentación de Cloud IAM sobre funciones, permisos y conceptos relacionados.

Las funciones para las combinaciones comunes de permisos vienen predefinidas, pero también puedes crear funciones personalizadas de Cloud IAM y definir tus propias combinaciones.

Funciones predefinidas

Las siguientes funciones de Cloud IAM están predefinidas por Monitoring. Otorgan permisos solo para Monitoring.

Monitoring

Las siguientes funciones otorgan permisos para Monitoring:

ID de función
Nombre de la función
Descripción
roles/monitoring.viewer
Lector de Monitoring
Te da acceso de solo lectura a la API y la consola de Stackdriver Monitoring.
roles/monitoring.editor
Editor de Monitoring
Te da acceso de solo lectura y escritura a la consola y a la API de Stackdriver Monitoring, y te permite escribir datos de monitoreo en un lugar de trabajo.
roles/monitoring.admin
Administrador de Monitoring
Te da acceso completo a todas las funciones de Monitoring.

Las cuentas de servicio usan la siguiente función para el acceso de solo escritura:

ID de función
Nombre de la función
Descripción
roles/monitoring.metricWriter
Escritor de métricas de Monitoring
Permite escribir datos de supervisión en un lugar de trabajo. No permite el acceso a la consola de Stackdriver Monitoring. Para cuentas de servicio.

Políticas de alertas

Las siguientes funciones otorgan permisos solo para políticas de alertas:

ID de función
Nombre de la función
Descripción
roles/monitoring.alertPolicyViewer
Lector de políticas de alertas de Monitoring
Te da acceso de solo lectura a las políticas de alertas.
roles/monitoring.alertPolicyEditor
Editor de políticas de alertas de Monitoring
Te da acceso de lectura y escritura a las políticas de alertas.

Canales de notificaciones

Las siguientes funciones otorgan permisos solo para los canales de notificaciones:

ID de función
Nombre de la función
Descripción
roles/monitoring.notificationChannelViewer
Lector de canales de notificaciones de Monitoring
Te da acceso de solo lectura a los canales de notificaciones.
roles/monitoring.notificationChannelEditor
Editor de canales de notificaciones de Monitoring
Te da acceso de solo lectura y escritura a los canales de notificaciones.

Google Cloud Platform

Las siguientes funciones otorgan permisos para muchos servicios y recursos en Google Cloud Platform, incluido Monitoring:

ID de función
Nombre de la función
Descripción
roles/viewer
Lector del proyecto
Te da acceso de solo lectura a la API y la consola de Stackdriver Monitoring.
roles/editor
Editor de proyecto
Te da acceso de solo escritura a la API y la consola de Stackdriver Monitoring.
roles/owner
Propietario del proyecto
Te da acceso completo a la API y la consola de Stackdriver Monitoring.

Funciones personalizadas

También puedes crear tus propias funciones personalizadas que contengan listas de permisos específicas. Para obtener más detalles sobre las funciones y los permisos, consulta Permisos y funciones y Funciones personalizadas en esta página.

Permisos y funciones

Esta sección enumera los permisos y funciones de Cloud IAM que se aplican a Monitoring.

Permisos de la API

Cada método de API de Monitoring requiere un permiso específico de Cloud IAM, como se muestra en la siguiente tabla.

Método de la API de Monitoring Permiso Tipo de recurso
projects.alertPolicies.create monitoring.alertPolicies.create proyecto1
projects.alertPolicies.delete monitoring.alertPolicies.delete AlertPolicy
projects.alertPolicies.get monitoring.alertPolicies.get AlertPolicy
projects.alertPolicies.list monitoring.alertPolicies.list proyecto1
projects.alertPolicies.patch monitoring.alertPolicies.update AlertPolicy
projects.groups.create monitoring.groups.create proyecto1
projects.groups.delete monitoring.groups.delete Group
projects.groups.get monitoring.groups.get Group
projects.groups.list monitoring.groups.list proyecto1
projects.groups.update monitoring.groups.update Group
projects.groups.members.list monitoring.groups.get Group
projects.metricDescriptors.create monitoring.metricDescriptors.create proyecto
projects.metricDescriptors.delete monitoring.metricDescriptors.delete MetricDescriptor
projects.metricDescriptors.get monitoring.metricDescriptors.get MetricDescriptor
projects.metricDescriptors.list monitoring.metricDescriptors.list proyecto
projects.monitoredResourceDescriptors.get monitoring.monitoredResourceDescriptors.get MonitoredResourceDescriptor
projects.monitoredResourceDescriptors.list monitoring.monitoredResourceDescriptors.list proyecto
projects.notificationChannelDescriptors.get monitoring.notificationChannelDescriptors.get NotificationChannelDescriptor
projects.notificationChannelDescriptors.list monitoring.notificationChannelDescriptors.list proyecto1
projects.notificationChannels.create monitoring.notificationChannels.create proyecto1
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 proyecto1
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 proyecto
projects.timeSeries.list monitoring.timeSeries.list proyecto

1 El proyecto debe ser un lugar de trabajo.

Permisos de Console

Cada función de la consola de Stackdriver Monitoring requiere permisos para los métodos de la API que permiten implementarla. Por ejemplo, la capacidad de explorar grupos requiere permisos para los métodos list y get aplicables a grupos y miembros de grupos. La consola de Stackdriver Monitoring puede volverse parcialmente funcional si se revocan los permisos necesarios.

La siguiente tabla enumera los permisos necesarios para usar la consola de Stackdriver Monitoring:

Actividad de Console Permisos necesarios Para el tipo de recurso
Acceso completo de solo lectura El conjunto de permisos incluidos en lo función roles/monitoring.viewer. proyecto1
Consola de acceso de lectura y escritura El conjunto de permisos incluidos en la función roles/monitoring.editor. proyecto1
Acceso completo a la consola El conjunto de permisos incluidos en la función roles/monitoring.admin. proyecto1

1 El proyecto debe ser un lugar de trabajo.

Funciones

La siguiente tabla enumera las funciones de Cloud IAM que otorgan acceso a Monitoring y los permisos asociados con cada función. Varias de estas funciones están graduadas, por ejemplo, la función roles/monitoring.editor incluye todos los permisos de la función roles/monitoring.viewer, además de un conjunto adicional de permisos.

Las funciones se pueden asignar solo a nivel de proyecto, y los proyectos deben ser lugares de trabajo.

Monitoring

Las funciones de Monitoring incluyen los siguientes permisos:

ID de función
Nombre de la función
Permisos incluidos:
roles/monitoring.viewer
Lector de 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.get1
monitoring.uptimeCheckConfigs.list1
resourcemanager.projects.get
resourcemanager.projects.list stackdriver.projects.get
roles/monitoring.editor
Editor de 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.create1
monitoring.uptimeCheckConfigs.delete1
monitoring.uptimeCheckConfigs.get1
monitoring.uptimeCheckConfigs.list1
monitoring.uptimeCheckConfigs.update1
resourcemanager.projects.get
resourcemanager.projects.list stackdriver.projects.edit
stackdriver.projects.get stackdriver.resourceMetadata.write
roles/monitoring.admin
Administrador de Monitoring
Los permisos en roles/monitoring.editor, además del siguiente:
monitoring.notificationChannels.getVerificationCode

1 Estos permisos están presentes para ser compatibles con la consola de Stackdriver Monitoring. No se pueden usar en funciones personalizadas.

Las cuentas de servicio usan la siguiente función para el acceso de solo escritura:

ID de función
Nombre de la función
Permisos incluidos:
roles/monitoring.metricWriter
Escritor de métricas de Monitoring
monitoring.metricDescriptors.create
monitoring.metricDescriptors.get
monitoring.metricDescriptors.list
monitoring.monitoredResourceDescriptors.get
monitoring.monitoredResourceDescriptors.list
monitoring.timeSeries.create

Políticas de alertas

Las funciones de la política de alertas incluyen los siguientes permisos:

ID de función
Nombre de la función
Permisos incluidos:
roles/monitoring.alertPolicyViewer
Lector de políticas de alertas de Monitoring
monitoring.alertPolicies.get
monitoring.alertPolicies.list
roles/monitoring.alertPolicyEditor
Editor de políticas de alertas de Monitoring
monitoring.alertPolicies.create
monitoring.alertPolicies.delete
monitoring.alertPolicies.get
monitoring.alertPolicies.list
monitoring.alertPolicies.update

Canales de notificaciones

Las funciones de los canales de notificación incluyen los siguientes permisos:

ID de función
Nombre de la función
Permisos incluidos:
roles/monitoring.notificationChannelViewer
Lector de canales de notificaciones de Monitoring
monitoring.notificationChannelDescriptors.get
monitoring.notificationChannelDescriptors.list
monitoring.notificationChannels.get
monitoring.notificationChannels.list
roles/monitoring.notificationChannelEditor
Editor de canales de notificaciones de 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

Las funciones de GCP incluyen los siguientes permisos:

ID de función
Nombre de la función
Permisos incluidos:
roles/viewer
Lector del proyecto
Los permisos de Monitoring son exactamente los permisos en roles/monitoring.viewer.
roles/editor
Editor de proyecto
Los permisos de Monitoring son los mismos en roles/monitoring.editor.
roles/owner
Propietario del proyecto
Los permisos de Monitoring son los mismos que los de roles/editor.

Otorga funciones de Cloud IAM

Los propietarios del proyecto, los editores y las cuentas de servicio predeterminadas de Compute Engine y App Engine ya deben tener los permisos necesarios; sin embargo, para otras cuentas de usuario, puede ser necesario otorgar estas funciones explícitamente.

Por ejemplo, para que una cuenta de usuario pueda leer o escribir MetricDescriptors con la API, ese usuario debe tener los monitoring.metricDescriptors. apropiados.* Permisos de Cloud IAM. Estos se pueden proporcionar cuando se otorgan las funciones predefinidas "Lector de Monitoring" (monitoring.viewer) y "Editor de Monitoring" (monitoring.editor). Consulta los permisos de la API para obtener más información.

Estos permisos se pueden otorgar con la herramienta de línea de comandos de gcloud del SDK de Cloud o Cloud Console.

SDK de Cloud

Usa el comando gcloud projects add-iam-policy-binding para otorgar la función monitoring.viewer o monitoring.editor.

Por ejemplo:

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"

Puedes confirmar las funciones otorgadas con el comando gcloud projects get-iam-policy:

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

Cloud Console

Sigue los pasos a continuación a fin de otorgar las funciones de Cloud IAM para los recursos de política de alertas a través de Cloud Console:

  1. Ve a https://console.cloud.google.com/.
  2. Selecciona el proyecto con el que deseas habilitar la API.
  3. Expande el menú de navegación de la izquierda haciendo clic en el botón del menú de tres líneas horizontales.
  4. Haz clic en IAM y administración.
  5. Si el usuario no está presente, haz clic en el botón Agregar, de lo contrario, haz clic en activar o desactivar abajo de la columna de "Función(es)" junto con el usuario existente cuyos permisos deseas editar.
  6. Ve hacia abajo hasta "Monitoring" y desplázate sobre él.
  7. Marca la función adecuada: “Editor de Monitoring" otorga acceso de lectura y escritura y "Lector de Monitoring" otorga acceso de solo lectura.

Funciones personalizadas

Para crear una función personalizada con permisos de Monitoring, realiza las siguientes acciones:

  • Para una función que otorgue permisos solo a la API de Monitoring, elige los permisos en la sección de Permisos de la API.

  • Para una función que otorgue permisos a la consola de Stackdriver Monitoring, elige los grupos de permisos en la sección de Permisos de Console.

  • Para otorgar la capacidad de escribir datos de supervisión, incluye los permisos de la función roles/monitoring.metricWriter en la sección de Funciones.

Para obtener más información sobre las funciones personalizadas, consulta Comprende las funciones personalizadas de IAM.

Niveles de acceso de Compute Engine

Los niveles de acceso son el método heredado de especificar permisos para tus instancias de VM de Compute Engine. Los siguientes niveles de acceso se aplican a Monitoring:

Nivel de acceso Permisos otorgados
https://www.googleapis.com/auth/monitoring.read Los mismos permisos que en roles/monitoring.viewer.
https://www.googleapis.com/auth/monitoring.write Los mismos permisos que en roles/monitoring.metricWriter.
https://www.googleapis.com/auth/monitoring Acceso completo a Monitoring.
https://www.googleapis.com/auth/cloud-platform Acceso completo a todas las API de Google Cloud habilitadas.

Para obtener más detalles, consulta Niveles de acceso.

Recomendación: Como las funciones de IAM de la cuenta de servicio de Cloud IAM son fáciles de configurar y cambiar, te recomendamos otorgar a tus instancias de VM el nivel de acceso más potente (cloud-platform) y luego usar las funciones de IAM para restringir el acceso a las API y operaciones específicas. Para obtener más detalles, consulta Permisos de cuenta de servicio.

¿Te sirvió esta página? Envíanos tu opinión:

Enviar comentarios sobre…

Stackdriver Monitoring
¿Necesitas ayuda? Visita nuestra página de asistencia.