1. Introduction
VPC Service Controls (VPC-SC) est un contrôle de sécurité au niveau de l'organisation dans Google Cloud qui permet aux entreprises clientes de limiter les risques d'exfiltration de données. VPC Service Controls offre un accès "zéro confiance" aux services mutualisés en permettant aux clients de limiter l'accès aux adresses IP autorisées, au contexte du client et aux paramètres de l'appareil lorsqu'ils se connectent aux services mutualisés depuis Internet et d'autres services, afin de réduire les pertes intentionnelles et involontaires. Vous pouvez utiliser VPC Service Controls pour créer des périmètres qui protègent les ressources et les données des services que vous spécifiez explicitement.
Les objectifs de ce tutoriel sont les suivants:
- Comprendre les principes de base de VPC Service Controls
- Créer un périmètre de service VPC
- 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
2. Préparation
Pour ce tutoriel, nous avons besoin des prérequis suivants:
- Une organisation GCP.
- Un dossier dans l'organisation.
- Deux projets GCP de la même organisation placés dans le dossier.
- Les autorisations requises au niveau de l'organisation.
- compte de facturation pour les deux projets.
Configuration des ressources
- Dans la console Google Cloud, créez un dossier sous l'organisation et deux nouveaux projets (vous pouvez réutiliser les projets existants).
(Si vous ne possédez pas encore de compte Google Workspace/Cloud Identity, vous devez en acquérir un, car vous aurez besoin d'une organisation pour suivre ce tutoriel.)
- Vérifiez que vous disposez des autorisations appropriées pour ce tutoriel au niveau de l'organisation.
- Rôles IAM pour les dossiers
- Autorisations et rôles pour les projets
- Autorisations et rôles requis pour configurer VPC Service Controls
- Autorisations et rôles requis pour gérer Compute Engine
- Assurez-vous que les deux projets sont disponibles dans le dossier, car nous devons créer une règle de champ d'application au niveau du dossier. Découvrez comment déplacer un projet dans un dossier.
Coût
Vous devez activer la facturation dans la console Cloud pour utiliser les ressources/API Cloud. L'exécution de cet atelier de programmation est très peu coûteuse, voire sans frais. Pour désactiver les ressources et éviter ainsi que des frais ne vous soient facturés après ce tutoriel, vous pouvez supprimer le projet ou les ressources que vous avez créées. Les nouveaux utilisateurs de Google Cloud peuvent participer au programme d'essai sans frais avec un crédit de 300 $.
La seule ressource qui générera un coût est l'instance de VM. Une estimation du coût est disponible dans le simulateur de coût.
3. Créer un périmètre
Dans ce laboratoire, nous allons effectuer les étapes suivantes:
- Dans la console Google, sélectionnez votre organisation, puis Accéder à VPC Service Controls. Veuillez vous assurer que vous êtes bien au niveau de l'organisation.
- Cliquez sur "Gérer les règles". Pour créer une règle d'accès limitée à l'atelier de programmation .
- Créez un périmètre en mode forcé. Appelons-la "SuperProtection" pour ce tutoriel.
- Lorsque vous créez le périmètre, sélectionnez le projet qui sera défini comme ProjectZ.
- Sélectionnez le type de périmètre "Standard".
- Dans la boîte de dialogue Spécifier les services à restreindre, sélectionnez "Compute Engine" comme service à restreindre.
La configuration du périmètre doit se présenter comme suit:
4. Vérifier que le périmètre a été appliqué
- Accédez à ProjectX et vérifiez si vous pouvez accéder à l'API Compute Engine en consultant la page d'accueil des instances de VM. Vous devriez pouvoir le faire, car le projetX n'est pas protégé par le périmètre VPC SC créé.
- Accédez à ProjectZ et vérifiez que vous pouvez accéder à Compute Engine. Vous pouvez constater que cette requête a été interdite par VPC Service Controls, car le périmètre de service SuperProtection protège ProjectZ et l'API Compute Engine.
5. Résoudre les problèmes liés au refus
Nous devons d'abord identifier la nature exacte du problème afin de déterminer comment le résoudre.
- Les journaux VPC Service Controls contiennent des détails sur les requêtes adressées à des ressources protégées et la raison pour laquelle VPC Service Controls a refusé la requête. Pour trouver l'ID unique VPC Service Controls dans les journaux d'audit ProjectZ, exécutez la requête suivante dans l'explorateur de journaux:
resource.type="audited_resource" protoPayload.metadata."@type"="type.googleapis.com/google.cloud.audit.VpcServiceControlAuditMetadata"
Tous les journaux d'audit de VPC Service Controls s'affichent. Nous allons rechercher le dernier journal d'erreurs.
- Cliquez sur l'en-tête VPC Service Controls, puis sélectionnez "Résoudre les problèmes de refus". qui ouvrira l'outil de dépannage de VPC Service Controls.
Cette API nous indiquera le motif de non-respect dans une interface utilisateur conviviale et, entre autres, s'il s'agit d'un cas de non-respect des règles d'entrée ou de sortie.
Pour cet exercice, nous allons étudier les éléments suivants:
"principalEmail": "user@domain" "callerIp": "PUBLIC_IP_ADDRESS" "serviceName": "compute.googleapis.com" "servicePerimeterName": "accessPolicies/[POLICY_NUMBER]/servicePerimeters/SuperProtection "ingressViolations": [ { "targetResource": "projects/[PROJECT_NUMBER]", "servicePerimeter": "accessPolicies/[POLICY_NUMBER]/servicePerimeters/SuperProtection" } ], "violationReason": "NO_MATCHING_ACCESS_LEVEL", "resourceNames": "[PROJECT_ID]"
Nous avons deux options pour résoudre ce refus dans ProjectZ.
- Créer un niveau d'accès pour autoriser l'accès au projet dans le périmètre en autorisant l'accès à l'adresse IP de mon système
- Créer une règle d'entrée pour autoriser un client API depuis l'extérieur du périmètre de service à accéder aux ressources situées dans ce périmètre.
Dans ce tutoriel, nous allons résoudre le problème en créant un niveau d'accès.
- Accédez à Access Context Manager au niveau du dossier (atelier de programmation), puis créez un niveau d'accès.
- Utiliser le "mode de base" et nous autoriserons l'accès lorsque les conditions "Sous-réseau IP" et "Emplacement géographique" sont remplies.
- Accédez à VPC Service Controls au niveau de l'organisation. Sélectionnez votre règle d'accès pour cet atelier de programmation et modifiez le périmètre que nous avons créé précédemment.
- Ajoutez le niveau d'accès créé au niveau du dossier, puis enregistrez.
6. Résultats des tests
Vérifiez que nous avons accès à Compute Engine et que nous pouvons créer une instance de VM. Maintenant que nous avons créé le niveau d'accès, essayons d'accéder à Compute Engine dans ProjectZ et de créer une instance de VM.
- Accédez à Compute Engine et cliquez sur Créer une instance.
- Conservez toutes les valeurs par défaut et essayez de créer une instance de VM à faible coût.
Après environ une minute, l'instance de VM créée doit s'afficher, et vous pouvez vérifier que vous disposez d'un accès complet à la VM Compute Engine protégée dans le périmètre.
7. Nettoyage
Bien qu'il n'y ait pas de frais distincts pour l'utilisation de VPC Service Controls lorsque le service n'est pas utilisé, il est recommandé de nettoyer la configuration utilisée dans ce laboratoire. Vous pouvez également supprimer votre instance de VM et/ou vos projets Cloud pour éviter des frais. La suppression de votre projet Cloud arrête la facturation de toutes les ressources utilisées dans ce projet.
- Pour supprimer votre instance de VM, cochez la case située à gauche de son nom, puis cliquez sur Supprimer.
- Pour supprimer le périmètre, procédez comme suit:
- Dans la console Google Cloud, cliquez sur Sécurité, puis sur VPC Service Controls au niveau de l'organisation.
- Sur la page VPC Service Controls, sur la ligne du tableau correspondant au périmètre que vous souhaitez supprimer, cliquez sur l'icône de suppression.
- Pour supprimer le niveau d'accès, procédez comme suit:
- Dans la console Google Cloud, ouvrez la page Access Context Manager au niveau du dossier.
- Dans la grille, sur la ligne du niveau d'accès que vous souhaitez supprimer, cliquez sur "Supprimer l'icône", puis sur Supprimer.
- Pour arrêter vos projets, procédez comme suit:
- Dans la console Google Cloud, accédez à la page IAM et Paramètres d'administration du projet que vous souhaitez supprimer.
- Dans l'IAM et Paramètres de l'administrateur, cliquez sur Arrêter.
- Saisissez l'ID du projet, puis cliquez sur Arrêter quand même.
8. Félicitations !
Dans cet atelier de programmation, vous avez créé un périmètre VPC Service Controls, l'avez appliqué et résolu les problèmes.
En savoir plus
- Consultez la documentation de VPC Service Controls.
- Consultez la documentation d'Access Context Manager.
- Consultez la documentation de l'outil de dépannage de VPC-SC.
Licence
Ce document est publié sous une licence Creative Commons Attribution 2.0 Generic.