Cette page explique comment fonctionnent VPC Service Controls et les clusters privés, et comment 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 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.vmExternalIpAccesscontrainte 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 stations de travail comme privé, le plan de contrôle du cluster de stations 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 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 poste de travail.
Vous devez créer un point de terminaison PSC supplémentaire pour les clusters privés. Pour vous connecter à une station de travail d'un cluster privé depuis votre machine locale, celle-ci 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é :
Avant de commencer
Avant de commencer, assurez-vous d'effectuer les étapes de configuration requises suivantes :
-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Activez l'API Cloud Workstations.
Rôles requis pour activer les API
Pour activer les API, vous avez besoin de l'autorisation
serviceusage.services.enable. Si vous avez créé le projet, vous disposez probablement déjà de cette autorisation via le rôle Propriétaire (roles/owner). Sinon, vous pouvez l'obtenir via le rôle Administrateur d'utilisation du service (roles/serviceusage.serviceUsageAdmin). Découvrez comment attribuer des rôles. -
Assurez-vous de disposer du rôle IAM d'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 :
-
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.trustedimageProjectsest 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 deprojects/cos-cloudou de toutes les images publiques. -
Cloud Workstations utilise Private Service Connect pour se connecter aux services gérés par Google. Si la contrainte de règle d'administration
constraints/compute.restrictPrivateServiceConnectProducerest appliquée dans votre organisation, vous devez ajouter Google en tant que producteur autorisé (under:organizations/433637338589). -
Si la contrainte de règle d'administration
constraints/compute.disablePrivateServiceConnectCreationForConsumersest appliquée dans votre organisation, vous devez vous assurer que les points de terminaison Private Service Connect se connectant aux API Google (GOOGLE_APIS) sont autorisés. Si vous configurez des clusters privés, les points de terminaison se connectant aux services publiés (SERVICE_PRODUCERS) doivent également être autorisés. -
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 la section Réduire le temps de démarrage des stations de travail avec la diffusion d'images.
Créer un cluster privé
Pour créer un cluster privé, procédez comme suit :
Dans la Google Cloud console, accédez à la page Cloud Workstations.
Accédez à la page Gestion du cluster du poste de travail.
Cliquez sur Créer.
Saisissez le Nom et sélectionnez une Région pour votre cluster de stations de travail.
Dans la section "Mise en réseau", sélectionnez Réseaux dans ce projet.
Sélectionnez un Réseau et un Sous-réseau.
Dans le champ Type de passerelle, sélectionnez Passerelle privée.
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 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.
Cliquez sur Créer. Pendant la création du cluster, l'état est Mise à jour.
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 suivi 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 stations de travail des clusters de stations 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 stations de travail à l'aide de Private Service Connect (PSC). Pour vous connecter à une station de travail, procédez comme suit :
Créez un point de terminaison PSC qui cible votre rattachement de service de poste de travail.
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, procédez comme suit :
Dans la Google Cloud console, accédez à Private Service Connect.
Cliquez sur l'onglet Points de terminaison connectés , puis sur ajouterConnecter un point de terminaison.
Pour Cible, sélectionnez Service publié.
Dans le champ Service cible, saisissez l'URI du rattachement de service créé pour le cluster de stations 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.
Dans le champ Point de terminaison, saisissez un nom de point de terminaison.
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.
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 :
- Saisissez un Nom et une Description facultative pour l'adresse IP.
- 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.
- Dans le champ Objectif, sélectionnez Non partagée.
- Cliquez sur Réserver.
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é.
Cliquez sur Ajouter un point de terminaison.
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 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 dans la console, procédez comme suit :
Dans la Google Cloud console, accédez à la page Créer une zone DNS.
Dans le champ Type de zone, sélectionnez Privé.
Saisissez un Nom de zone, tel que
private-workstations-cluster-zone.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 stations de travail pour afficher le nom d'hôte.Facultatif : ajoutez une description.
Dans le champ Options, sélectionnez Par défaut (privé).
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.
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 :
Dans la Google Cloud console, accédez à la page Zones Cloud DNS.
Cliquez sur le nom de la zone gérée à laquelle vous souhaitez ajouter l'enregistrement.
Sur la page Détails de la zone, cliquez sur Ajouter un jeu d'enregistrements standard.
Sur la page Créer un jeu d'enregistrements, dans le champ Nom DNS, saisissez
*.<clusterHostname>.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.
Cliquez sur Créer.
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 basé sur le navigateur par défaut sur votre station 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 au réseau VPC depuis le réseau externe sur lequel vous exécutez votre navigateur.
Pour vous connecter à partir d'un réseau externe, vous devez configurer le DNS dans 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 votre environnement sur site et Google Cloud .
Vous devrez peut-être également ajouter *cloudworkstations.dev à la liste d'autorisation de votre infrastructure sur site.
Configurer VPC Service Controls pour la diffusion d'images
Si vous activez éventuellement la diffusion d'images pour réduire les temps de démarrage des stations de travail et que votre cluster de stations de travail se trouve dans un périmètre VPC Service Controls, vous devez configurer les éléments suivants dans votre règle de périmètre :
- Incluez l'API Container File System (
containerfilesystem.googleapis.com) dans les services restreints de votre périmètre de service. - Ajoutez une règle de sortie dans le périmètre de service qui autorise le compte de service spécifié dans la configuration de la station de travail à accéder à l'API Container File System sur le projet hébergeant vos images de conteneurs.
- Si vous utilisez un IDE préconfiguré,
vous devez également configurer la règle de sortie pour autoriser l'accès au
cloud-workstations-imagesprojet (numéro de projet662288601415).