Rôles et autorisations

Cette page décrit les rôles et les autorisations IAM (Identity and Access Management) requis pour exécuter des tests de connectivité.

Vous pouvez attribuer des autorisations ou des rôle prédéfinis à des utilisateurs ou à des comptes de service. Vous pouvez également créer un rôle personnalisé doté des autorisations que vous spécifiez.

Les autorisations IAM utilisent un préfixe networkmanagement.

Pour obtenir ou définir des stratégies IAM, ou pour tester les autorisations IAM avec l'API Network Management, consultez la section Gérer les règles d'accès.

Rôles

Cette section explique comment utiliser des rôles prédéfinis et personnalisés lors de l'octroi d'autorisations pour les Tests de connectivité.

Pour en savoir plus sur chaque autorisation, consultez le tableau des autorisations.

Pour plus d'informations sur les rôles au niveau du projet et les Google Cloud ressources, consultez les documentations suivantes :

Rôles prédéfinis

Tests de connectivité offre les rôles prédéfinis suivants :

  • networkmanagement.admin : dispose des autorisations nécessaires pour effectuer toutes les opérations sur une ressource de test.
  • networkmanagement.viewer : dispose des autorisations nécessaires pour répertorier ou obtenir une ressource de test spécifique.

Le tableau suivant répertorie les rôles prédéfinis et les autorisations qui s'appliquent à chaque rôle.

Role Permissions

(roles/networkmanagement.admin)

Full access to Network Management resources.

Lowest-level resources where you can grant this role:

  • Project

networkmanagement.*

  • networkmanagement.connectivitytests.create
  • networkmanagement.connectivitytests.createTagBinding
  • networkmanagement.connectivitytests.delete
  • networkmanagement.connectivitytests.deleteTagBinding
  • networkmanagement.connectivitytests.get
  • networkmanagement.connectivitytests.getIamPolicy
  • networkmanagement.connectivitytests.list
  • networkmanagement.connectivitytests.listEffectiveTags
  • networkmanagement.connectivitytests.listTagBindings
  • networkmanagement.connectivitytests.rerun
  • networkmanagement.connectivitytests.setIamPolicy
  • networkmanagement.connectivitytests.update
  • networkmanagement.locations.get
  • networkmanagement.locations.list
  • networkmanagement.monitoringpoints.downloadConfig
  • networkmanagement.monitoringpoints.get
  • networkmanagement.monitoringpoints.list
  • networkmanagement.networkpaths.get
  • networkmanagement.networkpaths.list
  • networkmanagement.operations.cancel
  • networkmanagement.operations.delete
  • networkmanagement.operations.get
  • networkmanagement.operations.list
  • networkmanagement.providers.create
  • networkmanagement.providers.delete
  • networkmanagement.providers.generateProviderAccessToken
  • networkmanagement.providers.get
  • networkmanagement.providers.list
  • networkmanagement.topologygraphs.read
  • networkmanagement.vpcflowlogsconfigs.create
  • networkmanagement.vpcflowlogsconfigs.delete
  • networkmanagement.vpcflowlogsconfigs.get
  • networkmanagement.vpcflowlogsconfigs.list
  • networkmanagement.vpcflowlogsconfigs.update
  • networkmanagement.webpaths.get
  • networkmanagement.webpaths.list

resourcemanager.organizations.get

resourcemanager.projects.get

resourcemanager.projects.list

(roles/networkmanagement.editor)

Editor role for networkmanagement

networkmanagement.connectivitytests.create

networkmanagement.connectivitytests.delete

networkmanagement.connectivitytests.get

networkmanagement.connectivitytests.getIamPolicy

networkmanagement.connectivitytests.list

networkmanagement.connectivitytests.listEffectiveTags

networkmanagement.connectivitytests.listTagBindings

networkmanagement.connectivitytests.rerun

networkmanagement.connectivitytests.update

networkmanagement.locations.*

  • networkmanagement.locations.get
  • networkmanagement.locations.list

networkmanagement.monitoringpoints.get

networkmanagement.monitoringpoints.list

networkmanagement.networkpaths.*

  • networkmanagement.networkpaths.get
  • networkmanagement.networkpaths.list

networkmanagement.operations.*

  • networkmanagement.operations.cancel
  • networkmanagement.operations.delete
  • networkmanagement.operations.get
  • networkmanagement.operations.list

networkmanagement.providers.generateProviderAccessToken

networkmanagement.providers.get

networkmanagement.providers.list

networkmanagement.topologygraphs.read

networkmanagement.vpcflowlogsconfigs.*

  • networkmanagement.vpcflowlogsconfigs.create
  • networkmanagement.vpcflowlogsconfigs.delete
  • networkmanagement.vpcflowlogsconfigs.get
  • networkmanagement.vpcflowlogsconfigs.list
  • networkmanagement.vpcflowlogsconfigs.update

