Configurer VPC Service Controls et des clusters privés

Cette page décrit le fonctionnement de VPC Service Controls et des clusters privés, et explique comment les configurer dans Cloud Workstations.

VPC Service Controls

VPC Service Controls offre une sécurité supplémentaire pour vos stations de travail afin de réduire le risque d'exfiltration de données. À l'aide de VPC Service Controls, vous pouvez ajouter des projets aux périmètres de service afin de protéger les ressources et les services contre les requêtes provenant de l'extérieur du périmètre.

Voici les conditions requises pour utiliser Cloud Workstations dans un périmètre de service VPC:

  • Pour protéger Cloud Workstations, vous devez restreindre l'API Compute Engine dans votre périmètre de service chaque fois que vous restreignez l'API Cloud Workstations.
  • Assurez-vous que les API Google Cloud Storage, Google Container Registry et API Artifact Registry sont accessibles par VPC dans votre périmètre de service. Cela est nécessaire pour récupérer des images sur votre poste de travail. Nous vous recommandons également d'autoriser l'accès VPC des API Cloud Logging et Cloud Error Reporting dans votre périmètre de service, bien que cela ne soit pas obligatoire pour utiliser Cloud Workstations.

  • Assurez-vous que votre cluster de stations de travail est privé. La configuration d'un cluster privé empêche les connexions à vos stations de travail en dehors de votre périmètre de service VPC. Le service Cloud Workstations empêche la création de clusters publics dans un périmètre de service VPC.
  • Veillez à désactiver les adresses IP publiques dans la configuration de votre station de travail. Si vous ne le faites pas, des VM avec des adresses IP publiques dans votre projet seront générées. Nous vous recommandons vivement d'utiliser la contrainte de règle d'administration constraints/compute.vmExternalIpAccess pour désactiver les adresses IP publiques pour toutes les VM de votre périmètre de service VPC. Pour en savoir plus, consultez la section Restreindre les adresses IP externes à des VM spécifiques.

Pour en savoir plus sur les périmètres de service, consultez la page Périmètres de service : détails et configuration.

Architecture

Lorsque vous configurez un cluster de stations de travail comme privé, le plan de contrôle du cluster ne possède qu'une adresse IP interne. Cela signifie que les clients de l'Internet public ne peuvent pas se connecter aux stations de travail appartenant au cluster de stations de travail. Pour utiliser un cluster privé, vous devez le connecter manuellement à votre réseau cloud privé virtuel (VPC) via un point de terminaison Private Service Connect.

Les configurations avec des clusters privés nécessitent deux points de terminaison PSC:

  • Par défaut, Cloud Workstations crée un point de terminaison PSC distinct pour connecter le plan de contrôle aux VM de stations de travail.

  • Vous devez créer un point de terminaison PSC supplémentaire pour les clusters privés. Pour vous connecter à partir de votre machine locale à une station de travail dans un cluster privé, votre machine locale doit être connectée à votre réseau VPC. Utilisez Cloud VPN ou Cloud Interconnect pour connecter au réseau VPC le réseau externe sur lequel vous exécutez votre machine.

Le schéma suivant illustre un exemple d'architecture d'un cluster privé:

Figure 1. Clusters privés

Avant de commencer

