Définir les bonnes pratiques de sécurité

Cette page présente les bonnes pratiques de sécurité recommandées pour renforcer la stratégie de sécurité et de protection des données pour vos stations de travail Cloud Workstations. Cette liste n'est pas une checklist complète garantissant des garanties de sécurité ou un remplacement à vos stratégies de sécurité existantes.

L'objectif est de vous présenter les bonnes pratiques de sécurité rendues possibles par Cloud Workstations. Ajoutez ces recommandations à votre portefeuille de solutions de sécurité, le cas échéant, afin de créer une approche multicouche de la sécurité. Une approche multicouche de la sécurité est l'un des principes de sécurité fondamentaux pour l'exécution de services sécurisés et conformes sur Google Cloud.

Expérience

Le service Cloud Workstations fournit des images de base prédéfinies à utiliser avec le service. Le service recompile et republie ces images chaque semaine pour s'assurer que le logiciel groupé inclut les derniers correctifs de sécurité. De plus, le service utilise une valeur de délai d'exécution par défaut sur votre configuration de poste de travail pour garantir que les stations de travail sont automatiquement mises à jour et que les images non corrigées ne restent pas en ligne.

Cependant, Google Cloud ne possède pas tous les packages fournis dans ces images. Les gestionnaires de packages peuvent hiérarchiser les mises à jour différemment en fonction de l'impact d'un bug ou d'une faille CVE (Common Vulnerabilities and Exposures) sur leur produit. Si un produit n'utilise qu'une partie d'une bibliothèque, il risque de ne pas être affecté par les découvertes dans d'autres parties de la bibliothèque. De ce fait, bien que les résultats CVE des analyses de failles de nos images existent, Cloud Workstations reste en mesure de fournir un produit sécurisé.

Cloud Workstations offre cette possibilité, car il fournit un système d'authentification et d'autorisation qui garantit que seul le développeur désigné peut accéder à sa station de travail. Comme pour tout environnement de développement, les développeurs doivent appliquer les bonnes pratiques lors de l'utilisation de leur poste de travail. Pour être aussi sécurisé que possible, n'exécutez que du code de confiance, ne agissez que sur des entrées approuvées et n'accédez qu'aux domaines approuvés. De plus, il est déconseillé d'utiliser des stations de travail pour héberger les serveurs de production, ou de partager une station de travail unique avec plusieurs développeurs.

Si vous souhaitez mieux contrôler la sécurité des images de postes de travail de votre organisation, vous pouvez également créer vos propres images de conteneurs personnalisées.

Restreindre l'accès au réseau public

Désactivez les adresses IP publiques sur vos postes de travail à l'aide de la configuration de votre poste de travail et configurez des règles de pare-feu pour limiter l'accès aux destinations Internet publiques non nécessaires pour le travail quotidien depuis Cloud Workstations. Si vous désactivez les adresses IP publiques, vous devez configurer l'accès privé à Google ou Cloud NAT sur votre réseau. Si vous utilisez l'accès privé à Google et que vous utilisez private.googleapis.com ou restricted.googleapis.com pour Artifact Registry (ou Container Registry), veillez à configurer des enregistrements DNS pour les domaines *.pkg.dev et *.gcr.io.

Restreindre l'accès SSH direct

Veillez à limiter l'accès SSH direct aux VM du projet hébergeant vos stations de travail Cloud Workstations, de sorte que l'accès ne soit possible que via la passerelle Cloud Workstations, où les stratégies de gestion de l'authentification et des accès (IAM) sont appliquées et où les journaux de flux VPC peuvent être activés.

Pour désactiver l'accès SSH direct à la VM, exécutez la commande Google Cloud CLI suivante:

    gcloud workstations configs update CONFIG \
        --cluster=CLUSTER \
        --region=REGION \
        --project=PROJECT \
        --disable-ssh-to-vm

Limiter l'accès aux ressources sensibles