networkmanagement.webpaths.*

  • networkmanagement.webpaths.get
  • networkmanagement.webpaths.list

resourcemanager.organizations.get

resourcemanager.projects.get

resourcemanager.projects.list

(roles/networkmanagement.viewer)

Read-only access to Network Management resources.

Lowest-level resources where you can grant this role:

  • Project

networkmanagement.connectivitytests.get

networkmanagement.connectivitytests.getIamPolicy

networkmanagement.connectivitytests.list

networkmanagement.connectivitytests.listEffectiveTags

networkmanagement.connectivitytests.listTagBindings

networkmanagement.locations.*

  • networkmanagement.locations.get
  • networkmanagement.locations.list

networkmanagement.monitoringpoints.get

networkmanagement.monitoringpoints.list

networkmanagement.networkpaths.*

  • networkmanagement.networkpaths.get
  • networkmanagement.networkpaths.list

networkmanagement.operations.get

networkmanagement.operations.list

networkmanagement.providers.generateProviderAccessToken

networkmanagement.providers.get

networkmanagement.providers.list

networkmanagement.topologygraphs.read

networkmanagement.vpcflowlogsconfigs.get

networkmanagement.vpcflowlogsconfigs.list

networkmanagement.webpaths.*

  • networkmanagement.webpaths.get
  • networkmanagement.webpaths.list

resourcemanager.organizations.get

resourcemanager.projects.get

resourcemanager.projects.list

(roles/networkmanagement.CloudNetworkInsightsAdmin)

Full access to Cloud Network Insights resources.

networkmanagement.locations.*

  • networkmanagement.locations.get
  • networkmanagement.locations.list

networkmanagement.monitoringpoints.*

  • networkmanagement.monitoringpoints.downloadConfig
  • networkmanagement.monitoringpoints.get
  • networkmanagement.monitoringpoints.list

networkmanagement.networkpaths.*

  • networkmanagement.networkpaths.get
  • networkmanagement.networkpaths.list

networkmanagement.operations.get

networkmanagement.operations.list

networkmanagement.providers.*

  • networkmanagement.providers.create
  • networkmanagement.providers.delete
  • networkmanagement.providers.generateProviderAccessToken
  • networkmanagement.providers.get
  • networkmanagement.providers.list

networkmanagement.webpaths.*

  • networkmanagement.webpaths.get
  • networkmanagement.webpaths.list

resourcemanager.organizations.get

resourcemanager.projects.get

resourcemanager.projects.list

(roles/networkmanagement.CloudNetworkInsightsEditor)

Editor access to Cloud Network Insights resources.

networkmanagement.locations.*

  • networkmanagement.locations.get
  • networkmanagement.locations.list

networkmanagement.monitoringpoints.*

  • networkmanagement.monitoringpoints.downloadConfig
  • networkmanagement.monitoringpoints.get
  • networkmanagement.monitoringpoints.list

networkmanagement.networkpaths.*

  • networkmanagement.networkpaths.get
  • networkmanagement.networkpaths.list

networkmanagement.operations.get

networkmanagement.operations.list

networkmanagement.providers.*

  • networkmanagement.providers.create
  • networkmanagement.providers.delete
  • networkmanagement.providers.generateProviderAccessToken
  • networkmanagement.providers.get
  • networkmanagement.providers.list

networkmanagement.webpaths.*

  • networkmanagement.webpaths.get
  • networkmanagement.webpaths.list

resourcemanager.organizations.get

resourcemanager.projects.get

resourcemanager.projects.list

(roles/networkmanagement.CloudNetworkInsightsViewer)

Read-only access to Cloud Network Insights resources.

networkmanagement.monitoringpoints.get

networkmanagement.monitoringpoints.list

networkmanagement.networkpaths.*

  • networkmanagement.networkpaths.get
  • networkmanagement.networkpaths.list

networkmanagement.providers.generateProviderAccessToken

networkmanagement.providers.get

networkmanagement.providers.list

networkmanagement.webpaths.*

  • networkmanagement.webpaths.get
  • networkmanagement.webpaths.list

resourcemanager.organizations.get

resourcemanager.projects.get

resourcemanager.projects.list

Service agent roles

Service agent roles should only be granted to service agents.

Role Permissions

(roles/networkmanagement.serviceAgent)

Grants the GCP Network Management API the authority to complete analysis based on network configurations from Compute Engine and Container Engine.

cloudsql.instances.get

cloudsql.instances.list

compute.addresses.get

compute.addresses.list

compute.backendServices.get

compute.backendServices.list

compute.externalVpnGateways.get

compute.externalVpnGateways.list

compute.firewalls.get

compute.firewalls.list

compute.forwardingRules.get

compute.forwardingRules.list

compute.globalAddresses.get

compute.globalAddresses.list