Avant de commencer, assurez-vous de suivre ces étapes de configuration obligatoires:

  1. Connectez-vous à votre compte Google Cloud. Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits gratuits pour exécuter, tester et déployer des charges de travail.
  2. Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.

    Accéder au sélecteur de projet

  3. Vérifiez que la facturation est activée pour votre projet Google Cloud.

  4. Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.

    Accéder au sélecteur de projet

  5. Vérifiez que la facturation est activée pour votre projet Google Cloud.

  6. Activez Cloud Workstations API.

    Activer l'API

  7. Assurez-vous de disposer du rôle IAM d'administrateur Cloud Workstations sur le projet pour pouvoir créer des configurations de stations de travail. Pour vérifier vos rôles IAM dans la console Google Cloud, accédez à la page IAM:

    Accéder à IAM

  8. Si la contrainte de règle d'administration constraints/compute.trustedimageProjects est appliquée, vous devez ajouter à la liste d'autorisation le projet dont provient l'image.
    • Sans virtualisation imbriquée, vous devez autoriser votre projet à utiliser les images de VM Compute Engine du projet cos-cloud.
    • Avec la virtualisation imbriquée, vous devez autoriser votre projet à utiliser les images de VM Compute Engine du projet ubuntu-os-gke-cloud.

    Pour en savoir plus, consultez la section Définir des contraintes d'accès aux images.

  9. Facultatif:Activez l'API Container File System pour accélérer le démarrage de la station de travail.

    Activer l'API Container File System

    Pour en savoir plus, consultez la section Réduire le temps de démarrage de la station de travail avec le streaming d'images.

Créer un cluster privé

Pour créer un cluster privé, procédez comme suit:

  1. Dans la console Google Cloud, accédez à la page Cloud Workstations.

    Accéder à Cloud Workstations

  2. Accédez à la page Gestion des clusters du poste de travail.

  3. Cliquez sur Créer.

  4. Saisissez le nom et sélectionnez une région pour votre cluster de stations de travail.

  5. Dans la section "Mise en réseau", sélectionnez Réseaux dans ce projet.

  6. Sélectionnez un réseau et un sous-réseau.

  7. Dans le champ Type de passerelle, sélectionnez Passerelle privée.

  8. Facultatif: spécifiez un ou plusieurs projets supplémentaires hébergeant le point de terminaison Private Service Connect qui active l'accès HTTP à votre cluster privé. Par défaut, ce point de terminaison ne peut être créé que dans le projet de cluster de stations de travail et le projet hôte du réseau VPC (s'ils sont différents). Si nécessaire, ces projets peuvent également être spécifiés après la création du cluster.

  9. Cliquez sur Créer.

Activer la connectivité du cluster privé

Les clients ne peuvent pas se connecter aux stations de travail des clusters de stations de travail privées depuis l'Internet public. Les clients doivent se trouver sur un réseau qui se connecte au cluster de stations de travail à l'aide de Private Service Connect (PSC). Suivez la procédure décrite dans cette section pour vous connecter à une station de travail:

  1. Créez un point de terminaison PSC qui cible le rattachement de service de votre poste de travail.

  2. Créez une zone DNS privée.

  3. Utilisez Cloud DNS pour créer un enregistrement DNS qui mappe le nom d'hôte de votre cluster sur le point de terminaison PSC.

Créer un point de terminaison Private Service Connect

Pour créer un point de terminaison PSC, procédez comme suit:

  1. Dans la console Google Cloud, accédez à Private Service Connect.

    Accéder à Private Service Connect

  2. Cliquez sur l'onglet Points de terminaison connectés, puis sur ajouterConnecter un point de terminaison.

  3. Pour Cible, sélectionnez Service publié

  4. Dans le champ Service cible, saisissez l'URI du rattachement de service créé pour le cluster de stations de travail. Pour ce faire, accédez à votre cluster de stations de travail sur la console, puis recherchez le champ URI du rattachement de service sous Paramètres réseau.

  5. Dans le champ Point de terminaison, saisissez un nom de point de terminaison.

  6. Sélectionnez un réseau pour le point de terminaison, puis un sous-réseau. Il doit s'agir de celui que vous souhaitez utiliser pour vous connecter à vos stations de travail.

  7. Sélectionnez une adresse IP pour le point de terminaison.

    Si vous avez besoin d'une nouvelle adresse IP, sélectionnez Créer une adresse IP:

    1. Saisissez un nom et une description facultative pour l'adresse IP.
    2. Pour une adresse IP statique, sélectionnez Attribuer automatiquement. Pour une adresse IP personnalisée, sélectionnez Je souhaite choisir moi-même et saisissez l'adresse IP que vous souhaitez utiliser.
    3. Dans le champ Objectif, sélectionnez Non partagé.
    4. Cliquez sur Réserver.
  8. Sélectionnez un espace de noms dans la liste déroulante ou créez-en un. La valeur Région est renseignée en fonction du sous-réseau sélectionné.

  9. Cliquez sur Ajouter un point de terminaison.

  10. Copiez l'adresse IP du point de terminaison afin de pouvoir l'utiliser dans la section suivante, intitulée Créer une zone DNS privée et un enregistrement DNS.

