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 Connectivity Tests.
Pour en savoir plus sur chaque autorisation, consultez le tableau des autorisations.
Pour en savoir plus sur les rôles au niveau du projet et les ressources Google Cloud , consultez les documentations suivantes :
- Documentation de Resource Manager
- Documentation sur Identity and Access Management
- Documentation de Compute Engine décrivant le contrôle des accès
Rôles prédéfinis
Connectivity Tests 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.
(
Full access to Network Management resources.
Lowest-level resources where you can grant this role:
(
Grants the GCP Network Management API the authority to complete analysis based on network configurations from Compute Engine and Container Engine.
(
Read-only access to Network Management resources.
Lowest-level resources where you can grant this role:
Role
Permissions
Network Management Admin
roles/)
networkmanagement.*
networkmanagement.networkmanagement.networkmanagement.networkmanagement.networkmanagement.networkmanagement.networkmanagement.networkmanagement.networkmanagement.networkmanagement.networkmanagement.networkmanagement.networkmanagement.networkmanagement.networkmanagement.networkmanagement.networkmanagement.networkmanagement.networkmanagement.networkmanagement.resourcemanager.resourcemanager.projects.getresourcemanager.projects.list
GCP Network Management Service Agent
roles/)
cloudsql.instances.getcloudsql.instances.listcompute.addresses.getcompute.addresses.listcompute.backendServices.getcompute.backendServices.listcompute.compute.compute.firewalls.getcompute.firewalls.listcompute.forwardingRules.getcompute.forwardingRules.listcompute.globalAddresses.getcompute.globalAddresses.listcompute.compute.compute.compute.compute.healthChecks.getcompute.healthChecks.listcompute.httpHealthChecks.getcompute.httpHealthChecks.listcompute.httpsHealthChecks.getcompute.httpsHealthChecks.listcompute.instanceGroups.getcompute.instanceGroups.listcompute.instances.getcompute.instances.listcompute.compute.compute.networks.getcompute.compute.networks.listcompute.compute.packetMirrorings.getcompute.packetMirrorings.listcompute.compute.compute.regionHealthChecks.getcompute.compute.compute.compute.compute.compute.compute.compute.compute.compute.regionUrlMaps.getcompute.regionUrlMaps.listcompute.routers.getcompute.routers.listcompute.routes.getcompute.routes.listcompute.subnetworks.getcompute.subnetworks.listcompute.targetGrpcProxies.getcompute.targetGrpcProxies.listcompute.targetHttpProxies.getcompute.targetHttpProxies.listcompute.targetHttpsProxies.getcompute.compute.targetInstances.getcompute.targetInstances.listcompute.targetPools.getcompute.targetPools.listcompute.targetSslProxies.getcompute.targetSslProxies.listcompute.targetTcpProxies.getcompute.targetTcpProxies.listcompute.targetVpnGateways.getcompute.targetVpnGateways.listcompute.urlMaps.getcompute.urlMaps.listcompute.vpnGateways.getcompute.vpnGateways.listcompute.vpnTunnels.getcompute.vpnTunnels.listcontainer.clusters.getcontainer.clusters.listcontainer.nodes.getcontainer.nodes.list
Network Management Viewer
roles/)
networkmanagement.networkmanagement.networkmanagement.networkmanagement.locations.*
networkmanagement.networkmanagement.networkmanagement.networkmanagement.networkmanagement.networkmanagement.networkmanagement.resourcemanager.resourcemanager.projects.getresourcemanager.projects.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 Connectivity Tests.
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 ressources Google Cloud .
Étant donné que les tests de connectivité doivent disposer d'un accès en lecture aux configurations de ressourcesGoogle Cloud sur 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 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 de service l'un des rôles prédéfinis suivants pour les projets Google Cloud :
project.viewer: dispose de toutes les autorisations d'un rôlenetworkmanagement.viewer.project.editorouproject.owner: dispose de toutes les autorisations du rôlenetworkmanagement.admin.
Autorisations
Cette section décrit les autorisations pour Connectivity Tests et leur utilisation lors du test de différents types de configurations réseau.
Autorisations Connectivity Tests
Connectivity Tests 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 pointez sur le bouton "Inactif", les tests de connectivité affichent un message décrivant l'autorisation dont vous avez besoin.
Autorisations nécessaires pour exécuter un test
Pour exécuter un test, vous devez disposer des rôles et autorisations suivants :
- Autorisation
networkmanagement.connectivitytests.create(ounetworkmanagement.connectivitytests.rerun) dans un projet avec une ressource Tests de connectivité. - Rôle Lecteur de réseau Compute (
roles/compute.networkViewer) ou ancien rôle Lecteur (roles/viewer) pour tous les projets inclus dans le chemin de trace.
Tenez compte des points supplémentaires suivants concernant les 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, 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 de VPC partagé
Si un point de terminaison source ou de destination (tel qu'une instance de machine virtuelle (VM)) utilise un VPC partagé, vous devez être autorisé à accéder aux projets hôte et de service.
- Si vous êtes autorisé à accéder à la fois au projet hôte et au projet de service, les informations de trace incluent des détails sur toutes les ressources concernées.
- 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 du 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 remis 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 (comme Cloud SQL), les étapes à l'intérieur du projet géré par Google ne sont pas affichées. Une étape de début ou de fin générale s'affiche.
Adresses IP publiques des ressources Google Cloud
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 n'avez pas les 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. Aucune information sur la ressource sous-jacente ni sur le chemin de paquets après l'accès à cette ressource n'est affichée.
Autorisations d'affichage des résultats des tests
Pour afficher les résultats du test, notez les 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 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.
Étapes suivantes
- Gérez les règles d'accès.
- Découvrez Connectivity Tests.
- Créer et exécuter des tests de connectivité
- Résolvez les problèmes liés à Connectivity Tests.