Cette page a été traduite par l'API Cloud Translation.
Switch to English

Contrôle des accès

Cette page décrit les rôles et autorisations Identity and Access Management (IAM) utilisés par Cloud Monitoring. Cette page est destinée aux administrateurs qui configurent et accordent des rôles et des autorisations.

VPC Service Controls

Pour mieux contrôler l'accès aux données de surveillance, utilisez VPC Service Controls en plus d'IAM.

VPC Service Controls offre une sécurité supplémentaire pour Cloud Monitoring afin de réduire le risque d'exfiltration de données. À l'aide de VPC Service Controls, vous pouvez ajouter un champ d'application de métriques, ou créer et associer un espace de travail à un périmètre de service qui protège les ressources et les services Cloud Monitoring des requêtes provenant de l'extérieur du périmètre.

Pour en savoir plus sur les périmètres de service, reportez-vous à la documentation sur la configuration des périmètres de service VPC Service Controls.

Pour en savoir plus sur la compatibilité de Monitoring avec VPC Service Controls, y compris les limites connues, consultez la documentation sur VPC Service Controls et Monitoring.

Présentation d'IAM pour Monitoring

Pour utiliser Monitoring, vous devez disposer des autorisations IAM appropriées.

En général, chaque méthode REST d'une API est associée à une autorisation, et vous devez être autorisé à utiliser la méthode correspondante. Les autorisations ne sont pas accordées directement aux utilisateurs, elles sont accordées indirectement via des rôles, qui regroupent plusieurs autorisations pour faciliter leur gestion. Pour en savoir plus sur ces concepts, consultez la section Concepts liés à la gestion des accès.

Les rôles pour les combinaisons d'autorisations courantes sont prédéfinis, mais il est également possible de créer vos propres combinaisons d'autorisations en créant des rôles personnalisés IAM.

Rôles prédéfinis

Les rôles IAM suivants sont prédéfinis par Cloud Monitoring. Ils n'accordent des autorisations que pour celui-ci.

Monitoring

Les rôles suivants accordent des autorisations générales pour Monitoring :

Nom
Titre
Description
roles/monitoring.viewer
Lecteur Monitoring
Donne un accès en lecture seule à Monitoring dans Google Cloud Console et dans l'API
roles/monitoring.editor
Éditeur Monitoring
Donne un accès en lecture/écriture à Monitoring dans Google Cloud Console et dans l'API,
et vous permet de modifier un champ d'application des métriques, ou de créer et modifier un espace de travail.
roles/monitoring.admin
Administrateur Monitoring
Donne un accès complet à Monitoring dans Google Cloud Console, et vous permet de
modifier un champ d'application des métriques, ou de créer et modifier un espace de travail.

Pour les modèles de données de champ d'application hybride et métrique, ce rôle suffit pour accéder à Cloud Monitoring. Pour le modèle de données de l'espace de travail, ce rôle suffit pour accéder à un espace de travail existant.

Le rôle suivant est utilisé par les comptes de service pour l'accès en écriture seule :

Nom
Titre
Description
roles/monitoring.metricWriter
Rédacteur de métriques Monitoring
Autorise l'écriture de données de surveillance dans un champ d'application des métriques ou dans un espace de travail.
Ne permet pas d'accéder à Monitoring dans Google Cloud Console. Pour les comptes de service

Règles d'alerte

Les rôles suivants n'accordent que des autorisations AlertPolicy (règles d'alerte) :

Nom
Titre
Description
roles/monitoring.alertPolicyViewer
Lecteur Monitoring AlertPolicy
Vous donne un accès en lecture seule aux règles d'alerte
roles/monitoring.alertPolicyEditor
Éditeur Monitoring AlertPolicy
Vous donne un accès en lecture/écriture aux règles d'alerte

Tableaux de bord

Les rôles suivants n'accordent d'autorisations que pour les tableaux de bord :

