Protéger Compute Engine à l'aide d'un périmètre VPC Service Controls

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

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 :

  1. 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.

  2. Cliquez sur Gérer les règles.

  3. Créez une règle d'accès dont la portée est limitée au dossier Exercise.

  4. Créez un périmètre avec les informations suivantes :

    • Titre : MyFirstPerimeter

    • Type de périmètre : Standard

    • Mode d'application : Mode forcé

    • Ressources à protéger : projet My-Project-2

    • Services 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.

  1. Accédez au projet My-Project-1 et 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-1 n'est pas protégé par le périmètre que vous avez créé précédemment.

  2. Accédez au projet My-Project-2 et 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 MyFirstPerimeter protège My-Project-2 et 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

  1. Recherchez l'ID unique du cas de non-respect de VPC Service Controls dans les journaux d'audit du projet My-Project-2 :

    1. 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.

    2. Sélectionnez le projet My-Project-2.

    3. 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"
      
    4. 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.

  2. 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

  1. Dans la console Cloud de Confiance , accédez à la page Access Context Manager au niveau du dossier Exercise.

    Accéder à Access Context Manager

  2. 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.

  3. Accédez à la page VPC Service Controls au niveau de l'organisation.

    Accéder à VPC Service Controls

  4. Sélectionnez la règle d'accès que vous avez créée précédemment dans ce tutoriel.

  5. Ajoutez le niveau d'accès que vous avez créé au niveau du dossier Exercise au périmètre MyFirstPerimeter.

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.

  1. Dans la console Cloud de Confiance , accédez à la page Instances de VM.

    Accéder à la page "Instances de VM"

  2. Créez une instance 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

  1. In the Cloud de Confiance console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. 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

  1. In the Cloud de Confiance console, go to the VM instances page.

    Go to VM instances

  2. Select the checkbox for the instance that you want to delete.
  3. To delete the instance, click More actions, click Delete, and then follow the instructions.

Supprimer des ressources VPC Service Controls

  1. Supprimez le périmètre de service.

  2. Supprimez le niveau d'accès que vous avez créé au niveau du dossier Exercise.

Étapes suivantes