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 des 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 restreindre l'accès de l'API Compute Engine à votre périmètre de service chaque fois que vous limitez l'API Cloud Workstations.
  • Assurez-vous que l'API Google Cloud Storage, l'API Google Container Registry et l'API Artifact Registry sont accessibles via le 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 de rendre les API Cloud Logging et Cloud Error Reporting accessibles par VPC dans votre périmètre de service, bien que cela ne soit pas nécessaire 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, les VM de votre projet disposeront d'adresses IP publiques. 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 en mode privé, le plan de contrôle du cluster de stations de travail ne possède qu'une adresse IP interne. Cela signifie que les clients du réseau 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 connecter manuellement le cluster privé à 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 du poste de travail.

  • Vous devez créer un point de terminaison PSC supplémentaire pour les clusters privés. Pour vous connecter à partir de votre ordinateur local à un poste de travail d'un cluster privé, votre ordinateur local doit être connecté à 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. Ce point de terminaison PSC supplémentaire doit être créé sur le même réseau auquel votre réseau externe se connecte via 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'avoir effectué 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 d'un rôle IAM d'administrateur Cloud Workstations sur le projet afin de 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 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 grâce au 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 de la station 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 qui hébergent 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'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.

Activer la connectivité du cluster privé

Les clients ne peuvent pas se connecter aux stations de travail de clusters privés 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 les étapes de cette section pour vous connecter à une station de travail:

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

Suivez ces étapes pour créer un point de terminaison PSC:

  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 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 un sous-réseau. Il doit s'agir du réseau que vous souhaitez utiliser pour vous connecter à vos stations de travail. Il doit également correspondre au réseau auquel votre réseau externe se connecte à l'aide de Cloud VPN ou de 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é.
    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 intitulée Créer une zone et un enregistrement DNS privés.

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 à 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 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 Cloud DNS sur la création d'une zone privée et les bonnes pratiques concernant 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 réseau 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 à la section précédente.

  6. Cliquez sur Créer.

  7. Votre réseau VPC doit maintenant être connecté au cluster de stations de travail. 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 un 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 dans 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 pour 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 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