compute.globalForwardingRules.get

compute.globalForwardingRules.list

compute.globalNetworkEndpointGroups.get

compute.globalNetworkEndpointGroups.list

compute.healthChecks.get

compute.healthChecks.list

compute.httpHealthChecks.get

compute.httpHealthChecks.list

compute.httpsHealthChecks.get

compute.httpsHealthChecks.list

compute.instanceGroups.get

compute.instanceGroups.list

compute.instances.get

compute.instances.list

compute.networkEndpointGroups.get

compute.networkEndpointGroups.list

compute.networks.get

compute.networks.getEffectiveFirewalls

compute.networks.list

compute.networks.listPeeringRoutes

compute.packetMirrorings.get

compute.packetMirrorings.list

compute.regionBackendServices.get

compute.regionBackendServices.list

compute.regionHealthChecks.get

compute.regionHealthChecks.list

compute.regionNetworkEndpointGroups.get

compute.regionNetworkEndpointGroups.list

compute.regionTargetHttpProxies.get

compute.regionTargetHttpProxies.list

compute.regionTargetHttpsProxies.get

compute.regionTargetHttpsProxies.list

compute.regionTargetTcpProxies.get

compute.regionTargetTcpProxies.list

compute.regionUrlMaps.get

compute.regionUrlMaps.list

compute.routers.get

compute.routers.list

compute.routes.get

compute.routes.list

compute.subnetworks.get

compute.subnetworks.list

compute.targetGrpcProxies.get

compute.targetGrpcProxies.list

compute.targetHttpProxies.get

compute.targetHttpProxies.list

compute.targetHttpsProxies.get

compute.targetHttpsProxies.list

compute.targetInstances.get

compute.targetInstances.list

compute.targetPools.get

compute.targetPools.list

compute.targetSslProxies.get

compute.targetSslProxies.list

compute.targetTcpProxies.get

compute.targetTcpProxies.list

compute.targetVpnGateways.get

compute.targetVpnGateways.list

compute.urlMaps.get

compute.urlMaps.list

compute.vpnGateways.get

compute.vpnGateways.list

compute.vpnTunnels.get

compute.vpnTunnels.list

container.clusters.get

container.clusters.list

container.nodes.get

container.nodes.list

Rôles personnalisés

Vous pouvez créer des rôles personnalisés en sélectionnant une liste d'autorisations dans la table d'autorisations pour les Tests de connectivité.

Par exemple, vous pouvez créer un rôle appelé reachabilityUsers et lui accorder les autorisations list, get et rerun. Un utilisateur disposant de ce rôle peut réexécuter les tests de connectivité existants et afficher les résultats des tests mis à jour en fonction de la dernière configuration réseau.

Rôles au niveau du projet

Vous pouvez utiliser les rôles du projet pour définir des autorisations sur les Google Cloud ressources. Étant donné que les tests de connectivité doivent disposer d'un accès en lecture aux Google Cloud configurations de ressources dans votre réseau VPC (cloud privé virtuel) pour exécuter un test, vous devez attribuer au moins le rôle de lecteur de réseau de Compute (roles/compute.networkViewer) aux utilisateurs ou aux comptes de service qui effectuent un test sur ces ressources. Vous pouvez également créer un rôle personnalisé ou autoriser temporairement des autorisations associées au rôle précédent pour un utilisateur spécifique.

Vous pouvez également accorder à un compte d'utilisateur ou un compte service l'un des rôles prédéfinis suivants pour les Google Cloud projets :

Autorisations

Cette section décrit les autorisations pour les Tests de connectivité et leur utilisation lors du test de différents types de configurations réseau.

Autorisations Tests de connectivité

Tests de connectivité dispose des autorisations IAM suivantes.

Autorisation Description
networkmanagement.connectivitytests.list Répertorie tous les tests configurés dans le projet spécifié.
networkmanagement.connectivitytests.get Récupère les détails d'un test spécifique.
networkmanagement.connectivitytests.create Crée un nouvel objet de test dans le projet spécifié avec les données que vous spécifiez pour le test. Cette autorisation inclut la possibilité de mettre à jour, de réexécuter ou de supprimer des tests.
networkmanagement.connectivitytests.update Met à jour un ou plusieurs champs dans un test existant.
networkmanagement.connectivitytests.delete Supprime le test spécifié.
networkmanagement.connectivitytests.rerun Réexécute un processus de vérification de l'accessibilité unique pour un test spécifié.

Si vous ne disposez pas des autorisations nécessaires pour créer ou mettre à jour un test, les boutons correspondants sont inactifs. Ces commandes incluent le bouton Créer un test de connectivité et, sur la page Informations sur le test de connectivité, le bouton Modifier. Dans chaque cas, lorsque vous passez la souris sur le bouton "Inactif", les tests de connectivité affichent un message décrivant l'autorisation dont vous avez besoin.