Nom
Titre
Description
roles/monitoring.dashboardViewer
Lecteur de configuration du tableau de bord Monitoring
Vous donne un accès en lecture seule aux configurations de tableaux de bord.
roles/monitoring.dashboardEditor
Éditeur de configuration du tableau de bord Monitoring
Vous donne un accès en lecture/écriture aux configurations de tableaux de bord.

Canaux de notification

Les rôles suivants n'accordent que des autorisations NotificationChannel (canaux de notification) :

Nom
Titre
Description
roles/monitoring.notificationChannelViewer
Lecteur Monitoring NotificationChannel
Vous donne un accès en lecture seule aux canaux de notification
roles/monitoring.notificationChannelEditor
Éditeur Monitoring NotificationChannel
Vous donne accès en lecture-écriture aux canaux de notification

Surveillance des services

Les rôles suivants accordent des autorisations pour la gestion des services :

Nom
Titre
Description
roles/monitoring.servicesViewer
Lecteur pour les services de surveillance
Vous donne un accès en lecture seule aux services
roles/monitoring.servicesEditor
Collaborateur pour les services de surveillance
Vous donne un accès en lecture/écriture aux services

Pour en savoir plus sur la surveillance des services, consultez la page Surveillance SLO.

Configurations des tests de disponibilité

Les rôles suivants n'accordent d'autorisations que pour les configurations des tests de disponibilité :

Nom
Titre
Description
roles/monitoring.uptimeCheckConfigViewer
Lecteur de configuration des tests de disponibilité Monitoring
Vous donne un accès en lecture seule aux configurations des tests de disponibilité
roles/monitoring.uptimeCheckConfigEditor
Éditeur de configuration des tests de disponibilité Monitoring
Vous donne un accès en lecture/écriture aux configurations des tests de disponibilité

Configuration des métriques et configurations de l'espace de travail

Pour gérer un champ d'application des métriques, ou pour créer ou gérer un espace de travail, vous devez utiliser Google Cloud Console. Pour en savoir plus sur les rôles nécessaires pour modifier le champ d'application des métriques, ou pour créer et modifier un espace de travail, consultez la section Rôles Monitoring prédéfinis.

Google Cloud

Les rôles suivants accordent des autorisations pour de nombreux services et ressources dans Google Cloud, y compris Monitoring :

Nom
Titre
Autorisations associées
roles/viewer
Lecteur
Autorisations Monitoring identiques aux autorisations de roles/monitoring.viewer
roles/editor
Éditeur
Autorisations Monitoring identiques aux autorisations de roles/monitoring.editor
roles/owner
Propriétaire
Autorisations Monitoring identiques aux autorisations de roles/editor

Rôles personnalisés

Vous pouvez également créer vos propres rôles personnalisés contenant des listes d'autorisations. Pour plus de détails sur les rôles et les autorisations, consultez les sections Autorisations et rôles et Rôles personnalisés sur cette page.

Autorisations et rôles

Cette section répertorie les autorisations et les rôles IAM qui s'appliquent à Monitoring.

Autorisations des API

Chaque méthode API Monitoring nécessite une autorisation IAM spécifique, comme indiqué dans le tableau suivant.

