Configurer VPC Service Controls et les clusters privés

Cette page décrit le fonctionnement de VPC Service Controls et des clusters privés, ainsi que la procédure à suivre pour les configurer dans Cloud Workstations.

VPC Service Controls

VPC Service Controls fournit des mesures de sécurité supplémentaires à vos postes de travail pour 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 des requêtes provenant de l'extérieur du périmètre.

Voici les exigences liées à l'utilisation de Cloud Workstations dans un périmètre de service VPC :

  • Pour protéger Cloud Workstations, vous devez limiter l'API Compute Engine dans votre périmètre de service chaque fois que vous limitez l'API Cloud Workstations.
  • Assurez-vous que l'API Google Cloud Storage et l'API Artifact Registry sont accessibles par les 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'API Cloud Logging et l'API Cloud Error Reporting pour qu'elles soient accessibles par les VPC dans votre périmètre de service, même si cela n'est pas obligatoire pour utiliser Cloud Workstations.

  • Assurez-vous que votre cluster de poste de travail est privé. La configuration d'un cluster privé empêche les connexions à vos postes de travail depuis l'extérieur 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 poste de travail. Sans cela, les VM disposeront d'adresses IP publiques dans votre projet. Nous vous recommandons vivement d'utiliser la constraints/compute.vmExternalIpAccess contrainte de règle d'administration 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 VMs.

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 postes de travail comme privé, le plan de contrôle du cluster de postes de travail ne dispose que d'une adresse IP interne. Cela signifie que les clients du réseau Internet public ne peuvent pas se connecter aux postes de travail appartenant au cluster de postes 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 poste de travail.

  • Vous devez créer un point de terminaison PSC supplémentaire pour les clusters privés. Pour vous connecter depuis votre machine locale à un poste 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 le réseau externe sur lequel vous exécutez votre machine au réseau VPC. Ce point de terminaison PSC supplémentaire doit être créé dans le même réseau que celui auquel votre réseau externe se connecte avec Cloud VPN ou Cloud Interconnect.

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 d'effectuer les étapes de configuration requises suivantes :

  1. Connectez-vous à votre Google Cloud compte. 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 sans frais pour exécuter, tester et déployer des charges de travail.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  5. Verify that billing is enabled for your Google Cloud project.

  6. Activez l'API Cloud Workstations.

    Rôles requis pour activer les API

    Pour activer les API, vous avez besoin du rôle IAM Administrateur d'utilisation du service (roles/serviceusage.serviceUsageAdmin), qui contient l'autorisation serviceusage.services.enable. Découvrez comment attribuer des rôles.

    Activer l'API

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

    Accéder à IAM

  8. Les postes de travail Cloud Workstations sont hébergés sur des VM démarrées à partir des images publiques préconfigurées de Container-Optimized OS (COS) de Compute Engine. Si la contrainte de règle d'administration constraints/compute.trustedimageProjects est appliquée, vous devez définir des contraintes d'accès aux images pour autoriser les utilisateurs à créer des disques de démarrage à partir de projects/cos-cloud ou de toutes les images publiques.
  9. Facultatif : Activez l'API Container File System pour accélérer le démarrage des postes de travail.

    Activer l'API Container File System

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

Créer un cluster privé

Pour créer un cluster privé :

  1. Dans la Google Cloud console, 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 postes 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 qui hébergent le point de terminaison Private Service Connect permettant 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 postes de travail et le projet hôte du réseau VPC (s'il est différent). Si nécessaire, ces projets peuvent également être spécifiés après la création du cluster.

  9. Cliquez sur Créer. Pendant la création du cluster, l'état Mise à jour s'affiche.

    La création d'un cluster prend plusieurs minutes. Une fois la création du cluster terminée, son état peut s'afficher comme Dégradé. Après avoir effectué les étapes de la section Créer un point de terminaison PSC, l'état du cluster passera à Prêt en quelques minutes.

Activer la connectivité des cluster privé

Les clients ne peuvent pas se connecter aux postes de travail des clusters de postes de travail privés depuis le réseau Internet public. Les clients doivent se trouver sur un réseau qui se connecte au cluster de postes de travail à l'aide de Private Service Connect (PSC). Pour vous connecter à un poste de travail, procédez comme suit :

  1. Créez un point de terminaison PSC qui cible votre rattachement de service de 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 au point de terminaison PSC.

Créer un point de terminaison Private Service Connect

Pour créer un point de terminaison PSC :

  1. Dans la Google Cloud console, 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 postes de travail. Pour le trouver, accédez à votre cluster de postes de travail dans la console et 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 sélectionnez un Sous-réseau. Ce réseau doit être celui que vous souhaitez utiliser pour vous connecter à vos postes de travail. Il doit également être le même que celui auquel votre réseau externe se connecte avec Cloud VPN ou Cloud Interconnect.

  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 Laissez-moi choisir et saisissez l’adresse IP que vous souhaitez utiliser.
    3. Dans le champ Objectif, sélectionnez Non partagée.
    4. Cliquez sur Réserver.
  8. Sélectionnez un Espace de noms dans la liste déroulante ou créez-en un. La 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 pour créer une zone DNS privée et un enregistrement DNS.

Créer une zone DNS privée

Pour créer une zone DNS privée pour ce cluster de postes de travail avec le nom DNS défini sur votre clusterHostname, que vous pouvez trouver en accédant à votre cluster de postes de travail dans la console :

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

    Accéder à la page 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. Définissez ce nom sur votre clusterHostname.

    Pour trouver votre clusterHostname, accédez à la page Cloud Workstations  > Gestion des clusters dans la Google Cloud console, puis cliquez sur votre cluster de postes 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 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 Google Cloud console, 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, dans le champ Nom DNS, saisissez *.<clusterHostname>.

  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 doit maintenant être connecté au cluster de postes de travail, et vous pouvez vous connecter aux postes de travail à l'aide de ce réseau.

Activer la résolution DNS sur site

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

Pour vous connecter à partir d'un réseau externe, vous devez configurer le DNS dans le réseau externe. Comme dans les é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 votre environnement sur site et Google Cloud .

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

Étape suivante