Autorisations pour exécuter un test

Vous avez besoin des rôles et autorisations suivants pour exécuter un test :

  • Autorisation networkmanagement.connectivitytests.create (ou networkmanagement.connectivitytests.rerun) dans un projet avec une ressource Tests de connectivité.
  • Rôle de lecteur de réseau de Compute (roles/compute.networkViewer) ou ancien rôle de lecteur (roles/viewer) pour tous les projets inclus dans le chemin de trace.

Tenez compte des considérations supplémentaires suivantes avec différents types d'options de connectivité.

Connectivité d'appairage de réseaux VPC, NCC ou Cloud VPN

Si le chemin de trace inclut l'appairage de réseaux VPC, le Network Connectivity Center ou la connectivité Cloud VPN à un réseau dans un autre projet, un chemin de paquet dans ce réseau n'est simulé que si vous disposez des autorisations pour ce projet. Sinon, un résultat de test incomplet est renvoyé (par exemple, une trace se terminant par l'état final Forward).

Projets VPC partagé

Si un point de terminaison source ou de destination (tel qu'une instance de machine virtuelle) utilise un VPC partagé, vous devez disposer des autorisations nécessaires pour accéder aux projets hôte et de service.

  • Si vous disposez des autorisations nécessaires pour accéder aux projets hôte et de service, les informations de trace incluent des détails sur toutes les ressources pertinentes.
  • Si vous ne disposez pas des autorisations nécessaires pour accéder à l'un des projets, les informations sur les ressources définies dans ce projet sont masquées dans la trace. Une erreur d'autorisation s'affiche.
Exemples
  • Vous avez accès au projet d'instance de VM (projet de service), mais pas à son projet de réseau (projet hôte). Si vous exécutez un test avec cette instance de VM comme source (spécifiée par le nom), toutes les étapes associées au projet hôte (par exemple, l'application de pare-feu ou de routes) sont masquées.

  • Vous avez accès au projet de réseau (projet hôte), mais pas au projet de VM (projet de service). Si vous exécutez un test avec cette instance de VM comme source (spécifiée par son adresse IP), toutes les étapes associées au projet de service, par exemple une étape avec les détails de l'instance de VM, sont masquées.

Services publiés Private Service Connect

Si le paquet est envoyé au service publié Private Service Connect (via un point de terminaison Private Service Connect ou un backend Private Service Connect), la partie de la trace dans le projet de producteur n'est affichée que si vous y avez accès. Sinon, la trace se termine par un état final général tel que Paquet livré au projet de producteur PSC ou Paquet supprimé dans le projet de producteur PSC.

Services gérés par Google

Si le paquet est envoyé vers ou depuis le réseau géré par Google associé à un service géré par Google (tel que Cloud SQL), les étapes du projet géré par Google ne sont pas affichées. Une étape de démarrage générale ou une étape finale s'affiche.

Ressources gérées par Google

Certaines ressources, telles que les nœuds d'un cluster Google Kubernetes Engine Autopilot, sont créées et gérées automatiquement par Google Cloud. Lorsqu'une étape est masquée, car elle fait référence à ces ressources, elle affiche le type de ressource (par exemple, une instance de VM), mais pas ses détails.

Adresses IP publiques des Google Cloud ressources

Si vous spécifiez une adresse IP publique attribuée à une ressource dans l'un de vos projets comme source ou destination de test, mais que vous ne disposez pas des autorisations nécessaires pour accéder au projet dans lequel la ressource avec cette adresse est définie, cette adresse IP est considérée comme une adresse IP Internet. Aucun détail sur la ressource sous-jacente ou le chemin de paquet après l'accès à cette ressource n'est affiché.

Autorisations d'affichage des résultats des tests

Pour afficher les résultats des tests, tenez compte des points suivants :

  • Pour afficher les résultats des tests créés ou mis à jour après octobre 2024, vous n'avez besoin que de l'autorisation d'afficher la ressource de test (networkmanagement.connectivitytests.get). Vous n'avez pas besoin d'autorisations pour les ressources et les projets inclus dans le chemin de trace.
  • Pour afficher les résultats des tests exécutés avant octobre 2024, vous devez disposer du rôle de lecteur de réseau de Compute ou de l'ancien rôle de lecteur (roles/viewer) pour tous les projets inclus dans le chemin de trace.

Stratégies de pare-feu hiérarchiques

Votre trace peut inclure une stratégie de pare-feu hiérarchique que vous n'êtes pas autorisé à consulter. Toutefois, même si vous ne disposez pas des autorisations nécessaires pour afficher les détails de la stratégie, vous pouvez toujours voir les stratégies qui s'appliquent à votre réseau VPC. Pour en savoir plus, consultez la section Rôles IAM dans la présentation des stratégies de pare-feu hiérarchiques.

Étape suivante