Méthode API Monitoring Autorisation Type de ressource
projects.alertPolicies.create monitoring.alertPolicies.create projet1
projects.alertPolicies.delete monitoring.alertPolicies.delete AlertPolicy
projects.alertPolicies.get monitoring.alertPolicies.get AlertPolicy
projects.alertPolicies.list monitoring.alertPolicies.list projet1
projects.alertPolicies.patch monitoring.alertPolicies.update AlertPolicy
projects.dashboards.create monitoring.dashboards.create projet1
projects.dashboards.delete monitoring.dashboards.delete projet1
projects.dashboards.get monitoring.dashboards.get projet1
projects.dashboards.list monitoring.dashboards.list projet1
projects.dashboards.patch monitoring.dashboards.update projet1
projects.groups.create monitoring.groups.create projet1
projects.groups.delete monitoring.groups.delete Group
projects.groups.get monitoring.groups.get Group
projects.groups.list monitoring.groups.list projet1
projects.groups.update monitoring.groups.update Group
projects.groups.members.list monitoring.groups.get Group
projects.metricDescriptors.create monitoring.metricDescriptors.create projet
projects.metricDescriptors.delete monitoring.metricDescriptors.delete MetricDescriptor
projects.metricDescriptors.get monitoring.metricDescriptors.get MetricDescriptor
projects.metricDescriptors.list monitoring.metricDescriptors.list projet
projects.monitoredResourceDescriptors.get monitoring.monitoredResourceDescriptors.get MonitoredResourceDescriptor
projects.monitoredResourceDescriptors.list monitoring.monitoredResourceDescriptors.list projet
projects.notificationChannelDescriptors.get monitoring.notificationChannelDescriptors.get NotificationChannelDescriptor
projects.notificationChannelDescriptors.list monitoring.notificationChannelDescriptors.list projet1
projects.notificationChannels.create monitoring.notificationChannels.create projet1
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 projet1
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 projet1
projects.services.delete monitoring.services.delete Service
projects.services.get monitoring.services.get Service
projects.services.list monitoring.services.list projet1
projects.services.patch monitoring.services.update Service
projects.services.serviceLevelObjectives.create monitoring.slos.create projet1
projects.services.serviceLevelObjectives.delete monitoring.slos.delete ServiceLevelObjective
projects.services.serviceLevelObjectives.get monitoring.slos.get ServiceLevelObjective
projects.services.serviceLevelObjectives.list monitoring.slos.list projet1
projects.services.serviceLevelObjectives.patch monitoring.slos.update ServiceLevelObjective
projects.timeSeries.create monitoring.timeSeries.create project
projects.timeSeries.list monitoring.timeSeries.list projet, dossier, organisation
projects.timeSeries.query monitoring.timeSeries.list project
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 Pour le modèle de données d'espace de travail, le projet doit se trouver dans un espace de travail.

Autorisations de la console pour Monitoring

Chaque fonctionnalité de Monitoring dans Google Cloud Console requiert l'autorisation de l'API utilisée pour mettre en œuvre la fonctionnalité en question. Par exemple, pour parcourir des groupes, les autorisations pour les méthodes list et get applicables aux groupes et aux membres de groupe sont nécessaires. La console risque de ne plus être entièrement opérationnelle si les autorisations requises sont révoquées.

Le tableau suivant répertorie les autorisations requises pour utiliser Monitoring dans Google Cloud Console :

Activité Autorisations requises Type de ressource concerné
Accès complet en lecture seule Ensemble des autorisations incluses dans le rôle roles/monitoring.viewer projet1.
Accès en lecture-écriture à la console Ensemble des autorisations incluses dans le rôle roles/monitoring.editor projet1.
Accès complet à la console Ensemble des autorisations incluses dans le rôle roles/monitoring.admin projet1.

1 Pour le modèle de données de l'espace de travail, le projet doit se trouver dans un espace de travail.

Rôles

Le tableau suivant répertorie les rôles IAM qui donnent accès à Monitoring, ainsi que les autorisations associées. Plusieurs de ces rôles sont hiérarchisés. Par exemple, le rôle roles/monitoring.editor inclut toutes les autorisations du rôle roles/monitoring.viewer, plus un ensemble supplémentaire d'autorisations.

Les rôles ne peuvent être attribués qu'au niveau du projet.

Surveillance

Les rôles Monitoring (surveillance) incluent les autorisations suivantes :

Nom
Titre
Autorisations associées
roles/monitoring.viewer
Lecteur 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
Éditeur 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
Administrateur Monitoring
Les autorisations du rôle roles/monitoring.editor, plus les autorisations suivantes :
monitoring.notificationChannels.getVerificationCode

Le rôle suivant est utilisé par les comptes de service pour l'accès en écriture seule :

