Ce tutoriel vous explique comment protéger Compute Engine à l'aide d'un périmètre de service et comment résoudre un problème de non-respect des règles 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 zéro confiance autour de vos ressources sensibles, en limitant l'accès aux adresses IP, aux utilisateurs et aux appareils autorisés. Cette capacité 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 de données.
Ce tutoriel s'adresse aux administrateurs d'organisation Cloud de Confiance 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ésoudre un problème de non-respect des règles d'entrée VPC Service Controls.
Coûts
Dans ce document, vous utilisez les composants facturables de Cloud de Confiance by S3NSsuivants :
Une fois que vous avez terminé les tâches décrites dans ce document, supprimez les ressources que vous avez créées pour éviter que des frais vous soient facturés. Pour en savoir plus, consultez la section Effectuer un nettoyage.
Avant de commencer
Vous devez disposer d'une ressource d'organisation Cloud de Confiance . Si vous n'avez pas encore de compte Google Workspace ou Cloud Identity, vous devez en acquérir un. Une ressource d'organisation sera alors automatiquement créée pour vous.
Créez un dossier,
Exercise, au niveau de l'organisation.Créez deux projets,
My-Project-1etMy-Project-2, dans le dossierExercisede 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 la console Cloud de Confiance , 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 dont la portée est limitée au dossier
Exercise.Créez un périmètre avec les informations suivantes :
Titre :
MyFirstPerimeterType de périmètre : Standard
Mode d'application : Mode forcé
Ressources à protéger : projet
My-Project-2Services restreints : API Compute Engine
Vérifier le périmètre
Dans cette section, vous pouvez envoyer des demandes d'accès aux ressources des projets pour confirmer si le périmètre protège les ressources souhaitées.
Accédez au projet
My-Project-1et vérifiez que vous pouvez accéder à Compute Engine en vous rendant sur la page Instances de VM.Accéder à la page "Instances de VM"
Vous devriez pouvoir y accéder, car
My-Project-1n'est pas protégé par le périmètre que vous avez créé précédemment.Accédez au projet
My-Project-2et vérifiez que vous pouvez accéder à Compute Engine en vous rendant sur la page Instances de VM.Vous devriez constater que VPC Service Controls refuse votre demande d'accès à Compute Engine, car le périmètre
MyFirstPerimeterprotègeMy-Project-2et l'API Compute Engine.
Résoudre un problème de non-respect des règles
Les journaux d'audit de VPC Service Controls incluent des détails au sujet des 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 des règles dans le projet My-Project-2.
Consulter les journaux d'audit
Recherchez l'ID unique du cas de non-respect de VPC Service Controls dans les journaux d'audit du projet
My-Project-2:-
Dans la console Cloud de Confiance , 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 trouver les détails de l'infraction concernant l'accès à l'API Compute Engine dans le projet
My-Project-2, consultez le dernier journal d'erreurs.Pour en savoir plus, consultez 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 Analyseur de cas de non-respect de VPC Service Controls s'ouvre. Cette page indique la raison de la non-conformité et d'autres informations, par exemple si la violation concerne l'entrée ou la 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"La raison de la violation est
"NO_MATCHING_ACCESS_LEVEL". Le cas de non-respect"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 service Cloud de Confiance 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é dans le périmètre.
Créez une règle d'entrée qui autorise l'accès à un client API depuis l'extérieur du périmètre aux ressources situées à l'intérieur du périmètre.
La section suivante explique comment résoudre ce problème de refus en créant un niveau d'accès.
Créer un niveau d'accès
Dans la console Cloud de Confiance , accédez à la page Access Context Manager au niveau du dossier
Exercise.Créez un niveau d'accès avec les informations suivantes :
Pour Créer des conditions en, sélectionnez Mode de base.
Pour Lorsque la condition est remplie, renvoyer, sélectionnez Vrai.
Sélectionnez l'attribut Sous-réseaux IP, puis spécifiez l'adresse IP publique de votre système.
Sélectionnez l'attribut Emplacements géographiques, puis spécifiez votre emplacement géographique.
Ce niveau d'accès n'autorise l'accès que lorsque l'adresse IP et l'emplacement 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 dossier
Exerciseau périmètreMyFirstPerimeter.
Tester l'accès
Après avoir ajouté le niveau d'accès, vérifiez que vous pouvez accéder à Compute Engine dans le projet My-Project-2 et créer une instance de VM.
Dans la console Cloud de Confiance , accédez à la page Instances de VM.
Au bout d'une minute environ, Compute Engine crée une instance de VM. Cette action permet de vérifier que vous disposez d'un accès complet à Compute Engine protégé à l'intérieur du périmètre.
Effectuer un nettoyage
Pour éviter que les ressources utilisées dans ce tutoriel soient facturées sur votre compte Google Cloud, supprimez le projet contenant les ressources, ou conservez le projet et supprimez chaque ressource individuellement.
Supprimer le projet
- In the Cloud de Confiance 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 Cloud de Confiance 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 du dossier
Exercise.