Mettre en place les bonnes pratiques de sécurité

Cette page présente les bonnes pratiques de sécurité recommandées pour renforcer la sécurité et la protection des données autour de vos stations de travail Cloud. Cette liste n'est pas une checklist complète garantissant la sécurité ni un remplacement de vos postures de sécurité existantes.

L'objectif est de vous présenter les bonnes pratiques de sécurité possible par Cloud Workstations. Ajoutez ces recommandations à votre portfolio des solutions de sécurité, le cas échéant, dans le cadre de la création d'une votre approche en matière de sécurité. Une approche de sécurité en couches est l'un des principes de sécurité fondamentaux pour exécuter des services sécurisés et conformes sur Google Cloud.

Contexte

Le service Cloud Workstations fournit images de base prédéfinies à utiliser avec le service. Le service recrée et publie ces images chaque semaine pour garantir que le logiciel groupé inclut les derniers correctifs de sécurité. De plus, le service utilise une valeur par défaut de expiration de l'exécution dans votre configuration de la station de travail pour vous assurer que les stations de travail sont automatiquement mises à jour et que les images non corrigées ne restent pas actives.

Toutefois, Google Cloud ne détient pas tous les packages regroupés dans ces images. Les gestionnaires de packages peuvent hiérarchiser les mises à jour différemment selon la façon dont un bogue ou les failles et expositions courantes (CVE) ont un impact sur leur produit. Si un produit n'utilise qu'une partie d'une bibliothèque, il n'est peut-être pas affecté par les découvertes effectuées dans d'autres parties de la bibliothèque. C'est pourquoi, bien que les résultats des analyses de failles de nos images, Cloud Workstations est toujours en mesure de fournir produit sécurisé.

Cloud Workstations peut le faire, car il fournit un service d'authentification qui permet de s'assurer que seul le développeur désigné peut accéder à sa station de travail. Comme pour tout environnement de développement, appliquer les bonnes pratiques lors de l'utilisation de leur station de travail. Pour être aussi sécurisé que possible, exécuter uniquement du code fiable, fonctionner uniquement sur des entrées approuvées et accéder uniquement aux données de confiance domaines. De plus, nous vous déconseillons d'utiliser des stations de travail pour héberger des serveurs de production ou de partager une seule station de travail avec plusieurs développeurs.

Si vous souhaitez avoir davantage de contrôle sur la sécurité de stations de travail, vous pouvez aussi créer vos propres images de conteneurs personnalisées.

Limiter l'accès au réseau public

Désactiver les adresses IP publiques sur vos stations de travail à l'aide de la configuration configurer des règles de pare-feu Limitation de l'accès aux destinations Internet publiques non requises pour le travail quotidien depuis Cloud Workstations. Si vous désactivez les adresses IP publiques, vous devez configurer 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), assurez-vous de configurer des enregistrements DNS pour domaines *.pkg.dev et *.gcr.io.

Restreindre l'accès SSH direct

Assurez-vous de limiter l'accès SSH direct aux VM du projet hébergeant vos stations de travail Cloud afin que l'accès ne soit possible que via la passerelle des stations de travail Cloud, où les stratégies Identity and Access Management (IAM) (Gestion de l'identité et des accès) sont appliquées et que 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 à partir de vos stations de travail, ce qui empêche l'exfiltration du code source et des données.

Suivez le principe du moindre privilège.

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

Autorisations IAM

Utilisez la configuration par défaut d'Identity and Access Management, qui limite l'accès à la station de travail à un seul développeur. Cela permet de garantir que chaque le développeur utilise une instance de station de travail unique avec une VM sous-jacente distincte, ce qui renforce l'isolation de l'environnement. les éditeurs de code Cloud Workstations et les applications s'exécutent dans un conteneur s'exécutant en mode privilégié ce qui offre une plus grande flexibilité pour les développeurs. Cela fournit une station de travail unique par développeur et permet de s'assurer que, même si un utilisateur s'échappe de ce conteneur, il restera dans sa VM et ne pourra pas accéder à d'autres ressources externes.

Configurez des autorisations IAM limitant l'accès des utilisateurs non administrateurs pour modifier les configurations de la station de travail et les images de conteneur dans Artifact Registry.

De plus, Google vous recommande de configurer des autorisations IAM en limitant l'accès non-administrateur aux ressources dans le projet hébergeant vos stations de travail Cloud Workstations.

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

Autorisations Cloud KMS

Pour mieux respecter 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 pas gérer ni utiliser de clés directement. Il peut simplement définir des stratégies IAM, qui limitent les utilisateurs autorisés à gérer et à utiliser les clés.

C'est ce qu'on appelle également la séparation des tâches,qui est le concept de s’assurer qu’une personne ne dispose pas de toutes les autorisations nécessaires pour être capable d'effectuer une action malveillante. Pour en savoir plus, consultez séparation des tâches.

Appliquer les mises à jour et les correctifs automatiques des images

Assurez-vous que vos stations de travail utilisent la dernière version Cloud Workstations images de base, qui contient les derniers correctifs de sécurité. La délai avant expiration de l'exécution sur la configuration de votre station de travail permet de s'assurer que les stations de travail créées avec cette configuration sont automatiquement mis à jour lors de la session suivante, pour correspondre à 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, récupère automatiquement les mises à jour configuration de la station de travail la prochaine fois que la station de travail sera arrêtée et redémarré. Définir runningTimeout ou utiliser la valeur par défaut permet de s'assurer que ces stations de travail sont arrêtées.
  • Si votre organisation utilise une image personnalisée, veillez à recompiler le régulièrement. Nous vous recommandons Créer un pipeline d'images sécurisé comme décrit dans la section suivante.

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

Vous êtes responsable de la maintenance et de la mise à jour des packages personnalisés de dépendances ajoutées 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. À activer les journaux de flux VPC, veillez à activer la journalisation de ce sous-réseau. Pour en savoir plus, consultez la section Activer les journaux de flux VPC pour un sous-réseau existant.