Ce principe du pilier de sécurité du Google Cloud Well-Architected Framework vous aide à identifier les contrôles pratiques que vous pouvez mettre en œuvre dès le début du cycle de vie du développement logiciel pour améliorer votre stratégie de sécurité. Il fournit des recommandations qui vous aident à mettre en œuvre des garde-fous de sécurité préventifs et des contrôles de sécurité post-déploiement.
Présentation du principe
La sécurité "shift left" consiste à adopter des pratiques de sécurité dès le début du cycle de vie du développement logiciel. Ce principe vise les objectifs suivants :
- Évitez les failles de sécurité avant d'apporter des modifications au système. Mettez en œuvre des garde-fous de sécurité préventifs et adoptez des pratiques telles que l'infrastructure as code (IaC), la stratégie en tant que code et les contrôles de sécurité dans le pipeline CI/CD. Vous pouvez également utiliser d'autres fonctionnalités spécifiques à la plate-forme, telles que le service de règles d'administration et les clusters GKE renforcés dans Google Cloud.
- Détectez et corrigez les bugs de sécurité de manière précoce, rapide et fiable après l'application de modifications du système. Adoptez des pratiques telles que les revues de code, l'analyse des failles après le déploiement et les tests de sécurité.
Les principes de mise en œuvre de la sécurité dès la conception et de sécurité shift-left sont liés, mais leur champ d'application est différent. Le principe de sécurité dès la conception vous aide à éviter les failles de conception fondamentales qui nécessiteraient de repenser l'architecture de l'ensemble du système. Par exemple, un exercice de modélisation des menaces révèle que la conception actuelle n'inclut pas de stratégie d'autorisation et que, sans elle, tous les utilisateurs disposeraient du même niveau d'accès. La sécurité Shift-Left vous aide à éviter les défauts d'implémentation (bugs et erreurs de configuration) avant l'application des modifications, et permet des corrections rapides et fiables après le déploiement.
Recommandations
Pour mettre en œuvre le principe de sécurité "shift-left" pour vos charges de travail cloud, tenez compte des recommandations des sections suivantes :
- Adopter des contrôles de sécurité préventifs
- Automatiser le provisionnement et la gestion des ressources cloud
- Automatiser l'application des versions d'applications sécurisées
- Garantissez que les déploiements d'applications suivent les processus approuvés.
- Rechercher des failles connues avant le déploiement de l'application
- Détectez les failles connues dans votre code d'application.
Adopter des contrôles de sécurité préventifs
Cette recommandation s'applique aux domaines d'intérêt suivants :
- Gestion de l'authentification et des accès
- Gouvernance, risques et conformité dans le cloud
Les contrôles de sécurité préventifs sont essentiels pour maintenir une stratégie de sécurité solide dans le cloud. Ces contrôles vous aident à limiter les risques de manière proactive. Vous pouvez éviter les erreurs de configuration et les accès non autorisés aux ressources, permettre aux développeurs de travailler efficacement et assurer la conformité avec les normes du secteur et les règles internes.
Les contrôles de sécurité préventifs sont plus efficaces lorsqu'ils sont mis en œuvre à l'aide de l'infrastructure as code (IaC). Avec l'IaC, les contrôles de sécurité préventifs peuvent inclure des vérifications plus personnalisées du code d'infrastructure avant le déploiement des modifications. Lorsqu'ils sont combinés à l'automatisation, les contrôles de sécurité préventifs peuvent être exécutés dans le cadre des vérifications automatiques de votre pipeline CI/CD.
Les produits et fonctionnalités Google Cloud suivants peuvent vous aider à mettre en œuvre des contrôles préventifs dans votre environnement :
- Contraintes liées aux règles d'administration : configurez des contraintes prédéfinies et personnalisées avec un contrôle centralisé.
- VPC Service Controls : créez des périmètres autour de vos services Google Cloud .
- Identity and Access Management (IAM), Privileged Access Manager et les stratégies de limite d'accès du compte principal : limitent l'accès aux ressources.
- Policy Controller et Open Policy Agent (OPA) : appliquez des contraintes IaC dans votre pipeline CI/CD et évitez les erreurs de configuration du cloud.
IAM vous permet d'autoriser qui peut agir sur des ressources spécifiques en fonction des autorisations. Pour en savoir plus, consultez Contrôle des accès pour les ressources d'organisation avec IAM.
La règle d'administration vous permet de définir des restrictions sur les ressources pour spécifier leur configuration. Par exemple, vous pouvez utiliser une règle d'administration pour effectuer les opérations suivantes :
- Limiter le partage des ressources en fonction du domaine
- Limiter l'utilisation des comptes de service.
- Limiter l'emplacement physique des ressources nouvellement créées
En plus d'utiliser des règles d'administration, vous pouvez restreindre l'accès aux ressources via les méthodes suivantes :
- Tags avec IAM : attribuez un tag à un ensemble de ressources, puis définissez la définition d'accès pour le tag lui-même, plutôt que de définir les autorisations d'accès sur chaque ressource.
- Conditions IAM : définissez un contrôle des accès conditionnel et basé sur des attributs pour les ressources.
- Défense en profondeur : utilisez VPC Service Controls pour restreindre davantage l'accès aux ressources.
Pour en savoir plus sur la gestion des ressources, consultez Choisir une hiérarchie de ressources pour votre zone de destination Google Cloud .
Automatiser le provisionnement et la gestion des ressources cloud
Cette recommandation s'applique aux domaines d'intérêt suivants :
- Sécurité des applications
- Gouvernance, risques et conformité dans le cloud
L'automatisation du provisionnement et de la gestion des ressources et des charges de travail cloud est plus efficace lorsque vous adoptez également l'IaC déclarative, par opposition aux scripts impératifs. L'IaC n'est pas un outil ni une pratique de sécurité en soi, mais elle vous aide à améliorer la sécurité de votre plate-forme. L'adoption de l'IaC vous permet de créer une infrastructure reproductible et fournit à votre équipe d'exploitation un état correct connu. L'IaC améliore également l'efficacité des rollbacks, des modifications d'audit et du dépannage.
Lorsqu'elle est combinée à des pipelines CI/CD et à l'automatisation, l'IaC vous permet également d'adopter des pratiques telles que la stratégie en tant que code avec des outils tels qu'OPA. Vous pouvez auditer les modifications de l'infrastructure au fil du temps et exécuter des vérifications automatiques sur le code de l'infrastructure avant le déploiement des modifications.
Pour automatiser le déploiement de l'infrastructure, vous pouvez utiliser des outils tels que Config Controller, Terraform, Jenkins et Cloud Build. Pour vous aider à créer un environnement d'application sécurisé à l'aide de l'IaC et de l'automatisation,Google Cloud fournit le plan de base d'entreprise. Ce plan est une conception avisée de Google qui suit l'ensemble de nos pratiques et configurations recommandées. Le plan fournit des instructions détaillées pour configurer et déployer votre topologie Google Cloud à l'aide de Terraform et de Cloud Build.
Vous pouvez modifier les scripts du plan de base d'entreprise pour configurer un environnement qui suit les recommandations de Google et répond à vos propres exigences de sécurité. Vous pouvez vous appuyer sur ce plan en utilisant des plans supplémentaires ou en concevant votre propre automatisation. LeGoogle Cloud Architecture Center fournit d'autres plans qui peuvent être implémentés en plus du plan de base de l'entreprise. Voici quelques exemples de ces plans :
- Déployer une plate-forme de développeur d'entreprise sur Google Cloud
- Déployer une architecture sécurisée sans serveur à l'aide de Cloud Run
- Créez et déployez des modèles d'IA générative et de machine learning dans une entreprise
- Importer des données depuis Google Cloud dans un entrepôt de données BigQuery sécurisé
Automatiser l'application des versions d'applications sécurisées
Cette recommandation concerne le domaine d'intérêt suivant : sécurité des applications.
Sans outils automatisés, il peut être difficile de déployer, de mettre à jour et de corriger des environnements d'application complexes pour répondre à des exigences de sécurité cohérentes. Nous vous recommandons de créer des pipelines CI/CD automatisés pour votre cycle de développement logiciel (SDLC). Les pipelines CI/CD automatisés vous aident à éliminer les erreurs manuelles, à fournir des boucles de rétroaction de développement standardisées et à permettre des itérations de produit efficaces. La livraison continue est l'une des bonnes pratiques recommandées par le framework DORA.
L'automatisation des versions d'application à l'aide de pipelines CI/CD vous aide à améliorer votre capacité à détecter et à corriger les bugs de sécurité de manière précoce, rapide et fiable. Par exemple, vous pouvez rechercher automatiquement les failles de sécurité lors de la création d'artefacts, limiter le champ d'application des examens de sécurité et effectuer un rollback vers une version connue et sécurisée. Vous pouvez également définir des règles pour différents environnements (tels que les environnements de développement, de test ou de production) afin que seuls les artefacts validés soient déployés.
Pour vous aider à automatiser les versions d'application et à intégrer des contrôles de sécurité dans votre pipeline CI/CD, Google Cloud fournit plusieurs outils, y compris Cloud Build, Cloud Deploy, Web Security Scanner et Autorisation binaire.
Pour établir un processus qui vérifie plusieurs exigences de sécurité dans votre SDLC, utilisez le framework Supply-chain Levels for Software Artifacts (SLSA), qui a été défini par Google. SLSA nécessite des contrôles de sécurité pour le code source, le processus de compilation et la provenance du code. Un grand nombre de ces exigences peuvent être incluses dans un pipeline CI/CD automatisé. Pour comprendre comment Google applique ces pratiques en interne, consultez Approche deGoogle Cloudface au changement.
Garantissez que les déploiements d'applications suivent les processus approuvés.
Cette recommandation concerne le domaine d'intérêt suivant : sécurité des applications.
Si un pirate informatique compromet votre pipeline CI/CD, l'ensemble de votre pile d'applications peut être affecté. Pour sécuriser le pipeline, vous devez appliquer un processus d'approbation bien défini avant de déployer le code en production.
Si vous utilisez Google Kubernetes Engine (GKE) ou Cloud Run, vous pouvez établir un processus d'approbation à l'aide de l'autorisation binaire. L'autorisation binaire associe des signatures configurables aux images de conteneurs. Ces signatures (également appelées attestations) permettent de valider l'image. Au moment du déploiement, l'autorisation binaire utilise ces attestations pour déterminer si un processus a été effectué. Par exemple, vous pouvez utiliser l'autorisation binaire pour effectuer les opérations suivantes :
- Vérifier qu'un système de compilation ou un pipeline d'intégration continue spécifique a créé une image de conteneur.
- Vérifier qu'une image de conteneur est conforme aux règles de signature des failles.
- Vérifiez qu'une image de conteneur répond aux critères de promotion vers l'environnement de déploiement suivant, par exemple du développement au contrôle qualité.
L'autorisation binaire vous permet de vous assurer que seul du code de confiance est exécuté sur vos plates-formes cibles.
Rechercher des failles connues avant le déploiement de l'application
Cette recommandation concerne le domaine d'intérêt suivant : sécurité des applications.
Nous vous recommandons d'utiliser des outils automatisés qui peuvent effectuer en continu des analyses des failles sur les artefacts d'application avant leur déploiement en production.
Pour les applications conteneurisées, utilisez Artifact Analysis pour exécuter automatiquement des analyses de failles sur les images de conteneurs. Artifact Analysis analyse les nouvelles images au fur et à mesure de leur importation dans Artifact Registry. Cette analyse extrait des informations sur les packages système du conteneur. Une fois l'analyse initiale terminée, Artifact Analysis surveille en permanence les métadonnées des images analysées dans Artifact Registry afin de détecter de nouvelles failles. Lorsque Artifact Analysis reçoit de nouvelles informations ou des informations actualisées sur les failles, en provenance des sources de failles, il effectue les opérations suivantes :
- Mise à jour des métadonnées des images analysées afin de les actualiser.
- Création d'occurrences de failles pour les nouvelles notes.
- Suppression des occurrences de failles qui ne sont plus valides.
Détectez les failles connues dans votre code d'application.
Cette recommandation concerne le domaine d'intérêt suivant : sécurité des applications.
Utilisez des outils automatisés pour surveiller en permanence le code de votre application afin de détecter les failles connues, telles que celles du Top 10 de l'OWASP. Pour en savoir plus sur les produits et fonctionnalités Google Cloud qui prennent en charge les techniques d'atténuation du Top 10 de l'OWASP, consultez Atténuer le Top 10 de l'OWASP : 2025 sur Google Cloud.
Utilisez Web Security Scanner pour identifier les failles de sécurité de vos applications Web App Engine, Compute Engine et GKE. Le scanner explore votre application et tous les liens associés à vos URL de démarrage, et essaie de tester un maximum d'entrées utilisateur et de gestionnaires d'événements. Il recherche et décèle automatiquement les failles telles que les scripts intersites, les injections de code, les contenus mixtes et les bibliothèques obsolètes ou non sécurisées. Web Security Scanner permet d'identifier ces types de failles à un stade précoce, sans vous distraire avec des faux positifs.
De plus, si vous utilisez GKE pour gérer des parcs de clusters Kubernetes, le tableau de bord de stratégie de sécurité affiche des recommandations avisées et exploitables pour vous aider à améliorer la stratégie de sécurité de votre parc.