Créer une zone DNS privée

Suivez ces étapes pour créer une zone DNS privée pour ce cluster de stations de travail avec le nom DNS défini sur votre clusterHostname, que vous pouvez trouver en accédant à votre cluster de stations de travail sur la console.

  1. Dans la console Google Cloud, accédez à la page Créer une zone DNS.

    Accéder à Créer une zone DNS

  2. Dans le champ Type de zone, sélectionnez Privé.

  3. Saisissez un Nom de zone, tel que private-workstations-cluster-zone.

  4. Saisissez un suffixe de Nom DNS pour la zone privée. Tous les enregistrements de la zone partagent ce suffixe. Attribuez-lui ce nom : clusterHostname.

    Pour trouver votre clusterHostname, accédez à la page Cloud Workstations  > Gestion des clusters dans la console Google Cloud, puis cliquez sur votre cluster de stations de travail pour afficher le nom d'hôte.

  5. Facultatif : ajoutez une description.

  6. Dans le champ Options, sélectionnez Par défaut (privé).

  7. Sélectionnez le réseau sur lequel vous avez créé le point de terminaison PSC dans la section précédente, car l'adresse IP n'est valide que sur ce réseau.

  8. Cliquez sur Créer.

Pour en savoir plus sur les zones DNS privées, consultez la documentation de Cloud DNS sur la création d'une zone privée et les bonnes pratiques pour les zones privées Cloud DNS.

Créer un enregistrement DNS

Pour ajouter un enregistrement qui mappe *.<clusterHostname> à l'adresse IP réservée lors de la création du point de terminaison Private Service Connect, procédez comme suit:

  1. Dans la console Google Cloud, accédez à la page Zones Cloud DNS.

    Accéder aux zones Cloud DNS

  2. Cliquez sur le nom de la zone gérée à laquelle vous souhaitez ajouter l'enregistrement.

  3. Sur la page Détails de la zone, cliquez sur Ajouter un jeu d'enregistrements standard.

  4. Sur la page Créer un jeu d'enregistrements, saisissez *.<clusterHostname> dans le champ Nom DNS.

  5. Dans le champ Adresse IP, saisissez l'adresse IP que vous avez réservée pour votre point de terminaison Private Service Connect dans la section précédente.

  6. Cliquez sur Créer.

  7. Votre réseau VPC devrait maintenant être connecté au cluster de stations de travail, et vous pouvez vous connecter aux stations de travail à l'aide de ce réseau.

Activer la résolution DNS sur site

Pour utiliser l'éditeur basé sur le navigateur par défaut sur votre poste de travail, utilisez le navigateur d'une machine connectée au réseau VPC. Vous pouvez utiliser Cloud VPN ou Cloud Interconnect pour vous connecter au réseau VPC depuis le réseau externe sur lequel vous exécutez votre navigateur.

Pour vous connecter depuis un réseau externe, vous devez configurer le DNS sur le réseau externe. Comme lors des étapes précédentes, vous pouvez créer une zone DNS pour clusterHostname et ajouter un enregistrement qui mappe *.<clusterHostname> à l'adresse IP réservée lors de la création du point de terminaison Private Service Connect. Vous pouvez également configurer des zones de transfert DNS ou des règles de serveur DNS pour autoriser la recherche de noms DNS entre vos environnements sur site et Google Cloud.

Vous devrez peut-être également ajouter *cloudworkstations.dev à la liste d'autorisation de votre infrastructure sur site.

Étapes suivantes