Nom
Titre
Autorisations associées
roles/monitoring.metricWriter
Rédacteur de métriques Monitoring
monitoring.metricDescriptors.create
monitoring.metricDescriptors.get
monitoring.metricDescriptors.list
monitoring.monitoredResourceDescriptors.get
monitoring.monitoredResourceDescriptors.list
monitoring.timeSeries.create

Règles d'alerte

Les rôles AlertPolicy (règles d'alerte) incluent les autorisations suivantes :

Nom
Titre
Autorisations associées
roles/monitoring.alertPolicyViewer
Lecteur Monitoring AlertPolicy
monitoring.alertPolicies.get
monitoring.alertPolicies.list
roles/monitoring.alertPolicyEditor
Éditeur Monitoring AlertPolicy
monitoring.alertPolicies.create
monitoring.alertPolicies.delete
monitoring.alertPolicies.get
monitoring.alertPolicies.list
monitoring.alertPolicies.update

Tableaux de bord

Les rôles associés aux tableaux de bord incluent les autorisations suivantes :

Nom
Titre
Autorisations associées
roles/monitoring.dashboardViewer
Lecteur de configuration du tableau de bord Monitoring
monitoring.dashboards.get
monitoring.dashboards.list
roles/monitoring.dashboardEditor
Éditeur de configuration du tableau de bord Monitoring
monitoring.dashboards.get
monitoring.dashboards.list
monitoring.dashboards.create
monitoring.dashboards.delete
monitoring.dashboards.update

Canaux de notification

Les rôles NotificationChannel (canaux de notification) incluent les autorisations suivantes :

Nom
Titre
Autorisations associées
roles/monitoring.notificationChannelViewer
Lecteur Monitoring NotificationChannel
monitoring.notificationChannelDescriptors.get
monitoring.notificationChannelDescriptors.list
monitoring.notificationChannels.get
monitoring.notificationChannels.list
roles/monitoring.notificationChannelEditor
Éditeur Monitoring NotificationChannel
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

Surveillance des services

Les rôles de surveillance des services incluent les autorisations suivantes :

Nom
Titre
Autorisations associées
roles/monitoring.servicesViewer
Rôle de lecteur pour les services de surveillance
monitoring.services.get
monitoring.services.list
monitoring.slos.get
monitoring.slos.list
roles/monitoring.servicesEditor
Rôle de collaborateur pour les services de surveillance
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

Configurations des tests de disponibilité

Les rôles associés aux configurations de tests de disponibilité incluent les autorisations suivantes :

Nom
Titre
Autorisations associées
roles/monitoring.uptimeCheckConfigViewer
Lecteur de configuration des tests de disponibilité Monitoring
monitoring.uptimeCheckConfigs.get
monitoring.uptimeCheckConfigs.list
roles/monitoring.uptimeCheckConfigEditor
Éditeur de configuration des tests de disponibilité Monitoring
monitoring.uptimeCheckConfigs.create
monitoring.uptimeCheckConfigs.delete
monitoring.uptimeCheckConfigs.get
monitoring.uptimeCheckConfigs.list
monitoring.uptimeCheckConfigs.update

Configuration des métriques et configurations de l'espace de travail

Pour gérer un champ d'application des métriques, ou pour créer ou gérer un espace de travail, vous devez utiliser Google Cloud Console. Pour en savoir plus sur les rôles nécessaires pour modifier le champ d'application des métriques, ou pour créer et modifier un espace de travail, consultez la section Rôles Monitoring prédéfinis.

Google Cloud

Les rôles Google Cloud incluent les autorisations suivantes :

Nom
Titre
Autorisations associées
roles/viewer
Lecteur
Autorisations Monitoring identiques aux autorisations de roles/monitoring.viewer
roles/editor
Éditeur
Autorisations Monitoring identiques aux autorisations de roles/monitoring.editor
roles/owner
Propriétaire
Autorisations Monitoring identiques aux autorisations de roles/editor

Attribuer des rôles IAM

Les propriétaires de projet, les éditeurs et les comptes de service par défaut pour Compute Engine et App Engine disposent déjà des autorisations nécessaires. En revanche, il peut être nécessaire d'accorder ces rôles explicitement pour d'autres comptes utilisateur.

Par exemple, pour qu'un compte utilisateur puisse lire ou écrire des descripteurs de métriques à l'aide de l'API Monitoring, cet utilisateur doit disposer des autorisations IAM monitoring.metricDescriptors.* appropriées. Celles-ci peuvent être accordées en attribuant les rôles prédéfinis Lecteur Monitoring (roles/monitoring.viewer) et Éditeur Monitoring (roles/monitoring.editor). Pour plus d'informations, consultez la page sur les autorisations des API.

Ces autorisations peuvent être accordées à l'aide de l'outil de ligne de commande du SDK Cloud gcloud ou de Google Cloud Console (Cloud Console).

SDK Cloud

Utilisez la commande gcloud projects add-iam-policy-binding pour attribuer le rôle monitoring.viewer ou monitoring.editor.

Exemple :

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"

Vous pouvez confirmer les rôles attribués à l'aide de la commande gcloud projects get-iam-policy :

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

Cloud Console

  1. Accédez à Cloud Console.

    Accéder à Cloud Console

  2. Si nécessaire, cliquez sur la liste déroulante des projets Google Cloud et sélectionnez le nom du projet dans lequel vous souhaitez activer l'API.

  3. Pour développer le menu de navigation, cliquez sur Menu .

  4. Cliquez sur IAM et administration.

  5. Si l'utilisateur est membre, cliquez sur Modifier pour modifier ses autorisations. Vous pouvez modifier le rôle existant ou ajouter un rôle supplémentaire. Pour enregistrer vos modifications, cliquez sur Enregistrer.

  6. Si l'utilisateur n'est pas membre, procédez comme suit :

    1. Cliquez sur Ajouter.
    2. Saisissez le nom de l'utilisateur dans la zone de texte Nouveaux membres.
    3. Dans Sélectionner un rôle, cliquez sur Menu .
    4. Dans la barre de filtre , saisissez le rôle approprié :
      • Éditeur Monitoring : accorde un accès en lecture/écriture.
      • Lecteur Monitoring : accorde un accès en lecture seule.

Rôles personnalisés

Pour créer un rôle personnalisé avec des autorisations Monitoring, procédez comme suit :

  • Pour un rôle n'accordant des autorisations que pour l'API Monitoring, sélectionnez l'une des autorisations dans la section Autorisation pour les API.

  • Pour un rôle accordant des autorisations pour Monitoring dans Google Cloud Console, choisissez parmi les groupes d'autorisations figurant dans la section Autorisations de la console pour Monitoring.

  • Pour accorder la possibilité d'écrire des données de surveillance, incluez l'autorisation du rôle roles/monitoring.metricWriter dans la section des rôles.

Pour plus d'informations sur les rôles personnalisés, consultez la page Comprendre les rôles personnalisés d'IAM.

Champs d'application d'accès à Compute Engine

Les champs d'application d'accès représentent l'ancienne méthode de spécification des autorisations associées aux instances de VM Compute Engine. Les champs d'application d'accès suivants s'appliquent à Monitoring :

Champ d'application d'accès Autorisations attribuées
https://www.googleapis.com/auth/monitoring.read Les mêmes autorisations que le rôle roles/monitoring.viewer.
https://www.googleapis.com/auth/monitoring.write Les mêmes autorisations que le rôle roles/monitoring.metricWriter.
https://www.googleapis.com/auth/monitoring Accès complet à Monitoring
https://www.googleapis.com/auth/cloud-platform Accès complet à toutes les API Google Cloud activées

Pour plus de détails, consultez la section sur les champs d'application d'accès.

Bonnes pratiques. Les rôles IAM des comptes de service étant faciles à configurer et à modifier, il est conseillé de donner à vos instances de VM le niveau d'accès le plus large (cloud-platform), puis d'utiliser des rôles IAM pour limiter l'accès à des API et opérations spécifiques. Pour plus de détails, consultez la section relative aux autorisations de compte de service.