Ce tutoriel vous explique comment protéger Compute Engine à l'aide d'un périmètre de service et résoudre un cas de violation d'entrée pour autoriser l'accès à Compute Engine.
VPC Service Controls vous permet de définir un périmètre de service autour des ressources des services gérés par Google afin de contrôler les communications avec et entre ces services. Vous pouvez établir un périmètre de confiance zéro autour de vos ressources sensibles, en limitant l'accès aux adresses IP, utilisateurs et appareils autorisés. Cette fonctionnalité vous permet de définir des règles de sécurité qui empêchent l'accès aux services gérés par Google en dehors d'un périmètre approuvé, de bloquer l'accès aux données depuis des emplacements non approuvés et de limiter les risques d'exfiltration des données.
Ce tutoriel s'adresse aux Google Cloud administrateurs d'organisations qui souhaitent découvrir les concepts de base de VPC Service Controls.
Objectifs
- Comprendre les principes de base de VPC Service Controls
- Créer un périmètre de service
- Protéger un projet à l'aide de VPC Service Controls
- Résolvez un cas de non-respect des règles d'entrée VPC Service Controls.
Coûts
Dans ce document, vous utilisez les composants facturables suivants de Google Cloud :
Obtenez une estimation des coûts en fonction de votre utilisation prévue à l'aide du simulateur de coût.
Une fois que vous avez terminé les tâches décrites dans ce document, vous pouvez éviter de continuer à payer des frais en supprimant les ressources que vous avez créées. Pour en savoir plus, consultez la section Effectuer un nettoyage.
Avant de commencer
Vous devez disposer d'une Google Cloud ressource Organisation. Si vous ne possédez pas encore de compte Google Workspace ou Cloud Identity, vous devez en créer un. Une ressource Organisation sera alors automatiquement créée pour vous.
Créez un dossier,
Exercise
, au niveau de l'organisation.Créez deux projets,
My-Project-1
etMy-Project-2
, dans le dossierExercise
de la même organisation.Assurez-vous de disposer des autorisations et des rôles suivants au niveau de l'organisation:
Autorisations et rôles requis pour configurer VPC Service Controls
Autorisations et rôles requis pour gérer Compute Engine.
Créer un périmètre de service
Créez un périmètre de service qui protège l'API Compute Engine dans le projet My-Project-2
:
Dans Google Cloud Console, accédez à la page VPC Service Controls.
Accéder à VPC Service Controls
Assurez-vous d'être dans le champ d'application de l'organisation.
Cliquez sur Gérer les règles.
Créez une règle d'accès limitée au dossier
Exercise
.Créez un périmètre avec les informations suivantes:
Titre :
MyFirstPerimeter
Type de périmètre: Standard
Mode d'application: Enforced (Application forcée)
Ressources à protéger: projet
My-Project-2
Services soumis à des restrictions: API Compute Engine
Vérifier le périmètre
Dans cette section, vous pouvez envoyer des requêtes d'accès aux ressources des projets pour vérifier si le périmètre protège les ressources prévues.
Accédez au projet
My-Project-1
et vérifiez que vous pouvez accéder à Compute Engine en accédant à la page Instances de VM.Accéder à la page Instances de VM
Vous devriez pouvoir y accéder, car
My-Project-1
n'est pas protégé par le périmètre que vous avez créé précédemment.Accédez au projet
My-Project-2
et vérifiez que vous pouvez accéder à Compute Engine en accédant à la page Instances de VM.Vous devriez voir que VPC Service Controls refuse votre demande d'accès à Compute Engine, car le périmètre
MyFirstPerimeter
protègeMy-Project-2
et l'API Compute Engine.
Résoudre un cas de non-respect
Les journaux d'audit VPC Service Controls incluent des détails sur les requêtes sur des ressources protégées et la raison pour laquelle VPC Service Controls a refusé la requête. Vous avez besoin de ces informations pour identifier et résoudre le problème de non-respect dans le projet My-Project-2
.
Consulter les journaux d'audit
Recherchez l'ID unique du non-respect de VPC Service Controls dans les journaux d'audit du projet
My-Project-2
:-
Dans la console Google Cloud, accédez à la page Explorateur de journaux.
Accéder à l'explorateur de journaux
Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Logging.
Sélectionnez le projet
My-Project-2
.Pour afficher tous les journaux d'audit, saisissez la requête suivante dans le champ de l'éditeur de requête:
resource.type="audited_resource" protoPayload.metadata."@type"="type.googleapis.com/google.cloud.audit.VpcServiceControlAuditMetadata"
Cliquez sur Exécuter la requête.
Cette requête affiche tous les journaux d'audit VPC Service Controls. Pour connaître les détails de l'infraction concernant l'accès à l'API Compute Engine dans le projet
My-Project-2
, consultez le dernier journal des erreurs.Pour en savoir plus, consultez la section Afficher les journaux.
-
Dans le volet Résultats de la requête, cliquez sur VPC Service Controls à côté du refus que vous souhaitez résoudre, puis sur Dépanner le refus.
La page Outil de dépannage VPC Service Controls s'ouvre. Cette page indique le motif du non-respect et d'autres informations, par exemple si le non-respect concerne une entrée ou une sortie.
Dans ce tutoriel, recherchez les informations suivantes:
"principalEmail": "USER@DOMAIN" "callerIp": "PUBLIC_IP_ADDRESS" "serviceName": "compute.googleapis.com" "servicePerimeterName": "accessPolicies/POLICY_NUMBER/servicePerimeters/MyFirstPerimeter "ingressViolations": [ { "targetResource": "projects/PROJECT_NUMBER", "servicePerimeter": "accessPolicies/POLICY_NUMBER/servicePerimeters/MyFirstPerimeter" } ], "violationReason": "NO_MATCHING_ACCESS_LEVEL", "resourceNames": "PROJECT_ID"
Le motif de non-respect est
"NO_MATCHING_ACCESS_LEVEL"
. La violation"NO_MATCHING_ACCESS_LEVEL"
se produit lorsque l'adresse IP, le type d'appareil ou l'identité de l'utilisateur ne correspondent à aucune règle d'entrée ni à aucun niveau d'accès associés au périmètre. Si l'adresse IP de l'appelant est manquante ou apparaît en tant qu'adresse IP interne dans le journal, cette violation peut être due à un Google Cloud service qui n'est pas compatible avec VPC Service Controls.
Pour corriger ce refus dans le projet My-Project-2
, deux options s'offrent à vous:
Créez un niveau d'accès qui autorise l'accès à l'adresse IP de votre système au projet situé à l'intérieur du périmètre.
Créez une règle d'entrée qui autorise l'accès d'un client API situé en dehors du périmètre aux ressources de ce périmètre.
La section suivante explique comment résoudre ce refus en créant un niveau d'accès.
Créer un niveau d'accès
Dans la console Google Cloud, accédez à la page Access Context Manager au niveau du champ d'application
Exercise
.Créez un niveau d'accès avec les informations suivantes:
Pour Créer des conditions en, sélectionnez Mode de base.
Pour When condition is met, return (Lorsque la condition est remplie, renvoyer), sélectionnez True (Vrai).
Sélectionnez l'attribut Sous-réseaux IP, puis spécifiez l'adresse IP publique de votre système.
Sélectionnez l'attribut Zones géographiques, puis indiquez votre zone géographique.
Ce niveau d'accès n'autorise l'accès que lorsque l'adresse IP et la position géographique correspondent.
Accédez à la page VPC Service Controls au niveau de l'organisation.
Sélectionnez la règle d'accès que vous avez créée précédemment dans ce tutoriel.
Ajoutez le niveau d'accès que vous avez créé au niveau du champ d'application du dossier
Exercise
au périmètreMyFirstPerimeter
.
Tester l'accès
Une fois le niveau d'accès ajouté, vérifiez que vous pouvez accéder à Compute Engine dans le projet My-Project-2
et créer une instance de VM.
Dans Google Cloud Console, accédez à la page Instances de VM.
Au bout d'une minute environ, Compute Engine crée une instance de VM. Cette action vérifie que vous disposez d'un accès complet à Compute Engine protégé dans le périmètre.
Effectuer un nettoyage
Pour éviter que les ressources utilisées lors de ce tutoriel soient facturées sur votre compte Google Cloud, supprimez le projet contenant les ressources, ou conservez le projet et supprimez les ressources individuelles.
Supprimer le projet
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
Supprimer des ressources individuelles
Supprimer des instances de VM
- In the Google Cloud console, go to the VM instances page.
- Select the checkbox for the instance that you want to delete.
- To delete the instance, click More actions, click Delete, and then follow the instructions.
Supprimer des ressources VPC Service Controls
Supprimez le niveau d'accès que vous avez créé au niveau de la portée du dossier
Exercise
.