Configurez un périmètre de service VPC Service Controls pour limiter l'accès aux ressources sensibles depuis vos postes de travail, ce qui empêche le code source et l'exfiltration de données.

Suivre le principe du moindre privilège

Suivez le principe du moindre privilège pour les autorisations et l'allocation des ressources.

Autorisations IAM

Utilisez la configuration Identity and Access Management défaut afin de limiter l'accès à la station de travail à un seul développeur. Cela permet de garantir que chaque développeur utilise une instance de poste de travail unique avec une VM sous-jacente distincte, ce qui renforce l'isolation de l'environnement. Les éditeurs de code et les applications Cloud Workstations s'exécutent dans un conteneur s'exécutant en mode privilégié et avec un accès racine, pour une plus grande flexibilité pour les développeurs. Cela fournit une station de travail unique par développeur et permet de garantir que même si un utilisateur s'échappe de ce conteneur, il se trouve toujours dans sa VM, sans pouvoir accéder à des ressources externes supplémentaires.

Configurez des autorisations IAM limitant l'accès non administrateur pour modifier les configurations de stations de travail et les images de conteneurs sur Artifact Registry.

En outre, Google vous recommande de configurer des autorisations IAM limitant l'accès non administrateur à l'une des ressources Compute Engine sous-jacentes du projet hébergeant vos stations de travail Cloud Workstations.

Pour en savoir plus, consultez la page Utiliser IAM en toute sécurité.

Autorisations Cloud KMS

Pour respecter au mieux le principe du moindre privilège, nous vous recommandons de conserver les ressources Cloud KMS et les ressources Cloud Workstations dans des projets Google Cloud distincts. Créez votre projet de clé Cloud KMS sans owner au niveau du projet et désignez un administrateur de l'organisation attribué au niveau de l'organisation. Contrairement à un owner, un administrateur de l'organisation ne peut ni gérer, ni utiliser les clés directement. Ils se limitent à définir des stratégies IAM qui limitent les utilisateurs autorisés à gérer et à utiliser les clés.

Ceci est également appelé séparation des tâches,qui consiste à s'assurer qu'une personne ne dispose pas de toutes les autorisations nécessaires pour pouvoir effectuer une action malveillante. Pour en savoir plus, consultez la section Séparation des tâches.

Appliquer des mises à jour et des correctifs automatiques des images

Assurez-vous que vos stations de travail utilisent la dernière version des images de base Cloud Workstations, qui contient les derniers correctifs de sécurité. La valeur du délai d'exécution de votre configuration de station de travail permet de garantir que les stations de travail créées avec cette configuration seront automatiquement mises à jour lors de la session suivante, afin de correspondre à la dernière version de l'image de conteneur définie dans la configuration de la station de travail.

  • Si votre organisation utilise l'une des images de base Cloud Workstations, la station de travail récupère automatiquement toutes les mises à jour de la configuration de la station de travail lors de son prochain arrêt et de son redémarrage. Définir runningTimeout ou utiliser la valeur par défaut permet de garantir l'arrêt de ces stations de travail.
  • Si votre organisation utilise une image personnalisée, veillez à la recompiler régulièrement. Nous vous recommandons de créer un pipeline d'images sécurisé comme décrit dans la section suivante.

Créer un pipeline d'images sécurisé pour des images personnalisées

Vous êtes responsable de la maintenance et de la mise à jour des packages et dépendances personnalisés ajoutés aux images personnalisées.

Si vous créez des images personnalisées, nous vous recommandons de procéder comme suit:

Configurer les journaux de flux VPC

Lorsque vous créez un cluster de stations de travail, Cloud Workstations l'associe à un sous-réseau particulier, et toutes les stations de travail sont placées dans ce sous-réseau. Pour activer les journaux de flux VPC, veillez à activer la journalisation pour ce sous-réseau. Pour en savoir plus, consultez la page Activer les journaux de flux VPC pour un sous-réseau existant.