[{"data":1,"prerenderedAt":764},["ShallowReactive",2],{"/fr-fr/blog/what-is-vulnerability-management":3,"navigation-fr-fr":35,"banner-fr-fr":440,"footer-fr-fr":450,"blog-post-authors-fr-fr-GitLab France Team":660,"blog-related-posts-fr-fr-what-is-vulnerability-management":675,"assessment-promotions-fr-fr":716,"next-steps-fr-fr":755},{"id":4,"title":5,"authorSlugs":6,"body":8,"categorySlug":9,"config":10,"content":14,"description":8,"extension":24,"isFeatured":11,"meta":25,"navigation":26,"path":27,"publishedDate":19,"seo":28,"stem":31,"tagSlugs":32,"__hash__":34},"blogPosts/fr-fr/blog/what-is-vulnerability-management.yml","What Is Vulnerability Management",[7],"gitlab-france-team",null,"security",{"featured":11,"template":12,"slug":13},false,"BlogPost","what-is-vulnerability-management",{"title":15,"description":16,"authors":17,"date":19,"body":20,"category":9,"tags":21,"heroImage":23},"Gestion des vulnérabilités : le guide complet pour sécuriser vos logiciels","La gestion des vulnérabilités est un enjeu majeur. Découvrez comment sécuriser efficacement votre entreprise avec GitLab.",[18],"GitLab France Team","2025-09-26","Dans un contexte où les équipes de développement doivent livrer toujours plus rapidement et où les équipes de sécurité découvrent toujours plus de failles, les entreprises font face à une tension permanente qui génère inévitablement des retards et multiplie les risques.\n\nFace à ce défi, la gestion des vulnérabilités apporte une réponse concrète. En identifiant, priorisant et corrigeant les vulnérabilités de manière structurée, cette approche permet de maintenir la cadence de développement tout en renforçant la sécurité des logiciels.\n\nPour mettre en œuvre cette approche avec succès, ce guide vous présente les différents types de vulnérabilités et leurs risques, détaille chaque étape d'un processus de gestion efficace, et partage les meilleures pratiques en la matière. Vous découvrirez également comment la plateforme DevSecOps de GitLab peut optimiser cette démarche et sécuriser durablement vos développements logiciels.\n\n## Qu’est-ce que la gestion des vulnérabilités ?\n\n**La gestion des vulnérabilités**, appelée aussi *vulnerability management*, représente l'ensemble des processus destinés à identifier et à neutraliser les risques liés aux failles de sécurité dans les systèmes d'information.\n\nCette discipline essentielle de la cybersécurité s'articule autour d'un cycle qui comprend la détection proactive des vulnérabilités, leur classification selon leur niveau de sévérité, la définition des priorités de remédiation, le suivi des actions correctives et l’amélioration constante des pratiques de sécurité pour anticiper au mieux les futures menaces.\n\n> Vous souhaitez renforcer la sécurité de vos logiciels ? Commencez un [essai gratuit de GitLab Ultimate](https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/fr-fr/&glm_content=default-saas-trial) dès aujourd'hui !\n\n## Quels sont les différents types de vulnérabilité ?\n\nCes vulnérabilités, variées et en constante évolution, représentent une menace permanente pour les entreprises qui doivent s’adapter continuellement à un paysage de menaces en perpétuelle mutation. Dans une démarche de gestion structurée, il convient de distinguer deux grandes familles de vulnérabilités :\n\n* **Les vulnérabilités techniques :** elles sont liées aux logiciels, au matériel ou aux protocoles utilisés dans le système d'information. Les cyberattaques s'appuient le plus souvent sur des erreurs de programmation ou de configuration du code, des défauts conceptuels ou des versions obsolètes d'un logiciel. Les vulnérabilités des dépendances logicielles, les secrets exposés dans le code et les bogues non corrigés offrent aussi un angle d'attaque aux données du système.\n* **Le facteur humain :** il constitue le second type de vulnérabilité que les outils de gestion des vulnérabilités cherchent à maîtriser. Il peut s’agir d’une erreur humaine comme des pratiques de codage non sécurisées, d’un manque de sensibilisation aux bonnes pratiques en matière de sécurisation logicielle, ou encore d’une mauvaise communication entre les services de l’entreprise.\n\n## Quelles sont les conséquences d'une mauvaise gestion des vulnérabilités ?\n\nUne vulnérabilité non corrigée peut avoir des effets désastreux, tant sur le plan financier qu'humain. C’est une menace potentielle pour les entreprises, avec des répercussions à de nombreux niveaux :\n\n* **Atteinte aux actifs.** La compromission de la sécurité peut entraîner la perte de ressources critiques, de données stratégiques et d'informations sensibles. Cela nuit aux processus internes, aux opérations commerciales et aux relations économiques de l'entreprise.\n* **Pertes financières.** Une faille de protection peut engendrer des coûts financiers considérables pour l’entreprise. Aux frais liés aux interruptions de service et aux pertes de productivité, il faut aussi ajouter la mise à jour des systèmes et parfois même le paiement de rançon aux cybercriminels.\n* **Conformité et amendes.** Les incidents de sécurité exposent l'entreprise à des poursuites judiciaires et à des amendes importantes en cas de non-conformité des systèmes, de préjudices subis par des tiers, et de manquement à des réglementations telles que le Règlement Général sur la Protection des Données (RGPD).\n* **Perte de réputation.** La vulnérabilité d'une entreprise met aussi en danger sa réputation et son image de marque. Si des informations sensibles de clients ou partenaires sont exposées, la perte de confiance qui en résulte assombrit les perspectives commerciales de l'entreprise.\n* **Impact sur la vélocité de développement.** Les vulnérabilités découvertes tardivement dans le cycle de développement ralentissent considérablement les déploiements et augmentent les coûts de correction.\n\n> D’après notre [rapport Global DevSecOps 2024 sur « La sécurité des applications à l'ère du numérique »](https://about.gitlab.com/fr-fr/developer-survey/2024/security-compliance/), 55 % des membres de l'équipe de sécurité affirment que les vulnérabilités sont principalement découvertes par la sécurité après le merge du code dans un environnement de test.\n\nPour se défendre, les entreprises se doivent d'adopter une approche proactive en matière de gestion des vulnérabilités et réduire ainsi au maximum leur surface d’attaque.\n\n## Comment mettre en place un processus de gestion des vulnérabilités ?\n\nLa complexité et la diversité des menaces exigent une réponse structurée et continue de la part des équipes de développement et de sécurité. Un processus de gestion des vulnérabilités efficace repose sur plusieurs étapes rigoureuses :\n\n1. **Identification des composants logiciels.** Avant d'identifier des vulnérabilités, il est essentiel de connaître l'étendue du code et des dépendances utilisées. Cette étape consiste à identifier les bibliothèques, frameworks et composants présents dans les logiciels, afin d'avoir une vision claire des éléments à surveiller.\n2. **Analyse des vulnérabilités.** Cette étape consiste à rechercher activement toutes les vulnérabilités présentes dans le code source et les dépendances, en les comparant aux bases de connaissance des vulnérabilités connues afin d'identifier les menaces. Pour cela, il est recommandé de mettre en place des tests de sécurité automatisés (SAST, DAST, analyse des dépendances) afin de corriger ces vulnérabilités le plus tôt possible.\n3. **Hiérarchisation des risques.** En gestion des vulnérabilités, toute faiblesse ne présente pas le même niveau de risque. L'étape d'évaluation des risques permet de prioriser les failles en fonction de leur facilité d'exploitation, de leur [niveau de sévérité](https://docs.gitlab.com/user/application_security/vulnerabilities/severities/), et de leur impact potentiel sur l’entreprise et ses clients.\n4. **Correction et vérification.** Une fois les vulnérabilités identifiées et hiérarchisées, les actions correctives interviennent à travers des corrections de code, des modifications architecturales ou des mises à jour de dépendances. Les corrections sont testées avant et après la mise en production pour garantir la résolution complète des vulnérabilités. Pour accélérer ce processus, GitLab permet notamment à ses utilisateurs de suggérer des corrections automatiques et de créer des merge requests à l’aide de l’IA.\n5. **Surveillance continue.** La surveillance en temps réel permet de détecter les nouvelles expositions aux menaces et de rester agile face à l'évolution des risques. Cette surveillance doit s’opérer tout au long du développement de logiciels, avant, pendant et après la mise en production.\n\nEnfin, les processus et outils de gestion des vulnérabilités incluent une réévaluation périodique. Chaque étape est régulièrement réévaluée à mesure que le panorama des menaces change et que les logiciels et les langages de programmation évoluent. Ce cycle itératif garantit un niveau de sécurité optimal et actualisé. Une approche continue et adaptative de la gestion des vulnérabilités différencie une entreprise bien protégée d'une autre à risque.\n\n### Intégrez la sécurité à chaque étape du cycle de développement avec l’approche DevSecOps\n\nL'approche [DevSecOps](https://about.gitlab.com/fr-fr/topics/devsecops/ \"Qu'est-ce que le DevSecOps ?\") représente un changement fondamental dans la gestion des vulnérabilités. Plutôt que de traiter la sécurité comme une étape finale, elle l'intègre tout au long du cycle de développement logiciel.\n\nCette approche « shift left » permet :\n\n* **D’anticiper les risques :** l'identification précoce des vulnérabilités réduit drastiquement les coûts de correction et évite les retards de livraison.\n  Responsabiliser les équipes : la sécurité devient une responsabilité partagée, transformant chaque membre de l'équipe en gardien de la qualité du code.\n* **Automatiser les processus :** l'automatisation des analyses libère les équipes des tâches répétitives et accélère la résolution des problèmes.\n* **Améliorer la collaboration entre les équipes :** le rapprochement des équipes Dev et Sec favorise une communication fluide et une résolution plus rapide des vulnérabilités.\n\n## Gestion des vulnérabilités : nos bonnes pratiques\n\nL'évolution rapide des technologies et l'augmentation constante des cybermenaces oblige chaque entreprise à mettre en place les meilleures pratiques de gestion des vulnérabilités (ou vulnerability management). Elles impliquent le changement des habitudes de travail, la modernisation des méthodes de communication, et la sensibilisation des équipes, y compris du management, à ces différents sujets.\n\nDécouvrez nos bonnes pratiques pour sécuriser vos logiciels :\n\n* **Approche proactive.** La prévention constitue le pilier d'une stratégie de sécurité efficace. Anticiper les vulnérabilités et déployer des mesures préventives s'avère infiniment plus rentable que de réagir après qu’une faille de sécurité ne soit exploitée. Cette démarche d'anticipation, associée à une capacité d'adaptation face aux évolutions technologiques, permet aux entreprises de transformer la gestion des vulnérabilités en avantage concurrentiel plutôt qu'en contrainte opérationnelle.\n* **Collaboration des équipes.** Les processus bureaucratiques constituent un frein majeur à la résolution rapide des vulnérabilités, affectant plus de la moitié des équipes de sécurité selon notre [Rapport Global DevSecOps 2024](https://about.gitlab.com/developer-survey/). Face à ce constat, l'établissement d'une communication directe et efficace entre les équipes DevSecOps devient essentiel. Cette collaboration optimisée facilite le partage d'informations stratégiques, accélère l'intégration des correctifs en production et garantit une prise en compte continue des enjeux de sécurité à chaque étape du développement logiciel.\n* **Formation des employés.** Des équipes bien formées aux pratiques de codage sécurisé peuvent significativement réduire les vulnérabilités introduites dans le code. La sensibilisation aux vulnérabilités courantes, ainsi que l'utilisation d'outils d'analyse automatisée, renforcent la sécurité à chaque étape du SDLC.\n* **Consolidation des outils.** Remplacer une multitude d'outils disparates par une plateforme unifiée réduit les inefficacités causées par le changement de contexte et améliore la visibilité globale sur la sécurité au sein de l’entreprise.\n\n### Des défis toujours à relever\n\nLes bonnes pratiques en matière de gestion des vulnérabilités reposent avant tout sur l'implication et la collaboration de toutes les équipes autour de ces questions. Les défis sont d'autant plus grands que certaines difficultés accompagnent la sécurisation des logiciels dans les environnements de développement modernes :\n\n* La complexité croissante des dépendances logicielles complique l'identification des vulnérabilités et la prise de décision.\n* Une approche continue peut être difficile à maintenir pendant les périodes de forte activité de développement.\n* Les processus manuels d'analyse des vulnérabilités rendent le travail des équipes fastidieux et peu fiable.\n* Le manque de collaboration entre les équipes de développement et de sécurité ralentit le processus de résolution des vulnérabilités.\n* La détection tardive des failles de sécurité dans le cycle de développement engendre des coûts supplémentaires à l’entreprise.\n* Les exigences réglementaires complexifient la gestion des vulnérabilités.\n\nPour relever ces défis, les entreprises doivent s'appuyer sur des outils modernes, une meilleure intégration de la sécurité dans les processus de développement et une collaboration efficace entre les équipes.\n\n## Comment améliorer votre gestion des vulnérabilités avec GitLab ?\n\nGitLab adopte une approche DevSecOps intégrée qui permet aux équipes d'identifier et de corriger les vulnérabilités le plus tôt possible dans le cycle de développement logiciel.\n\nPour cela, la plateforme propose les fonctionnalités suivantes :\n\n* **Scanners de sécurité :** ces scanners incluent les tests statiques de sécurité des applications (SAST) et les tests dynamiques de sécurité des applications (DAST), l’analyse des dépendances, l’analyse des conteneurs, la détection des secrets, l’analyse de l'Infrastructure as Code (IaC), ainsi que les tests à données aléatoires. Ils s'exécutent automatiquement dans les [pipelines CI/CD](https://about.gitlab.com/fr-fr/topics/ci-cd/cicd-pipeline/ \"Qu'est-ce qu'un pipeline CI/CD ?\"), garantissant une couverture de sécurité exhaustive sans ralentir le développement.\n* **[GitLab Duo](https://about.gitlab.com/fr-fr/gitlab-duo-agent-platform/ \"Qu'est-ce que GitLab Duo ?\") :** GitLab Duo assiste les équipes de développement tout au long de leur processus de développement logiciel. Cette suite de fonctionnalités alimentées par l’intelligence artificielle analyse les vulnérabilités détectées, fournit des explications contextuelles et propose des solutions de corrections adaptées, permettant une résolution plus rapide et plus efficace des problèmes de sécurité.\n* **Tableaux de bord et rapports :** les tableaux de bord de sécurité et rapports de vulnérabilités offrent une vue d'ensemble en temps réel du niveau de sécurité des logiciels. Cette visibilité facilite le suivi des corrections, la priorisation des actions et la communication avec les parties prenantes.\n* **Processus d’approbation :** la gestion des vulnérabilités commence aussi par une bonne gestion des droits de modifications. GitLab permet d’automatiser un processus d’approbation si des vulnérabilités sont détectées, garantissant une revue poussée des modifications introduisant des vulnérabilités potentielles.\n\n> Vous souhaitez renforcer la sécurité de vos logiciels ? Commencez un [essai gratuit de GitLab Ultimate](https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/fr-fr/&glm_content=default-saas-trial) dès aujourd'hui !",[22,9],"DevSecOps platform","https://res.cloudinary.com/about-gitlab-com/image/upload/v1758890538/ct0ffsxm1eyfeppyrnjt.jpg","yml",{},true,"/fr-fr/blog/what-is-vulnerability-management",{"config":29,"title":30,"description":16,"ogTitle":30,"ogDescription":16,"ogImage":23},{"noIndex":11},"Qu'est-ce que la gestion des vulnérabilités ?","fr-fr/blog/what-is-vulnerability-management",[33,9],"devsecops-platform","uFOlJ17AwYrSDvbYzl1ydYxxgE_NrDeU779hwNOBakE",{"data":36},{"logo":37,"freeTrial":42,"sales":47,"login":52,"items":57,"search":367,"minimal":402,"duo":421,"pricingDeployment":430},{"config":38},{"href":39,"dataGaName":40,"dataGaLocation":41},"/fr-fr/","gitlab logo","header",{"text":43,"config":44},"Commencer un essai gratuit",{"href":45,"dataGaName":46,"dataGaLocation":41},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/fr-fr&glm_content=default-saas-trial/","free trial",{"text":48,"config":49},"Contacter l'équipe commerciale",{"href":50,"dataGaName":51,"dataGaLocation":41},"/fr-fr/sales/","sales",{"text":53,"config":54},"Connexion",{"href":55,"dataGaName":56,"dataGaLocation":41},"https://gitlab.com/users/sign_in/","sign in",[58,85,182,187,288,348],{"text":59,"config":60,"cards":62},"Plateforme",{"dataNavLevelOne":61},"platform",[63,69,77],{"title":59,"description":64,"link":65},"La plateforme d'orchestration intelligente pour le DevSecOps",{"text":66,"config":67},"Découvrir notre plateforme",{"href":68,"dataGaName":61,"dataGaLocation":41},"/fr-fr/platform/",{"title":70,"description":71,"link":72},"GitLab Duo Agent Platform","L'IA agentique pour l'ensemble du cycle de développement logiciel",{"text":73,"config":74},"Découvrir GitLab Duo",{"href":75,"dataGaName":76,"dataGaLocation":41},"/fr-fr/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":78,"description":79,"link":80},"Choisir GitLab","Découvrez les principales raisons pour lesquelles les entreprises choisissent GitLab",{"text":81,"config":82},"En savoir plus",{"href":83,"dataGaName":84,"dataGaLocation":41},"/fr-fr/why-gitlab/","why gitlab",{"text":86,"left":26,"config":87,"link":89,"lists":93,"footer":164},"Produit",{"dataNavLevelOne":88},"solutions",{"text":90,"config":91},"Voir toutes les solutions",{"href":92,"dataGaName":88,"dataGaLocation":41},"/fr-fr/solutions/",[94,119,142],{"title":95,"description":96,"link":97,"items":102},"Automatisation","CI/CD et automatisation pour accélérer le déploiement",{"config":98},{"icon":99,"href":100,"dataGaName":101,"dataGaLocation":41},"AutomatedCodeAlt","/fr-fr/solutions/delivery-automation/","automated software delivery",[103,107,110,115],{"text":104,"config":105},"CI/CD",{"href":106,"dataGaLocation":41,"dataGaName":104},"/fr-fr/solutions/continuous-integration/",{"text":70,"config":108},{"href":75,"dataGaLocation":41,"dataGaName":109},"gitlab duo agent platform - product menu",{"text":111,"config":112},"Gestion du code source",{"href":113,"dataGaLocation":41,"dataGaName":114},"/fr-fr/solutions/source-code-management/","Source Code Management",{"text":116,"config":117},"Livraison de logiciels automatisée",{"href":100,"dataGaLocation":41,"dataGaName":118},"Automated software delivery",{"title":120,"description":121,"link":122,"items":127},"Sécurité","Livrez du code plus rapidement sans compromettre la sécurité",{"config":123},{"href":124,"dataGaName":125,"dataGaLocation":41,"icon":126},"/fr-fr/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[128,132,137],{"text":129,"config":130},"Tests de sécurité des applications",{"href":124,"dataGaName":131,"dataGaLocation":41},"Application security testing",{"text":133,"config":134},"Sécurité de la chaîne d'approvisionnement logicielle",{"href":135,"dataGaLocation":41,"dataGaName":136},"/fr-fr/solutions/supply-chain/","Software supply chain security",{"text":138,"config":139},"Conformité logicielle",{"href":140,"dataGaName":141,"dataGaLocation":41},"/fr-fr/solutions/software-compliance/","Software Compliance",{"title":143,"link":144,"items":149},"Mesures",{"config":145},{"icon":146,"href":147,"dataGaName":148,"dataGaLocation":41},"DigitalTransformation","/fr-fr/solutions/visibility-measurement/","visibility and measurement",[150,154,159],{"text":151,"config":152},"Visibilité et mesures",{"href":147,"dataGaLocation":41,"dataGaName":153},"Visibility and Measurement",{"text":155,"config":156},"Gestion de la chaîne de valeur",{"href":157,"dataGaLocation":41,"dataGaName":158},"/fr-fr/solutions/value-stream-management/","Value Stream Management",{"text":160,"config":161},"Données d'analyse et informations clés",{"href":162,"dataGaLocation":41,"dataGaName":163},"/fr-fr/solutions/analytics-and-insights/","Analytics and insights",{"title":165,"items":166},"GitLab pour",[167,172,177],{"text":168,"config":169},"Entreprises",{"href":170,"dataGaLocation":41,"dataGaName":171},"/fr-fr/enterprise/","enterprise",{"text":173,"config":174},"PME",{"href":175,"dataGaLocation":41,"dataGaName":176},"/fr-fr/small-business/","small business",{"text":178,"config":179},"Secteur public",{"href":180,"dataGaLocation":41,"dataGaName":181},"/fr-fr/solutions/public-sector/","public sector",{"text":183,"config":184},"Tarifs",{"href":185,"dataGaName":186,"dataGaLocation":41,"dataNavLevelOne":186},"/fr-fr/pricing/","pricing",{"text":188,"config":189,"link":191,"lists":195,"feature":275},"Ressources",{"dataNavLevelOne":190},"resources",{"text":192,"config":193},"Afficher toutes les ressources",{"href":194,"dataGaName":190,"dataGaLocation":41},"/fr-fr/resources/",[196,229,247],{"title":197,"items":198},"Premiers pas",[199,204,209,214,219,224],{"text":200,"config":201},"Installation",{"href":202,"dataGaName":203,"dataGaLocation":41},"/fr-fr/install/","install",{"text":205,"config":206},"Guides de démarrage",{"href":207,"dataGaName":208,"dataGaLocation":41},"/fr-fr/get-started/","quick setup checklists",{"text":210,"config":211},"Apprentissage",{"href":212,"dataGaLocation":41,"dataGaName":213},"https://university.gitlab.com/","learn",{"text":215,"config":216},"Documentation sur le produit",{"href":217,"dataGaName":218,"dataGaLocation":41},"https://docs.gitlab.com/","product documentation",{"text":220,"config":221},"Vidéos sur les bonnes pratiques",{"href":222,"dataGaName":223,"dataGaLocation":41},"/fr-fr/getting-started-videos/","best practice videos",{"text":225,"config":226},"Intégrations",{"href":227,"dataGaName":228,"dataGaLocation":41},"/fr-fr/integrations/","integrations",{"title":230,"items":231},"Découvrir",[232,237,242],{"text":233,"config":234},"Témoignages clients",{"href":235,"dataGaName":236,"dataGaLocation":41},"/fr-fr/customers/","customer success stories",{"text":238,"config":239},"Blog",{"href":240,"dataGaName":241,"dataGaLocation":41},"/fr-fr/blog/","blog",{"text":243,"config":244},"Travail à distance",{"href":245,"dataGaName":246,"dataGaLocation":41},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":248,"items":249},"Connecter",[250,255,260,265,270],{"text":251,"config":252},"Services GitLab",{"href":253,"dataGaName":254,"dataGaLocation":41},"/fr-fr/services/","services",{"text":256,"config":257},"Communauté",{"href":258,"dataGaName":259,"dataGaLocation":41},"/community/","community",{"text":261,"config":262},"Forum",{"href":263,"dataGaName":264,"dataGaLocation":41},"https://forum.gitlab.com/","forum",{"text":266,"config":267},"Événements",{"href":268,"dataGaName":269,"dataGaLocation":41},"/events/","events",{"text":271,"config":272},"Partenaires",{"href":273,"dataGaName":274,"dataGaLocation":41},"/fr-fr/partners/","partners",{"backgroundColor":276,"textColor":277,"text":278,"image":279,"link":283},"#2f2a6b","#fff","L'avenir du développement logiciel. Tendances et perspectives.",{"altText":280,"config":281},"carte promo The Source",{"src":282},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758208064/dzl0dbift9xdizyelkk4.svg",{"text":284,"config":285},"Lire les articles les plus récents",{"href":286,"dataGaName":287,"dataGaLocation":41},"/fr-fr/the-source/","the source",{"text":289,"config":290,"lists":292},"Société",{"dataNavLevelOne":291},"company",[293],{"items":294},[295,300,306,308,313,318,323,328,333,338,343],{"text":296,"config":297},"À propos",{"href":298,"dataGaName":299,"dataGaLocation":41},"/fr-fr/company/","about",{"text":301,"config":302,"footerGa":305},"Carrières",{"href":303,"dataGaName":304,"dataGaLocation":41},"/jobs/","jobs",{"dataGaName":304},{"text":266,"config":307},{"href":268,"dataGaName":269,"dataGaLocation":41},{"text":309,"config":310},"Leadership",{"href":311,"dataGaName":312,"dataGaLocation":41},"/company/team/e-group/","leadership",{"text":314,"config":315},"Équipe",{"href":316,"dataGaName":317,"dataGaLocation":41},"/company/team/","team",{"text":319,"config":320},"Manuel",{"href":321,"dataGaName":322,"dataGaLocation":41},"https://handbook.gitlab.com/","handbook",{"text":324,"config":325},"Relations avec les investisseurs",{"href":326,"dataGaName":327,"dataGaLocation":41},"https://ir.gitlab.com/","investor relations",{"text":329,"config":330},"Centre de confiance",{"href":331,"dataGaName":332,"dataGaLocation":41},"/fr-fr/security/","trust center",{"text":334,"config":335},"Centre pour la transparence de l'IA",{"href":336,"dataGaName":337,"dataGaLocation":41},"/fr-fr/ai-transparency-center/","ai transparency center",{"text":339,"config":340},"Newsletter",{"href":341,"dataGaName":342,"dataGaLocation":41},"/company/contact/#contact-forms","newsletter",{"text":344,"config":345},"Presse",{"href":346,"dataGaName":347,"dataGaLocation":41},"/press/","press",{"text":349,"config":350,"lists":351},"Nous contacter",{"dataNavLevelOne":291},[352],{"items":353},[354,357,362],{"text":48,"config":355},{"href":50,"dataGaName":356,"dataGaLocation":41},"talk to sales",{"text":358,"config":359},"Portail d’assistance",{"href":360,"dataGaName":361,"dataGaLocation":41},"https://support.gitlab.com","support portal",{"text":363,"config":364},"Portail clients GitLab",{"href":365,"dataGaName":366,"dataGaLocation":41},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":368,"login":369,"suggestions":376},"Fermer",{"text":370,"link":371},"Pour rechercher des dépôts et des projets, connectez-vous à",{"text":372,"config":373},"gitlab.com",{"href":55,"dataGaName":374,"dataGaLocation":375},"search login","search",{"text":377,"default":378},"Suggestions",[379,381,386,388,393,398],{"text":70,"config":380},{"href":75,"dataGaName":70,"dataGaLocation":375},{"text":382,"config":383},"Suggestions de code (IA)",{"href":384,"dataGaName":385,"dataGaLocation":375},"/fr-fr/solutions/code-suggestions/","Code Suggestions (AI)",{"text":104,"config":387},{"href":106,"dataGaName":104,"dataGaLocation":375},{"text":389,"config":390},"GitLab sur AWS",{"href":391,"dataGaName":392,"dataGaLocation":375},"/fr-fr/partners/technology-partners/aws/","GitLab on AWS",{"text":394,"config":395},"GitLab sur Google Cloud ",{"href":396,"dataGaName":397,"dataGaLocation":375},"/fr-fr/partners/technology-partners/google-cloud-platform/","GitLab on Google Cloud",{"text":399,"config":400},"Pourquoi utiliser GitLab ?",{"href":83,"dataGaName":401,"dataGaLocation":375},"Why GitLab?",{"freeTrial":403,"mobileIcon":408,"desktopIcon":413,"secondaryButton":416},{"text":404,"config":405},"Commencer votre essai gratuit",{"href":406,"dataGaName":46,"dataGaLocation":407},"https://gitlab.com/-/trials/new/","nav",{"altText":409,"config":410},"Icône GitLab",{"src":411,"dataGaName":412,"dataGaLocation":407},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":409,"config":414},{"src":415,"dataGaName":412,"dataGaLocation":407},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":417,"config":418},"Commencer",{"href":419,"dataGaName":420,"dataGaLocation":407},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/fr-fr/get-started/","get started",{"freeTrial":422,"mobileIcon":426,"desktopIcon":428},{"text":423,"config":424},"En savoir plus sur GitLab Duo",{"href":75,"dataGaName":425,"dataGaLocation":407},"gitlab duo",{"altText":409,"config":427},{"src":411,"dataGaName":412,"dataGaLocation":407},{"altText":409,"config":429},{"src":415,"dataGaName":412,"dataGaLocation":407},{"freeTrial":431,"mobileIcon":436,"desktopIcon":438},{"text":432,"config":433},"Retour aux tarifs",{"href":185,"dataGaName":434,"dataGaLocation":407,"icon":435},"back to pricing","GoBack",{"altText":409,"config":437},{"src":411,"dataGaName":412,"dataGaLocation":407},{"altText":409,"config":439},{"src":415,"dataGaName":412,"dataGaLocation":407},{"title":441,"button":442,"config":447},"Découvrez comment l'IA agentique transforme la livraison logicielle",{"text":443,"config":444},"Regarder GitLab Transcend maintenant",{"href":445,"dataGaName":446,"dataGaLocation":41},"/fr-fr/events/transcend/virtual/","transcend event",{"layout":448,"icon":449,"disabled":26},"release","AiStar",{"data":451},{"text":452,"source":453,"edit":459,"contribute":464,"config":469,"items":474,"minimal":651},"Git est une marque déposée de Software Freedom Conservancy et notre utilisation de « GitLab » est sous licence",{"text":454,"config":455},"Afficher le code source de la page",{"href":456,"dataGaName":457,"dataGaLocation":458},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":460,"config":461},"Modifier cette page",{"href":462,"dataGaName":463,"dataGaLocation":458},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":465,"config":466},"Veuillez contribuer",{"href":467,"dataGaName":468,"dataGaLocation":458},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":470,"facebook":471,"youtube":472,"linkedin":473},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[475,498,552,584,619],{"title":59,"links":476,"subMenu":481},[477],{"text":478,"config":479},"Plateforme DevSecOps",{"href":68,"dataGaName":480,"dataGaLocation":458},"devsecops platform",[482],{"title":183,"links":483},[484,488,493],{"text":485,"config":486},"Voir les forfaits",{"href":185,"dataGaName":487,"dataGaLocation":458},"view plans",{"text":489,"config":490},"Pourquoi choisir GitLab Premium ?",{"href":491,"dataGaName":492,"dataGaLocation":458},"/fr-fr/pricing/premium/","why premium",{"text":494,"config":495},"Pourquoi choisir GitLab Ultimate ?",{"href":496,"dataGaName":497,"dataGaLocation":458},"/fr-fr/pricing/ultimate/","why ultimate",{"title":499,"links":500},"Solutions",[501,506,509,511,516,521,525,528,531,536,538,540,542,547],{"text":502,"config":503},"Transformation digitale",{"href":504,"dataGaName":505,"dataGaLocation":458},"/fr-fr/topics/digital-transformation/","digital transformation",{"text":507,"config":508},"Sécurité et conformité",{"href":124,"dataGaName":131,"dataGaLocation":458},{"text":116,"config":510},{"href":100,"dataGaName":101,"dataGaLocation":458},{"text":512,"config":513},"Développement agile",{"href":514,"dataGaName":515,"dataGaLocation":458},"/fr-fr/solutions/agile-delivery/","agile delivery",{"text":517,"config":518},"Transformation cloud",{"href":519,"dataGaName":520,"dataGaLocation":458},"/fr-fr/topics/cloud-native/","cloud transformation",{"text":522,"config":523},"SCM",{"href":113,"dataGaName":524,"dataGaLocation":458},"source code management",{"text":104,"config":526},{"href":106,"dataGaName":527,"dataGaLocation":458},"continuous integration & delivery",{"text":155,"config":529},{"href":157,"dataGaName":530,"dataGaLocation":458},"value stream management",{"text":532,"config":533},"GitOps",{"href":534,"dataGaName":535,"dataGaLocation":458},"/fr-fr/solutions/gitops/","gitops",{"text":168,"config":537},{"href":170,"dataGaName":171,"dataGaLocation":458},{"text":173,"config":539},{"href":175,"dataGaName":176,"dataGaLocation":458},{"text":178,"config":541},{"href":180,"dataGaName":181,"dataGaLocation":458},{"text":543,"config":544},"Formation",{"href":545,"dataGaName":546,"dataGaLocation":458},"/fr-fr/solutions/education/","education",{"text":548,"config":549},"Services financiers",{"href":550,"dataGaName":551,"dataGaLocation":458},"/fr-fr/solutions/finance/","financial services",{"title":188,"links":553},[554,556,559,561,564,566,569,572,574,576,578,580,582],{"text":200,"config":555},{"href":202,"dataGaName":203,"dataGaLocation":458},{"text":557,"config":558},"Guides de démarrage rapide",{"href":207,"dataGaName":208,"dataGaLocation":458},{"text":210,"config":560},{"href":212,"dataGaName":213,"dataGaLocation":458},{"text":215,"config":562},{"href":217,"dataGaName":563,"dataGaLocation":458},"docs",{"text":238,"config":565},{"href":240,"dataGaName":241},{"text":567,"config":568},"Histoires de réussite client",{"href":235,"dataGaLocation":458},{"text":570,"config":571},"Histoires de succès client",{"href":235,"dataGaName":236,"dataGaLocation":458},{"text":243,"config":573},{"href":245,"dataGaName":246,"dataGaLocation":458},{"text":251,"config":575},{"href":253,"dataGaName":254,"dataGaLocation":458},{"text":256,"config":577},{"href":258,"dataGaName":259,"dataGaLocation":458},{"text":261,"config":579},{"href":263,"dataGaName":264,"dataGaLocation":458},{"text":266,"config":581},{"href":268,"dataGaName":269,"dataGaLocation":458},{"text":271,"config":583},{"href":273,"dataGaName":274,"dataGaLocation":458},{"title":289,"links":585},[586,588,591,593,595,597,599,603,608,610,612,614],{"text":296,"config":587},{"href":298,"dataGaName":291,"dataGaLocation":458},{"text":589,"config":590},"Emplois",{"href":303,"dataGaName":304,"dataGaLocation":458},{"text":309,"config":592},{"href":311,"dataGaName":312,"dataGaLocation":458},{"text":314,"config":594},{"href":316,"dataGaName":317,"dataGaLocation":458},{"text":319,"config":596},{"href":321,"dataGaName":322,"dataGaLocation":458},{"text":324,"config":598},{"href":326,"dataGaName":327,"dataGaLocation":458},{"text":600,"config":601},"Sustainability",{"href":602,"dataGaName":600,"dataGaLocation":458},"/sustainability/",{"text":604,"config":605},"Diversité, inclusion et appartenance (DIB)",{"href":606,"dataGaName":607,"dataGaLocation":458},"/fr-fr/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":329,"config":609},{"href":331,"dataGaName":332,"dataGaLocation":458},{"text":339,"config":611},{"href":341,"dataGaName":342,"dataGaLocation":458},{"text":344,"config":613},{"href":346,"dataGaName":347,"dataGaLocation":458},{"text":615,"config":616},"Déclaration de transparence sur l'esclavage moderne",{"href":617,"dataGaName":618,"dataGaLocation":458},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"title":349,"links":620},[621,624,629,631,636,641,646],{"text":622,"config":623},"Échanger avec un expert",{"href":50,"dataGaName":51,"dataGaLocation":458},{"text":625,"config":626},"Aide",{"href":627,"dataGaName":628,"dataGaLocation":458},"https://support.gitlab.com/hc/en-us/articles/11626483177756-GitLab-Support","get help",{"text":363,"config":630},{"href":365,"dataGaName":366,"dataGaLocation":458},{"text":632,"config":633},"Statut",{"href":634,"dataGaName":635,"dataGaLocation":458},"https://status.gitlab.com/","status",{"text":637,"config":638},"Conditions d'utilisation",{"href":639,"dataGaName":640},"/terms/","terms of use",{"text":642,"config":643},"Déclaration de confidentialité",{"href":644,"dataGaName":645,"dataGaLocation":458},"/fr-fr/privacy/","privacy statement",{"text":647,"config":648},"Préférences en matière de cookies",{"dataGaName":649,"dataGaLocation":458,"id":650,"isOneTrustButton":26},"cookie preferences","ot-sdk-btn",{"items":652},[653,655,658],{"text":637,"config":654},{"href":639,"dataGaName":640,"dataGaLocation":458},{"text":656,"config":657},"Politique de confidentialité",{"href":644,"dataGaName":645,"dataGaLocation":458},{"text":647,"config":659},{"dataGaName":649,"dataGaLocation":458,"id":650,"isOneTrustButton":26},[661],{"id":662,"title":663,"body":8,"config":664,"content":666,"description":8,"extension":24,"meta":670,"navigation":26,"path":671,"seo":672,"stem":673,"__hash__":674},"blogAuthors/en-us/blog/authors/gitlab-france-team.yml","Gitlab France Team",{"template":665},"BlogAuthor",{"name":18,"config":667},{"headshot":668,"ctfId":669},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749659488/Blog/Author%20Headshots/gitlab-logo-extra-whitespace.png","1gfblqN0ibYIuWGk7MOTny",{},"/en-us/blog/authors/gitlab-france-team",{},"en-us/blog/authors/gitlab-france-team","Eni-wcJbgxSvctiz4Yjf4UeRk6T6IWt1wK0KuHU907U",[676,689,703],{"content":677,"config":687},{"tags":678,"category":9,"body":680,"date":681,"heroImage":682,"authors":683,"description":685,"title":686},[9,679],"tutorial","Les vulnérabilités dans les conteneurs n'attendent pas votre prochain\ndéploiement. Elles peuvent apparaître à tout moment, de la création d'une\nimage à l'exécution des conteneurs en production. Pour remédier à ce\nproblème, GitLab propose plusieurs approches d'analyse des conteneurs,\nchacune conçue pour une étape spécifique du cycle de développement logiciel ([SDLC](https://about.gitlab.com/fr-fr/blog/what-is-sdlc/ \"Qu'est-ce que le SDLC ?\")).\n\n\nDans ce guide, nous explorons les différents types d'analyse de conteneurs proposés par GitLab, vous expliquons comment les activer et vous partageons les configurations les plus courantes pour bien démarrer.\n\n\n## Qu'est-ce que l'analyse des conteneurs ? \n\n\nLes vulnérabilités de sécurité présentes dans les images de conteneurs constituent un risque tout au long du cycle de vie applicatif. Les images de base, les paquets de systèmes d'exploitation et les dépendances applicatives peuvent tous receler des vulnérabilités activement exploitées par des attaquants. L'analyse des conteneurs permet de détecter ces risques en amont, avant qu'ils n'atteignent l'environnement de production, et propose des pistes de remédiation le cas échéant.\n\n\nL'analyse des conteneurs est un élément essentiel de l'analyse de la composition logicielle (SCA), qui vous aide à comprendre et à sécuriser les dépendances externes dont vos applications conteneurisées dépendent.\n\n\n## 5 types d'analyses de conteneurs dans GitLab\n\n\nGitLab propose cinq approches distinctes d'analyse de conteneurs, chacune répondant à un objectif précis dans votre stratégie de sécurité.\n\n\n### 1. Analyse des conteneurs dans le pipeline\n\n\n* Fonctionnement : analyse les images de conteneurs lors de l'exécution du [pipeline CI/CD](https://about.gitlab.com/fr-fr/topics/ci-cd/cicd-pipeline/ \"Qu'est-ce qu'un pipeline CI/CD ?\") afin de détecter les vulnérabilités avant le déploiement\n\n* Cas d'utilisation idéal : contrôles de sécurité en amont (shift-left) pour bloquer les images vulnérables avant qu'elles n'atteignent la production\n\n* Disponibilité : version gratuite de GitLab, GitLab Premium et GitLab Ultimate (avec des fonctionnalités supplémentaires dans GitLab Ultimate)\n\n* [Documentation](https://docs.gitlab.com/user/application_security/container_scanning/)\n\n\nGitLab utilise le scanner de sécurité Trivy pour analyser les images de conteneurs et rechercher de vulnérabilités connues. Lors de l'exécution du pipeline, le scanner examine vos images et génère un rapport détaillé.\n\n\n#### Activer l'analyse des conteneurs dans le pipeline\n\n\n**Option A : merge request préconfigurée**\n\n\n* Accédez à **Sécurisation > Configuration de la sécurité** dans votre projet.\n\n* Repérez la ligne « Analyse de conteneurs ».\n\n* Sélectionnez **Configurer avec une merge request**.\n\n* Une merge request intégrant la configuration nécessaire est automatiquement créée.\n\n\n**Option B : configuration manuelle**\n\n\n* Ajoutez le contenu suivant à votre fichier `.gitlab-ci.yml` :\n\n\n```yaml\ninclude:\n  - template: Jobs/Container-Scanning.gitlab-ci.yml\n```  \n\n\n#### Configurations courantes\n\n\n**Analyser une image spécifique :**\n\n\nPour analyser une image spécifique, remplacez la variable `CS_IMAGE` dans le job `container_scanning`.\n\n\n```yaml\ninclude:\n  - template: Jobs/Container-Scanning.gitlab-ci.yml\n\ncontainer_scanning:\n  variables:\n    CS_IMAGE: myregistry.com/myapp:latest\n```\n\n\n**Filtrer par seuil de gravité :**\n\n\nPour n'afficher que les vulnérabilités dépassant un certain niveau de gravité, remplacez la variable `CS_SEVERITY_THRESHOLD` dans le job `container_scanning`. Dans l'exemple ci-dessous, seules les vulnérabilités d'un niveau de gravité **Élevé** ou supérieur seront affichées.\n\n\n```yaml\ninclude:\n  - template: Jobs/Container-Scanning.gitlab-ci.yml\n\ncontainer_scanning:\n  variables:\n    CS_SEVERITY_THRESHOLD: \"HIGH\"\n```\n\n\n#### Consulter les vulnérabilités dans une merge request\n\n\nL'affichage direct des vulnérabilités détectées par l'analyse des conteneurs au sein des merge requests rend les revues de sécurité plus fluides et plus efficaces. Une fois l'analyse des conteneurs configurée dans votre pipeline CI/CD, GitLab affiche automatiquement les vulnérabilités détectées dans le [widget Sécurité](https://docs.gitlab.com/user/project/merge_requests/widgets/#application-security-scanning) de la merge request.\n\n\n![Vulnérabilités détectées lors de l'analyse des conteneurs affichées dans la merge request](https://res.cloudinary.com/about-gitlab-com/image/upload/v1772547514/lt6elcq6jexdhqatdy8l.png \"Vulnérabilités détectées lors de l'analyse des conteneurs affichées dans la merge request\")\n\n\n* Accédez à n'importe quelle merge request et faites défiler jusqu'à la section « Analyse de sécurité » pour obtenir un résumé des vulnérabilités nouvellement introduites et existantes détectées dans vos images de conteneurs.\n\n* Cliquez sur une **vulnérabilité** pour accéder à des informations détaillées, notamment le niveau de gravité, les paquets affectés et les recommandations de remédiation disponibles.\n\n\n![GitLab Security – détails dans la merge request](https://res.cloudinary.com/about-gitlab-com/image/upload/v1772547514/hplihdlekc11uvpfih1p.png)\n\n\n![GitLab Security – détails dans la merge request](https://res.cloudinary.com/about-gitlab-com/image/upload/v1772547513/jnxbe7uld8wfeezboifs.png \"Détails d'une vulnérabilité détectée par l'analyse des conteneurs dans la merge request\")\n\n\nCette visibilité permet aux équipes de développement et de sécurité de détecter et de traiter les vulnérabilités des conteneurs avant qu'elles n'atteignent la production : la sécurité devient une composante à part entière du processus de revue de code plutôt qu'un contrôle distinct.\n\n\n#### Consulter les vulnérabilités dans le rapport de vulnérabilités\n\n\nAu-delà des revues dans les merge requests, GitLab met à disposition un [rapport de vulnérabilités](https://docs.gitlab.com/user/application_security/vulnerability_report/) centralisé, qui offre aux équipes de sécurité une visibilité complète sur l'ensemble des résultats de l'analyse des conteneurs dans votre projet.\n\n\n![Rapport de vulnérabilités avec classement selon l'analyse des conteneurs](https://res.cloudinary.com/about-gitlab-com/image/upload/v1772547524/gagau279fzfgjpnvipm5.png \"Rapport de vulnérabilités avec classement selon l'analyse des conteneurs\")\n\n\n* Accédez à ce rapport via **Sécurité et conformité > Rapport de vulnérabilités** dans la barre latérale de votre projet.\n\n* Vous y trouverez une vue agrégée de toutes les vulnérabilités de conteneurs détectées dans vos branches, avec des options de filtrage permettant de trier les vulnérabilités par gravité, statut, type de scanner ou image de conteneur spécifique.\n\n* Cliquez sur une vulnérabilité pour accéder à sa page dédiée.\n\n\n![Page de vulnérabilité – vue 1](https://res.cloudinary.com/about-gitlab-com/image/upload/v1772547520/e1woxupyoajhrpzrlylj.png)\n\n\n![Page de vulnérabilité – vue 2](https://res.cloudinary.com/about-gitlab-com/image/upload/v1772547521/idzcftcgjc8eryixnbjn.png)\n\n\n![Page de vulnérabilité – vue 3](https://res.cloudinary.com/about-gitlab-com/image/upload/v1772547522/mbbwbbprtf9anqqola10.png \"Détails d'une vulnérabilité détectée par l'analyse des conteneurs\")\n\n\nLes [détails de la vulnérabilité](https://docs.gitlab.com/user/application_security/vulnerabilities/) indiquent précisément les images et couches de conteneurs concernées pour faciliter la traçabilité jusqu'à la source du problème. Vous pouvez assigner des vulnérabilités à des membres de l'équipe, modifier leur statut (détectée, confirmée, résolue, rejetée), ajouter des commentaires pour faciliter la collaboration et associer des tickets connexes pour suivre la remédiation.\n\n\nCe workflow transforme la [gestion des vulnérabilités](https://about.gitlab.com/fr-fr/blog/what-is-vulnerability-management/ \"Qu'est-ce que la gestion des vulnérabilités ?\"), autrefois cantonnée à des tableurs, en une composante intégrée de votre processus de développement, garantissant que les résultats de sécurité des conteneurs sont suivis, priorisés et résolus de manière systématique.\n\n\n#### Consulter la liste des dépendances\n\n\nLa [liste des dépendances](https://docs.gitlab.com/user/application_security/dependency_list/) de GitLab fournit une nomenclature logicielle complète ([SBOM](https://about.gitlab.com/fr-fr/blog/the-ultimate-guide-to-sboms/ \"Qu'est-ce qu'une SBOM ?\")) qui répertorie chaque composant de vos images de conteneurs afin d'offrir une transparence totale sur votre [chaîne d'approvisionnement logicielle](https://about.gitlab.com/fr-fr/blog/software-supply-chain-security-guide-why-organizations-struggle/).\n\n\n* Accédez à **Sécurité et conformité > Liste des dépendances** pour consulter l'inventaire de tous les paquets, bibliothèques et dépendances détectés par l'analyse des conteneurs dans votre projet.\n\n* Cet affichage répertorie les éléments qui s'exécutent réellement dans vos conteneurs, des paquets du système d'exploitation de base aux dépendances applicatives.\n\n\n![Liste des dépendances de GitLab](https://res.cloudinary.com/about-gitlab-com/image/upload/v1772547513/vjg6dk3nhajqamplroji.png \"Liste des dépendances de GitLab (SBOM)\")\n\n\nVous pouvez filtrer la liste par gestionnaire de paquets, type de licence ou statut de vulnérabilité afin d'identifier rapidement les composants qui présentent des risques de sécurité ou des problèmes de conformité. Chaque entrée de dépendance affiche les vulnérabilités associées pour traiter les problèmes de sécurité dans le contexte des composants logiciels réels, plutôt que comme des résultats isolés.\n\n\n### 2. Analyse des conteneurs pour le registre\n\n\n* Fonctionnement : analyse automatiquement les images envoyées vers le registre de conteneurs de GitLab (GitLab Container Registry) avec le tag `latest`\n\n* Cas d'utilisation idéal : surveillance continue des images du registre, sans déclenchement manuel du pipeline\n\n* Disponibilité : GitLab Ultimate uniquement\n\n* [Documentation](https://docs.gitlab.com/user/application_security/container_scanning/#container-scanning-for-registry)\n\n\nLorsque vous effectuez un push d'une image de conteneur avec le tag `latest`, le bot de politique de sécurité de GitLab déclenche automatiquement une analyse sur la branche par défaut. Contrairement à l'analyse dans le pipeline, cette approche fonctionne conjointement avec l'analyse continue des vulnérabilités pour surveiller les nouveaux avis de sécurité publiés.\n\n\n#### Activer l'analyse des conteneurs pour le registre\n\n\n1. Accédez à **Sécurisation > Configuration de la sécurité**.\n\n2. Faites défiler jusqu'à la section **Analyse des conteneurs pour le registre**.\n\n3. Activez la fonctionnalité.\n\n\n![Analyse des conteneurs pour le registre](https://res.cloudinary.com/about-gitlab-com/image/upload/v1772547512/vntrlhtmsh1ecnwni5ji.png \"Bouton d'activation de l'analyse des conteneurs pour le registre\")\n\n\n#### Prérequis\n\n\n* Rôle de Chargé de maintenance ou supérieur dans le projet\n\n* Le projet ne doit pas être vide (au moins un commit sur la branche par défaut est requis)\n\n* Les notifications du registre de conteneurs doivent être configurées\n\n* La base de données de métadonnées des paquets doit être configurée (activée par défaut sur GitLab.com)\n\n\nLes vulnérabilités apparaissent sous l'onglet **Vulnérabilités du registre de conteneurs** dans votre rapport de vulnérabilités.\n\n\n### 3. Analyse multi-conteneurs\n\n\n* Fonctionnement : analyse plusieurs images de conteneurs en parallèle au sein d'un même pipeline\n\n* Cas d'utilisation idéal : [architectures de microservices](https://about.gitlab.com/fr-fr/blog/what-are-the-benefits-of-a-microservices-architecture/ \"Qu'est-ce qu'une architecture de microservices ?\") et projets avec plusieurs images de conteneurs\n\n* Disponibilité : version gratuite de GitLab, GitLab Premium et GitLab Ultimate (actuellement en version bêta)\n\n* [Documentation](https://docs.gitlab.com/user/application_security/container_scanning/multi_container_scanning/)\n\n\nL'analyse multi-conteneurs utilise des pipelines enfants dynamiques pour exécuter des analyses simultanées afin de réduire considérablement le temps d'exécution global du pipeline lorsque plusieurs images doivent être analysées.\n\n\n#### Activer l'analyse multi-conteneurs\n\n\n1. Créez un fichier `.gitlab-multi-image.yml` à la racine de votre dépôt :\n\n\n```yaml\nscanTargets:\n  - name: alpine\n    tag: \"3.19\"\n  - name: python\n    tag: \"3.9-slim\"\n  - name: nginx\n    tag: \"1.25\"\n```\n\n\n2. Incluez le template dans votre fichier `.gitlab-ci.yml` :\n\n\n```yaml\ninclude:\n  - template: Jobs/Multi-Container-Scanning.latest.gitlab-ci.yml\n```\n\n\n#### Configuration avancée\n\n\n**Analyser des images depuis des registres privés :**\n\n\n```yaml\nauths:\n  registry.gitlab.com:\n    username: ${CI_REGISTRY_USER}\n    password: ${CI_REGISTRY_PASSWORD}\n\nscanTargets:\n  - name: registry.gitlab.com/private/image\n    tag: latest\n```\n\n\n**Inclure les informations de licence :**\n\n\n```yaml\nincludeLicenses: true\n\nscanTargets:\n  - name: postgres\n    tag: \"15-alpine\"\n```\n\n\n### 4. Analyse continue des vulnérabilités\n\n\n* Fonctionnement : crée automatiquement des vulnérabilités lors de la publication de nouveaux avis de sécurité, sans nécessiter l'exécution de pipeline\n\n* Cas d'utilisation idéal : surveillance proactive de la sécurité entre les déploiements\n\n* Disponibilité : GitLab Ultimate uniquement\n\n* [Documentation](https://docs.gitlab.com/user/application_security/continuous_vulnerability_scanning/)\n\n\nL'analyse traditionnelle ne détecte les vulnérabilités qu'au moment où elle est effectuée. Mais que se passe-t-il lorsqu'une nouvelle vulnérabilité et exposition commune (CVE) est publiée le lendemain pour un paquet analysé la veille ? L'analyse continue des vulnérabilités résout ce problème en surveillant la base de données d'avis de GitLab et en enregistrant automatiquement les vulnérabilités lorsque de nouveaux avis affectent vos composants.\n\n\n#### Fonctionnement\n\n\n1. Votre job d'analyse des conteneurs ou d'analyse des dépendances génère une SBOM CycloneDX.\n\n2. GitLab enregistre les composants de votre projet à partir de cette SBOM.\n\n3. Lors de la publication de nouveaux avis, GitLab vérifie si vos composants sont concernés.\n\n4. Les vulnérabilités sont automatiquement créées dans votre rapport de vulnérabilités.\n\n\n#### Points importants\n\n\n* Les analyses s'exécutent via des jobs en arrière-plan (Sidekiq), et non via des pipelines CI.\n\n* Seules les alertes publiées au cours des 14 derniers jours sont prises en compte pour la détection de nouveaux composants.\n\n* Les vulnérabilités utilisent « GitLab SBoM Vulnerability Scanner » comme nom de scanner.\n\n* Pour marquer des vulnérabilités comme résolues, vous devez toujours exécuter une analyse basée sur un pipeline.\n\n\n### 5. Analyse opérationnelle des conteneurs\n\n\n* Fonctionnement : analyse les conteneurs en cours d'exécution dans votre cluster [Kubernetes](https://about.gitlab.com/fr-fr/blog/kubernetes-the-container-orchestration-solution/ \"Qu'est-ce que Kubernetes ?\") selon une cadence planifiée\n\n* Cas d'utilisation idéal : surveillance de la sécurité après déploiement et détection des vulnérabilités au moment de l'exécution\n\n* Disponibilité : GitLab Ultimate uniquement\n\n* [Documentation](https://docs.gitlab.com/user/clusters/agent/vulnerabilities/)\n\n\nL'analyse opérationnelle des conteneurs comble l'écart entre la sécurité au moment du build et la sécurité à l'exécution. Grâce à l'agent GitLab pour Kubernetes, cette approche analyse les conteneurs réellement en cours d'exécution dans vos clusters pour détecter les vulnérabilités qui apparaissent après le déploiement.\n\n\n#### Activer l'analyse opérationnelle des conteneurs\n\n\nSi vous utilisez l'[agent GitLab pour Kubernetes](https://docs.gitlab.com/user/clusters/agent/install/), vous pouvez ajouter le contenu suivant à votre fichier de configuration de l'agent :\n\n\n```yaml\ncontainer_scanning:\n  cadence: '0 0 * * *'  # Daily at midnight\n  vulnerability_report:\n    namespaces:\n      include:\n        - production\n        - staging\n```\n\n\nVous pouvez également créer une [politique d'exécution des analyses](https://docs.gitlab.com/user/clusters/agent/vulnerabilities/#enable-via-scan-execution-policies) qui impose une analyse selon un planning défini par l'agent GitLab pour Kubernetes.\n\n\n![Politique d'exécution des analyses – analyse opérationnelle des conteneurs](https://res.cloudinary.com/about-gitlab-com/image/upload/v1772547515/gsgvjcq4sas4dfc8ciqk.png \"Conditions d'une politique d'exécution des analyses pour l'analyse opérationnelle des conteneurs\")\n\n\n#### Consulter les résultats\n\n\n* Accédez à **Opération > Clusters Kubernetes**.\n\n* Sélectionnez l'onglet **Agent** et choisissez votre agent.\n\n* Sélectionnez ensuite l'onglet **Sécurité** pour consulter les vulnérabilités du cluster.\n\n* Les résultats apparaissent également sous l'onglet **Vulnérabilités opérationnelles** dans le **rapport de vulnérabilités**.\n\n\n## Renforcer la posture de sécurité avec les politiques de sécurité de GitLab\n\n\nLes politiques de sécurité de GitLab vous permettent d'appliquer des normes de sécurité cohérentes dans l'ensemble de vos workflows de conteneurs, grâce à des contrôles automatisés pilotés par des politiques. Ces politiques intègrent la sécurité en amont en intégrant les exigences directement dans votre pipeline de développement afin de garantir que les vulnérabilités sont détectées et traitées avant que le code n'atteigne l'environnement de production.\n\n\n#### Politiques d'exécution des scans et des pipelines\n\n\nLes [politiques d'exécution des scans](https://docs.gitlab.com/user/application_security/policies/scan_execution_policies/) automatisent le moment et la manière dont l'analyse des conteneurs s'exécute dans vos projets. Définissez des politiques qui déclenchent des analyses de conteneurs sur chaque merge request, planifiez des analyses récurrentes de votre branche principale, et plus encore. Ces politiques assurent une couverture complète sans que les équipes de développement aient à configurer manuellement l'analyse dans le pipeline CI/CD de chaque projet.\n\n\nVous pouvez préciser les versions de scanner à utiliser et configurer les paramètres de scan de manière centralisée pour garantir la cohérence dans toute votre organisation tout en vous adaptant aux nouvelles menaces qui pèsent sur la sécurité des conteneurs.\n\n\n![Configuration d'une politique d'exécution des scans](https://res.cloudinary.com/about-gitlab-com/image/upload/v1772547517/z36dntxslqem9udrynvx.png \"Configuration d'une politique d'exécution des scans\")\n\n\nLes [politiques d'exécution des pipelines](https://docs.gitlab.com/user/application_security/policies/pipeline_execution_policies/) offrent des contrôles flexibles pour injecter (ou remplacer) des jobs personnalisés dans un pipeline en fonction de vos besoins en matière de conformité.\n\n\nCes politiques permettent d'injecter automatiquement des jobs d'analyse des conteneurs dans votre pipeline, de faire échouer les builds lorsque les vulnérabilités de conteneurs dépassent votre seuil de tolérance au risque, de déclencher des contrôles de sécurité supplémentaires pour des branches ou des tags spécifiques, ou encore d'imposer des exigences de conformité pour les images de conteneurs destinées aux environnements de production. Les politiques d'exécution des pipelines agissent comme des garde-fous automatisés pour appliquer vos normes de sécurité de manière cohérente dans l'ensemble de vos déploiements de conteneurs, sans intervention manuelle.\n\n\n![Politique d'exécution des pipelines](https://res.cloudinary.com/about-gitlab-com/image/upload/v1772547517/ddhhugzcr2swptgodof2.png \"Actions d'une politique d'exécution de pipeline\")\n\n\n#### Politiques d'approbation des merge requests\n\n\nLes [politiques d'approbation des merge requests](https://docs.gitlab.com/user/application_security/policies/merge_request_approval_policies/) imposent des contrôles de sécurité : les approbateurs désignés examinent et valident les merge requests contenant des vulnérabilités de conteneurs.\n\n\nConfigurez des politiques qui bloquent le merge lorsque des vulnérabilités de gravité critique ou élevée sont détectées, ou qui exigent l'approbation de l'équipe de sécurité pour toute merge request introduisant de nouveaux résultats liés aux conteneurs. Ces politiques empêchent les images de conteneurs vulnérables de progresser dans votre pipeline tout en préservant la vélocité de développement pour les changements à faible risque.\n\n\n![Politique d'approbation des merge requests avec blocage dans la merge request](https://res.cloudinary.com/about-gitlab-com/image/upload/v1772547513/hgnbc1vl4ssqafqcyuzg.png \"Politique d'approbation des merge requests avec blocage dans la merge request\")\n\n\n## Choisir la bonne approche\n\n\n| Type d'analyse | Utilisation | Avantage clé |\n|--------------|-------------|-------------|\n| Analyse dans le pipeline | À chaque build | Contrôles de sécurité en amont, blocage des builds vulnérables |\n| Analyse de registre | Surveillance continue | Détection des nouvelles CVE dans les images stockées |\n| Analyse multi-conteneurs | Microservices | Analyse en parallèle, pipelines plus rapides |\n| Analyse continue des vulnérabilités | Entre les déploiements | Surveillance proactive des avis |\n| Analyse opérationnelle | Surveillance en production | Détection des vulnérabilités dans l'environnement d'exécution |\n\n\nPour une approche complète en matière de sécurité, combinez plusieurs approches : l'analyse dans le pipeline pour détecter les problèmes pendant le développement, l'analyse des conteneurs pour le registre afin d'assurer une surveillance continue et l'analyse opérationnelle pour la visibilité en production.\n\n\n## Lancez-vous dès aujourd'hui\n\n\nActivez l'analyse dans le pipeline pour commencer à appliquer des mesures de sécurité dans les conteneurs :\n\n\n1. Accédez à **Sécurisation > Configuration de la sécurité** dans votre projet.\n\n2. Cliquez sur **Configurer avec une merge request** pour lancer l'analyse des conteneurs.\n\n3. Fusionnez la merge request.\n\n4. Votre prochain pipeline inclura l'analyse des vulnérabilités.\n\n\nAjoutez ensuite des analyses supplémentaires en fonction de vos exigences de sécurité et de votre abonnement GitLab.\n\n\nLa sécurité des conteneurs n'est pas une tâche ponctuelle, mais un processus continu. Grâce aux capacités complètes d'analyse des conteneurs de GitLab, vous pouvez détecter les vulnérabilités à chaque étape du cycle de vie de vos conteneurs, du build à l'exécution.\n\n\n> Pour en savoir plus sur la façon dont GitLab peut contribuer à renforcer votre posture de sécurité, consultez la [page sur les solutions de sécurité et de gouvernance de GitLab](https://about.gitlab.com/fr-fr/solutions/application-security-testing/).\n","2026-04-13","https://res.cloudinary.com/about-gitlab-com/image/upload/f_auto,q_auto,c_lfill/v1772721753/frfsm1qfscwrmsyzj1qn.png",[684],"Fernando Diaz","Découvrez les différentes méthodes d'analyse des conteneurs proposées par GitLab et apprenez à sécuriser vos conteneurs à chaque étape de leur cycle de vie.","Analyse des conteneurs de GitLab : le guide complet",{"featured":11,"template":12,"slug":688},"complete-guide-to-gitlab-container-scanning",{"content":690,"config":701},{"title":691,"description":692,"authors":693,"heroImage":695,"date":696,"body":697,"category":9,"tags":698},"GitLab 18.10 introduit le classement et la remédiation avec l'IA native","Découvrez les fonctionnalités de GitLab Duo Agent Platform qui réduisent le bruit, identifient les vulnérabilités les plus importantes et transforment les résultats en propositions de remédiation.",[694],"Alisa Ho","https://res.cloudinary.com/about-gitlab-com/image/upload/v1773843921/rm35fx4gylrsu9alf2fx.png","2026-03-19","GitLab 18.10 introduit de nouvelles fonctionnalités de sécurité basées sur l'IA, conçues pour améliorer la qualité et la rapidité de la [gestion des vulnérabilités](https://about.gitlab.com/fr-fr/blog/what-is-vulnerability-management/ \"Qu'est-ce que la gestion des vulnérabilités ?\"). Ensemble, ces fonctionnalités contribuent à réduire le temps que les équipes de développement consacrent à l'analyse des faux positifs et intègrent la remédiation automatisée directement dans leur workflow, afin qu'elles puissent corriger les vulnérabilités sans connaissances spécialisées dans la sécurité.\n\nVoici les nouveautés :\n\n* [**La détection des faux positifs pour les tests statiques de sécurité des applications (SAST)**](https://docs.gitlab.com/user/application_security/vulnerabilities/false_positive_detection/) **est désormais en disponibilité générale.** Ce flow utilise un [grand modèle de langage (LLM)](https://about.gitlab.com/fr-fr/blog/large-language-model/ \"Qu'est-ce qu'un LLM ?\") pour le raisonnement agentique afin de déterminer la probabilité qu'une vulnérabilité soit un faux positif et permet ainsi aux équipes de sécurité et de développement de se concentrer en priorité sur la correction des vulnérabilités critiques.\n* [**La résolution des vulnérabilités SAST avec l'IA agentique**](https://docs.gitlab.com/user/application_security/vulnerabilities/agentic_vulnerability_resolution/) **est désormais disponible en version bêta.** La résolution des vulnérabilités SAST avec l'IA agentique crée automatiquement une merge request avec un correctif proposé pour les vulnérabilités SAST vérifiées, ce qui réduit le délai de remédiation et limite le besoin d'une expertise approfondie en sécurité.\n* [**La détection des faux positifs pour les secrets**](https://docs.gitlab.com/user/application_security/vulnerabilities/secret_false_positive_detection/) **est désormais disponible en version bêta.** Ce flow applique la même réduction de bruit basée sur l'IA à la détection des secrets, en signalant les secrets factices et de test afin de réduire l'effort de revue.\n\nCes flows sont disponibles pour les clients [GitLab Ultimate](https://about.gitlab.com/fr-fr/pricing/ultimate/ \"GitLab Ultimate\") qui utilisent GitLab Duo Agent Platform.\n\n## Réduire le temps de classement grâce à la détection des faux positifs SAST\n\nLes scanners SAST traditionnels signalent chaque modèle de code suspect qu'ils détectent, indépendamment de l'accessibilité des chemins de code ou de la prise en charge du risque par les frameworks. Sans contexte d'exécution, ils ne peuvent pas distinguer une véritable vulnérabilité d'un code sûr qui semble simplement dangereux.\n\nLes équipes de développement peuvent ainsi passer des heures à examiner des résultats qui s'avèrent être des faux positifs. Au fil du temps, cette situation peut éroder la confiance dans le rapport et ralentir les équipes chargées de corriger les risques réels.\n\nAprès chaque scan SAST, GitLab Duo Agent Platform analyse automatiquement les nouveaux résultats de gravité critique et élevée, et y associe :\n\n* Un score de confiance indiquant la probabilité que le résultat soit un faux positif\n* Une explication générée par l'IA qui décrit le raisonnement\n* Un badge visuel qui permet de distinguer facilement les faux positifs probables des résultats probablement réels dans l'interface utilisateur\n\nCes résultats apparaissent dans le [rapport de vulnérabilités](https://docs.gitlab.com/user/application_security/vulnerability_report/), comme illustré ci-dessous. Vous pouvez filtrer le rapport pour vous concentrer sur les résultats qui ne sont pas des faux positifs, afin que les équipes consacrent leur temps à traiter les vulnérabilités réelles plutôt qu'à classer des résultats sans importance. \n\n![Rapport de vulnérabilités](https://res.cloudinary.com/about-gitlab-com/image/upload/v1773844787/i0eod01p7gawflllkgsr.png)\n\n\nL'évaluation de GitLab Duo Agent Platform est une recommandation. Vous gardez le contrôle sur chaque faux positif pour déterminer sa validité, et vous pouvez vérifier le raisonnement de l'agent à tout moment pour renforcer votre confiance dans le modèle.\n\n\n## Transformer les vulnérabilités en correctifs automatisés\n\nSavoir qu'une vulnérabilité est réelle ne représente que la moitié du travail. La remédiation nécessite encore de comprendre le chemin de code, de rédiger un correctif sécurisé et de s'assurer que rien d'autre n'est affecté.\n\nSi la vulnérabilité est identifiée comme probablement réelle par le flow SAST False Positive Detection, le flow Agentic SAST Vulnerability Resolution effectue automatiquement les étapes suivantes :\n\n1. Lecture du code vulnérable et du contexte environnant depuis votre dépôt\n2. Génération de correctifs proposés de haute qualité\n3. Validation des correctifs par des tests automatisés\n4. Ouverture d'une merge request avec un correctif proposé comprenant :\n   * Les modifications concrètes du code\n   * Un score de confiance\n   * Une explication des changements apportés et leur justification\n\nDans cette démonstration, vous verrez comment GitLab peut automatiquement traiter une vulnérabilité SAST, de la détection jusqu'à la création d'une merge request prête à être examinée. Observez comment l'agent lit le code, génère et valide un correctif, puis ouvre une merge request avec des modifications claires et explicites, afin que les équipes de développement puissent corriger le problème plus rapidement sans être des experts en sécurité.\n\n\u003Ciframe src=\"https://player.vimeo.com/video/1174573325?badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" style=\"position:absolute;top:0;left:0;width:100%;height:100%;\" title=\"GitLab 18.10 AI SAST False Positive Auto Remediation\">\u003C/iframe>\u003Cscript src=\"https://player.vimeo.com/api/player.js\">\u003C/script>\n\nComme pour toute suggestion générée par l'IA, il est recommandé d'examiner attentivement la merge request proposée avant de procéder au merge.\n\n## Identifier les secrets réels\nLa détection des secrets n'est utile que si les équipes font confiance aux résultats. Lorsque les rapports regorgent d'identifiants de test, de valeurs de remplacement et de tokens d'exemple, les équipes de développement risquent de perdre du temps à examiner des informations superflues au lieu de corriger les expositions réelles. Cette situation peut ralentir la remédiation des vulnérabilités et réduire la confiance dans le scan.\n\nLa détection des faux positifs pour les secrets aide les équipes à se concentrer sur les secrets importants afin de réduire les risques plus rapidement. Lors de l'exécution sur la branche par défaut, le flow effectue automatiquement les étapes suivantes :\n\n1. Analyse de chaque résultat pour repérer les identifiants de test, les valeurs d'exemple et les secrets factices potentiels\n2. Attribution d'un score de confiance qui indique si le résultat représente un risque réel ou un probable faux positif\n3. Génération d'une explication justifiant pourquoi le secret est considéré comme réel ou comme un faux positif\n4. Ajout d'un badge dans le rapport de vulnérabilités pour que les équipes de développement puissent voir le statut en un seul coup d'œil\n\nLes équipes de développement peuvent également déclencher cette analyse manuellement depuis le rapport de vulnérabilités en sélectionnant **« Vérifier les faux positifs »** sur n'importe quel résultat de détection de secrets, ce qui leur permet d'éliminer les résultats sans risque et de se concentrer plus rapidement sur les véritables secrets.\n\n## Adoptez la sécurité basée sur l'IA dès aujourd'hui\n\nGitLab 18.10 introduit des fonctionnalités couvrant l'ensemble du workflow de gestion des vulnérabilités, de la réduction du bruit lié aux faux positifs dans les scans SAST et la détection des secrets à la génération automatique de merge requests avec des correctifs proposés.\n\nPour découvrir comment la sécurité basée sur l'IA peut réduire le temps de revue et transformer les résultats en correctifs prêts à être fusionnés, [commencez un essai gratuit de GitLab Duo Agent Platform dès maintenant](https://about.gitlab.com/gitlab-duo-agent-platform/?utm_medium=blog&utm_source=blog&utm_campaign=eg_emea_x_trial_x_fr_blog_fr).",[699,9,700],"product","features",{"featured":11,"template":12,"slug":702},"gitlab-18-10-brings-ai-native-triage-and-remediation",{"content":704,"config":714},{"tags":705,"category":9,"body":707,"date":708,"heroImage":709,"authors":710,"description":712,"title":713},[9,679,699,706],"google","L'authentification unique (SSO) simplifie l'authentification des utilisateurs et en améliore la sécurité, car ces derniers peuvent accéder à plusieurs applications avec un seul identifiant. Pour les organisations qui utilisent à la fois GitLab et Google Workspace, l'intégration d'une authentification unique basée sur le protocole SAML rationalise la gestion des accès et garantit une collaboration fluide au sein des équipes.\n\nDans ce guide, nous vous présenterons la configuration de l'authentification SAML entre Google Workspace et GitLab.com, en incluant la synchronisation automatique des groupes qui associe les groupes Google Workspace aux rôles GitLab. À la fin de ce processus, vos utilisateurs pourront se connecter à GitLab avec leurs identifiants Google, et leurs autorisations refléteront automatiquement leurs adhésions aux groupes Google.\n\n**Remarque** : ce guide se concentre sur GitLab.com (version SaaS). Si vous utilisez GitLab Self-Managed, le processus de configuration diffère légèrement. Consultez la [documentation officielle GitLab relative au protocole SAML pour les instances auto-gérées](https://docs.gitlab.com/integration/saml/) pour obtenir des instructions détaillées.\n\n## Prérequis\n\nAvant de commencer, assurez-vous de disposer des éléments suivants :\n\n* **Google Workspace** avec un accès super-administrateur\n* **GitLab.com** avec un abonnement de niveau GitLab Premium ou GitLab Ultimate\n* **Rôle de propriétaire** dans un groupe principal GitLab\n* Des utilisateurs déjà existants dans Google Workspace (ils seront créés automatiquement dans GitLab lors de leur première connexion)\n\n## Comprendre l'architecture\n\nLorsque vous configurez l'authentification unique basée sur le protocole SAML avec la synchronisation de groupe, voici ce qui se produit :\n\n1. **Flux d'authentification** : les utilisateurs accèdent à l'URL d'authentification SSO de GitLab et sont redirigés vers Google Workspace pour s'authentifier.\n2. **Assertion SAML** : après une authentification réussie, Google envoie une réponse SAML contenant les détails de l'utilisateur et ses adhésions aux groupes.\n3. **Provisionnement automatique** : GitLab crée le compte utilisateur (si nécessaire) et l'assigne aux groupes en fonction de ses adhésions aux groupes Google.\n4. **Synchronisation des autorisations** : chaque fois que les utilisateurs se connectent, GitLab met à jour leurs adhésions aux groupes et leurs rôles pour qu'elles correspondent à leurs groupes Google actuels.\n\nCette configuration offre plusieurs avantages :\n\n* **Contrôle d'accès centralisé** : vous pouvez gérer l'accès des utilisateurs via les groupes Google Workspace.\n* **Provisionnement automatique** : les nouveaux utilisateurs obtiennent un accès à GitLab dès leur première connexion.\n* **Autorisations dynamiques** : les rôles des utilisateurs se mettent à jour automatiquement en fonction des modifications de l'adhésion aux groupes.\n* **Sécurité renforcée** : vous pouvez exploiter les fonctionnalités de sécurité d'authentification de Google.\n* **Réduction de la charge administrative** : il n'est pas nécessaire de gérer manuellement les adhésions aux groupes GitLab.\n\n## Partie 1 : obtenir vos valeurs de configuration SAML GitLab\n\nTout d'abord, vous devrez collecter certaines informations depuis GitLab que vous utiliserez lors de la création de l'application SAML dans Google Workspace. Voici les étapes à suivre :\n\n### Étape 1 : accéder aux paramètres SAML de votre groupe GitLab\n\n1. Connectez-vous à **GitLab.com**.\n2. Accédez à votre **groupe principal** (remarque : l'authentification SSO SAML ne peut être configurée qu'au niveau du groupe principal, pas dans les sous-groupes).\n3. Dans la barre latérale gauche, sélectionnez **Paramètres > Authentification unique SAML**.\n\n### Étape 2 : copier les URL requises\n\nSur la page des paramètres relatifs à l'authentification unique SAML, vous verrez trois URL importantes. Copiez-les et enregistrez-les dans un endroit accessible, vous en aurez bientôt besoin :\n\n* **URL du service consommateur d'assertion** : c'est ici que Google enverra les réponses SAML.\n\n  * Format : `https://gitlab.com/groups/your-group/-/saml/callback`\n* **Identifiant** : également appelé ID de l'entité, il identifie de manière unique votre groupe GitLab.\n\n  * Format : `https://gitlab.com/groups/your-group`\n* **URL de l'authentification unique GitLab** : c'est l'URL que vos utilisateurs utiliseront pour se connecter.\n\n  * Format : `https://gitlab.com/groups/your-group/-/saml/sso`\n\n\u003Cfigure>\n  \u003Cimg src=\"https://res.cloudinary.com/about-gitlab-com/image/upload/v1769090029/lrw6jbn7ussjze6lxg5o.png\" alt=\"Paramètres d'authentification unique SAML GitLab\">\n  \u003Cfigcaption>\u003Cem>Paramètres d'authentification unique SAML GitLab\u003C/em>\u003C/figcaption>\n\u003C/figure>\n\nVous allez maintenant créer une application SAML personnalisée dans Google Workspace qui se connecte à votre groupe GitLab.\n\n### Étape 3 : accéder à la console d'administration Google\n\n1. Ouvrez un nouvel onglet de navigateur et connectez-vous à la [console d'administration Google](https://admin.google.com/) avec un compte super-administrateur.\n2. Cliquez sur l'icône **Menu** (☰) en haut à gauche.\n3. Accédez à **Applications > Applications Web et mobiles**.\n4. Cliquez sur **Ajouter une application > Ajouter une application SAML personnalisée**.\n\n\u003Cp>\u003C/p>\n\n\u003Cfigure>\n  \u003Cimg src=\"https://res.cloudinary.com/about-gitlab-com/image/upload/v1769090026/c2inhqzppdbszysupjcd.png\" alt=\"Application SAML personnalisée Google\">\n  \u003Cfigcaption>\u003Cem>Application SAML personnalisée Google\u003C/em>\u003C/figcaption>\n\u003C/figure>\n\n### Étape 4 : configurer le nom de l'application\n\n1. Dans le champ **Nom de l'application**, saisissez GitLab (ou le nom de votre choix).\n2. Facultatif : téléchargez un **logo GitLab** comme icône d'application pour faciliter l'identification de l'application.\n3. Cliquez sur **Continuer**.\n\n### Étape 5 : télécharger les détails du fournisseur d'identité Google\n\nSur la page **Détails du fournisseur d'identité Google**, vous devrez enregistrer deux éléments :\n\n1. **URL d'authentification SSO** : copiez cette URL. Elle indique à GitLab où envoyer les demandes d'authentification.\n\n   * Format d'exemple : `https://accounts.google.com/o/saml2/idp?idpid=C1234abcd`\n2. **Certificat** : cliquez sur le bouton **Télécharger** pour enregistrer le fichier de certificat.\n\n   * Le fichier sera nommé comme l'exemple suivant : `GoogleIDPCertificate-gitlab.pem`.\n   * Enregistrez ce fichier dans un endroit où vous pourrez facilement le retrouver. Vous en aurez besoin dans la section suivante.\n3. Cliquez sur **Continuer**.\n\n### Étape 6 : configurer les détails du fournisseur de services\n\nC'est ici que vous utiliserez les URL GitLab que vous avez copiées à l'étape 2. Saisissez les informations suivantes :\n\n| **Champ** | **Valeur** | **Description** |\n|-----------|-----------|-----------------|\n| **URL ACS** | Votre URL du service consommateur d'assertion GitLab | Où Google envoie les réponses SAML |\n| **ID d'entité** | Votre identifiant GitLab | Identifiant unique pour votre groupe GitLab |\n| **URL de démarrage** | Laisser vide | Non requis pour cette configuration |\n| **Format de l'ID du nom** | Sélectionnez **E-MAIL** | Format de l'identifiant utilisateur |\n| **ID du nom** | Sélectionnez **Informations de base > Adresse e-mail principale** | L'adresse e-mail principale de l'utilisateur sera utilisée comme identifiant |\n| **Réponse signée** | Laissez décoché | GitLab ne requiert pas de réponses signées par défaut |\n\n\u003Cfigure style=\"margin: 24px 0;\">\n  \u003Cimg src=\"https://res.cloudinary.com/about-gitlab-com/image/upload/v1769090028/kaui5vj14gkftbfgsbnz.png\" alt=\"Détails de l'application SAML GitLab\">\n  \u003Cfigcaption>\u003Cem>Détails de l'application SAML GitLab\u003C/em>\u003C/figcaption>\n\u003C/figure>\n\nCliquez sur **Continuer** une fois que vous avez terminé.\n\n### Étape 7 : configurer le mappage des attributs\n\nLe mappage des attributs indique à Google quelles informations utilisateur envoyer à GitLab. Vous configurerez à la fois les attributs des utilisateurs de base et l'adhésion aux groupes.\n\n#### Attributs de base\n\nAjoutez ces trois mappages d'attributs en cliquant sur **Ajouter un mappage** pour chacun :\n\n| **Attribut de l'annuaire Google** | **Attribut de l'application** |\n|-----------------------------------|-------------------------------|\n| Adresse e-mail principale | email |\n| Prénom | first_name |\n| Nom | last_name |\n\n#### Configuration de l'adhésion aux groupes\n\nIl s'agit de la configuration critique qui permet la synchronisation automatique des groupes :\n\n1. Faites défiler jusqu'à la section **« Adhésion aux groupes (facultatif) »**.\n2. Sous **« Groupes Google »**, cliquez sur **« Rechercher un groupe »**.\n3. Recherchez et sélectionnez chaque groupe Google Workspace que vous souhaitez synchroniser avec GitLab.\n\n   * Vous pouvez sélectionner jusqu'à 75 groupes\n   * Exemples : Ingénierie, DevOps, Équipe plateforme, Équipe sécurité\n4. Sous **« Attribut de l'application »**, saisissez exactement : `groups`.\n5. Cliquez sur **Terminer**.\n\n\u003Cp>\u003C/p>\n\n\u003Cfigure>\n  \u003Cimg src=\"https://res.cloudinary.com/about-gitlab-com/image/upload/v1769090027/ksuebt9uoe3w5cdzsjkl.png\" alt=\"Mappage des attributs de l'application SAML GitLab\">\n  \u003Cfigcaption>\u003Cem>Mappage des attributs de l'application SAML GitLab\u003C/em>\u003C/figcaption>\n\u003C/figure>\n\n> **Important** : le nom de l'attribut de l'application **DOIT** être exactement `groups` (minuscules). C'est ce que GitLab s'attend à recevoir dans la réponse SAML. Toute autre valeur ou majuscule empêchera la synchronisation des groupes.\n\n### Étape 8 : activer l'application pour les utilisateurs\n\nVotre application SAML est créée mais pas encore activée. Pour la rendre disponible aux utilisateurs :\n\n1. Dans la console d'administration Google, repérez votre application **GitLab** dans la liste des applications Web et mobiles.\n2. Cliquez sur l'application pour accéder aux détails.\n3. Dans la barre latérale gauche, cliquez sur **Accès utilisateur**.\n4. Sélectionnez l'une des options suivantes :\n\n   * **ACTIVÉ pour tous** : active l'application pour tous les utilisateurs de votre organisation\n   * **ACTIVÉ pour certaines unités organisationnelles** :  sélectionnez des unités organisationnelles spécifiques\n5. Cliquez sur **Enregistrer**.\n\n**Remarque** : les modifications peuvent nécessiter jusqu'à 24 heures, mais prennent généralement effet en quelques minutes.\n\n## Partie 3 : convertir le certificat au format d'empreinte SHA-1\n\nGitLab requiert une empreinte de certificat SHA-1, mais le téléchargement du certificat de Google n'inclut pas directement ce format. Vous devrez le convertir.\n\n### Étape 9 : convertir le certificat\n\nVous avez deux options pour convertir le certificat au format requis.\n\n#### Option 1 : outil de conversion en ligne\n\nIl s'agit d'une méthode viable si vous êtes à l'aise avec l'utilisation d'un outil tiers :\n\n1. **Localisez le fichier de certificat** que vous avez téléchargé à l'étape 5 :\n\n   * Vérifiez votre dossier Téléchargements\n   * Le fichier aura un nom similaire à `GoogleIDPCertificate-gitlab.pem`\n2. **Ouvrez le fichier** dans un éditeur de texte :\n\n   * Mac : **Clic droit > Ouvrir avec > TextEdit**\n   * Windows : **Clic droit > Ouvrir avec > Bloc-notes**\n   * Linux : utilisez votre éditeur de texte préféré\n3. **Copiez TOUT le contenu** du fichier, y compris l'en-tête et le pied de page :\n\n```\n-----BEGIN CERTIFICATE-----\nMIIDdDCCAlygAwIBAgIGAXqD...\n(plusieurs lignes de texte encodé)\n...kE7RnF6yQ==\n-----END CERTIFICATE-----\n```\n\n4. **Accédez à** : un outil de conversion d'empreinte SHA-1 comme [celui-ci](https://www.samltool.com/fingerprint.php).\n5. **Collez le contenu du certificat** dans la zone de texte.\n6. **Sélectionnez « SHA-1 »** dans le menu déroulant de l'algorithme (et non SHA-256 !).\n7. Cliquez sur **« Calculer l'empreinte »**.\n8. **Copiez l'empreinte résultante** : elle sera au format : `XX:XX:XX:XX:XX:...`.\n\n#### Option 2 : conversion en ligne de commande\n\nSi vous préférez utiliser la ligne de commande :\n\n**Pour Mac, Linux ou Windows avec WSL :**\n\n```bash\ncd ~/Downloads\nopenssl x509 -noout -fingerprint -sha1 -inform pem -in \"GoogleIDPCertificate-gitlab.pem\"\n```\n\nLes données de sortie afficheront :\n\n```\nSHA1 Fingerprint=XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX\n```\n\nCopiez tout ce qui se trouve après `SHA1 Fingerprint=`.\n\n## Partie 4 : finaliser la configuration SAML GitLab\n\nMaintenant que vous disposez de l'URL d'authentification SSO Google et de l'empreinte du certificat, vous pouvez finaliser la configuration côté GitLab.\n\n### Étape 10 : saisir les détails du fournisseur d'identité Google\n\nRetournez à votre onglet de navigateur GitLab (**Paramètres > Authentification unique SAML**) et procédez comme suit :\n\n1. **URL de l'authentification SSO du fournisseur d'identité** :\n\n   * Collez l'URL de l'authentification SSO que vous avez copiée depuis Google à l'étape 5.\n2. **Empreinte du certificat** :\n\n   * Collez l'empreinte SHA-1 que vous avez générée à l'étape 9.\n   * Vérifiez que le format est correct : 59 caractères avec des deux-points (XX:XX:XX:...).\n3. **Activer l'authentification SAML pour ce groupe** :\n\n   * Cochez cette case pour activer l'authentification SSO SAML.\n\n\u003Cp>\u003C/p>\n\n\u003Cfigure>\n  \u003Cimg src=\"https://res.cloudinary.com/about-gitlab-com/image/upload/v1769090027/ncoeqrdu7aahyuflrq7b.png\" alt=\"Configuration SAML GitLab avec les valeurs SAML Google\">\n  \u003Cfigcaption>\u003Cem>Configuration SAML GitLab avec les valeurs SAML Google\u003C/em>\u003C/figcaption>\n\u003C/figure>\n\n### Étape 11 : configurer les paramètres de sécurité (recommandé)\n\nPour renforcer la sécurité, envisagez d'activer ces options supplémentaires :\n\n* **Mettre en œuvre l'authentification unique SSO pour l'activité Web de ce groupe**\n\n  * Cette option oblige les utilisateurs à s'authentifier via SAML pour accéder à l'interface Web GitLab.\n* **Mettre en œuvre l'authentification unique SSO pour les activités de [Git](https://about.gitlab.com/fr-fr/blog/what-is-git/ \"Qu'est-ce que Git ?\") et du proxy de dépendance pour ce groupe**\n\n  * Cette option exige l'authentification SAML pour les opérations Git et l'accès au proxy de dépendances.\n\nCliquez sur **Enregistrer les modifications** pour appliquer votre configuration.\n\n### Étape 12 : tester la configuration SAML\n\nAvant de procéder à la synchronisation des groupes, vérifiez que l'authentification SAML de base fonctionne :\n\n1. Ouvrez une fenêtre de navigation privée ou incognito.\n2. Accédez à votre URL d'authentification SSO GitLab.\n\n   * Format : `https://gitlab.com/groups/your-group/-/saml/sso`\n3. Vous devriez être redirigé vers la page de connexion Google.\n4. Connectez-vous avec un compte Google Workspace qui a accès à l'application GitLab.\n5. Après une authentification réussie, vous devriez être redirigé vers GitLab.\n\n**Si le test réussit**, vous pouvez procéder à la configuration de la synchronisation des groupes.\n\n**Si le test échoue**, vérifiez les points suivants :\n\n* Vérifiez que l'empreinte du certificat est au format SHA-1 (et non SHA-256).\n* Confirmez que l'URL de l'authentification SSO est correcte.\n* Assurez-vous que l'utilisateur a accès à l'application SAML GitLab dans la console d'administration Google.\n* Vérifiez que l'URL ACS et l'ID de l'entité correspondent exactement.\n\n## Partie 5 : configurer la synchronisation des groupes SAML\n\nIl est maintenant temps de mapper vos groupes Google Workspace aux rôles GitLab afin que les autorisations soient automatiquement gérées en fonction de l'adhésion aux groupes.\n\n### Étape 13 : configurer le rôle d'adhésion par défaut\n\nComme bonne pratique de sécurité, définissez un rôle par défaut minimal pour les utilisateurs qui se connectent mais n'appartiennent à aucun groupe mappé :\n\n1. Dans votre groupe GitLab, accédez à **Paramètres > Général**.\n2. Développez la section **Permissions et fonctionnalités du groupe**.\n3. Sous **Rôle d'adhésion par défaut**, sélectionnez **Accès minimal ou Invité**.\n4. Cliquez sur **Enregistrer les modifications**.\n\n\u003Cp>\u003C/p>\n\n\u003Cfigure>\n  \u003Cimg src=\"https://res.cloudinary.com/about-gitlab-com/image/upload/v1769097587/syi0jeaspzt9tki0w9nd.png\" alt=\"Paramètre d'adhésion par défaut de l'authentification SSO SAML GitLab\">\n  \u003Cfigcaption>\u003Cem>Paramètre d'adhésion par défaut de l'authentification SSO SAML GitLab\u003C/em>\u003C/figcaption>\n\u003C/figure>\n\n### Étape 14 : créer des liens de groupe SAML\n\nLes liens de groupe SAML représentent les mappages entre les groupes Google Workspace et les rôles GitLab. Voici comment les créer :\n\n1. Dans votre groupe GitLab, accédez à **Paramètres > Liens de groupe SAML**.\n2. Cliquez sur **« Ajouter un nouveau lien de groupe SAML »**.\n\nPour chaque groupe Google Workspace que vous souhaitez synchroniser :\n\n**Nom du groupe SAML** :\n\n* Saisissez le **nom exact** de votre groupe Google Workspace\n* Il est **sensible à la casse** et doit correspondre parfaitement\n* Exemple : Ingénierie (et non ingénierie)\n* Pour trouver le nom exact : Console d'administration Google > Annuaire > Groupes\n\n**Niveau d'accès** : sélectionnez le rôle GitLab approprié :\n\n* **Accès minimal** : peut voir que le groupe existe\n* **Invité** :  peut afficher les tickets et laisser des commentaires\n* **Rapporteur** : peut récupérer le code, afficher les tickets et créer de nouveaux tickets\n* **Développeur** : peut effectuer un push du code, créer des merge requests et gérer les tickets\n* **Chargé de maintenance** : peut gérer les paramètres du projet et les membres\n* **Propriétaire** : il possède le contrôle administratif complet sur le groupe\n\n3. Cliquez sur **Enregistrer**.\n4. **Répétez ce processus** pour chaque groupe Google Workspace que vous souhaitez mapper.\n\n**Remarque** : les règles de synchronisation des groupes SAML sont appliquées chaque fois qu'un utilisateur se connecte. Si l'adhésion d'un utilisateur à un groupe Google correspond à une règle de synchronisation, son rôle GitLab sera automatiquement défini sur le niveau d'accès configuré, même si vous l'avez modifié manuellement. Par exemple, si vous configurez une règle de synchronisation qui accorde un accès « Chargé de maintenance » puis que vous promouvez manuellement un utilisateur à « Propriétaire », il sera automatiquement rétrogradé à « Chargé de maintenance » » lors de sa prochaine connexion SAML.\n\n**Bonnes pratiques** : pour maintenir des niveaux d'accès personnalisés pour des utilisateurs spécifiques, effectuez l'une des actions suivantes :\n\n* Utilisez la synchronisation de groupe SAML uniquement sur votre groupe principal et gérez manuellement les autorisations dans les sous-groupes.\n* Créez des groupes Google séparés pour les utilisateurs qui nécessitent des autorisations élevées.\n* Évitez de configurer des règles de synchronisation qui entreraient en conflit avec les affectations de rôles manuelles.\n\n\u003Cfigure>\n  \u003Cimg src=\"https://res.cloudinary.com/about-gitlab-com/image/upload/v1769090028/etjoaiuyhnqh4gnjqcha.png\" alt=\"Configuration des liens de groupe SAML GitLab\">\n  \u003Cfigcaption>\u003Cem>Configuration des liens de groupe SAML GitLab\u003C/em>\u003C/figcaption>\n\u003C/figure>\n\n### Exemple de configuration de mappage de groupes\n\nVoici un exemple pratique de la façon dont vous pourriez structurer vos mappages de groupes :\n\n| **Groupe Google Workspace** | **Rôle GitLab** | **Objectif** |\n|------------------------------|-----------------|--------------|\n| Administrateur GitLab | Propriétaire | Accès administratif complet |\n| Équipe d'ingénierie | Chargé de maintenance | Peut gérer les projets et les paramètres |\n| Équipe de développement | Développeur | Peut écrire et effectuer un push du code |\n| Équipe d'assurance qualité | Développeur | Peut tester et gérer les tickets |\n| Prestataires | Rapporteur | Accès en lecture seule au code |\n| Tous les employés | Accès minimal | Visibilité de base |\n\n### Étape 15 : vérifier les liens de groupe\n\nAprès avoir créé tous vos liens de groupe :\n\n1. Examinez la liste complète des liens de groupe SAML dans **Paramètres > Liens de groupe SAML**.\n2. Vérifiez que chaque **nom de groupe SAML** correspond exactement au groupe Google Workspace correspondant.\n3. Vérifiez que chaque **niveau d'accès** est approprié pour l'objectif prévu.\n4. Vérifiez les fautes de frappe ou les espaces supplémentaires.\n\n## Partie 6 : tester la configuration complète\n\nIl est maintenant temps de tester l'ensemble de la configuration, y compris la synchronisation des groupes.\n\n### Étape 16 : tester avec un utilisateur réel\n\nChoisissez un utilisateur de test qui répond à ces critères :\n\n* Possède un compte Google Workspace\n* Est membre d'au moins un groupe Google Workspace que vous avez configuré\n* A l'application SAML GitLab activée dans la console d'administration Google\n* Idéalement, est quelqu'un d'autre que vous (pour garantir un test réaliste)\n\nPour effectuer le test :\n\n1. **Ouvrez une fenêtre de navigation privée ou incognito**\n2. **Accédez à votre URL d'authentification SSO GitLab** :\n\n   * `https://gitlab.com/groups/your-group/-/saml/sso`\n3. **Connectez-vous** avec les identifiants Google Workspace de l'utilisateur de test\n4. L'utilisateur devrait être :\n\n   * Authentifié avec succès\n   * Redirigé vers GitLab\n   * Ajouté automatiquement au groupe GitLab\n   * Assigné au rôle approprié en fonction de son adhésion au groupe Google\n\n### Étape 17 : vérifier l'adhésion au groupe et l'attribution de rôle\n\nDans votre compte administrateur GitLab :\n\n1. Accédez à votre groupe dans GitLab.\n2. Sélectionnez **Gestion > Membres** dans la barre latérale gauche.\n3. Trouvez l'utilisateur de test dans la liste des membres.\n4. Vérifiez les points suivants :\n\n   * L'utilisateur apparaît dans la liste des membres.\n   * L'utilisateur a le **rôle maximum** correct en fonction de son/ses groupe(s) Google.\n   * La colonne **Source** affiche un indicateur SAML.\n\n\u003Cp>\u003C/p>\n\n\u003Cfigure>\n  \u003Cimg src=\"https://res.cloudinary.com/about-gitlab-com/image/upload/v1769090026/hiov7kiukidsiyscfesg.png\" alt=\"Utilisateur SAML vérifié ajouté\">\n  \u003Cfigcaption>\u003Cem>Utilisateur SAML vérifié ajouté\u003C/em>\u003C/figcaption>\n\u003C/figure>\n\n## Partie 7 : configurer l'accès aux sous-groupes (facultatif)\n\nPour les grandes organisations, vous souhaiterez peut-être fournir un contrôle d'accès plus granulaire en utilisant les sous-groupes GitLab. Les liens de groupe SAML peuvent être configurés à n'importe quel niveau de votre hiérarchie de groupes pour vous permettre de mapper différents groupes Google Workspace à des équipes ou projets spécifiques.\n\n### Comprendre la structure des sous-groupes GitLab\n\nGitLab prend en charge les hiérarchies de groupes imbriqués qui peuvent refléter votre structure organisationnelle :\n\n```\nacme-corp/                          ← Top-level group (SAML configured here)\n├── engineering/                    ← Subgroup\n│   ├── backend/                   ← Nested subgroup\n│   └── frontend/                  ← Nested subgroup\n├── marketing/                      ← Subgroup\n└── operations/                     ← Subgroup\n```\n\n### Créer des sous-groupes\n\nSi vous devez créer des sous-groupes supplémentaires :\n\n1. Accédez à votre **groupe parent** (par exemple, acme-corp).\n2. Cliquez sur le bouton **Nouveau sous-groupe**.\n3. Configurez le sous-groupe :\n\n   * **Nom du sous-groupe** : nom affiché (par exemple, Ingénierie)\n   * **URL du sous-groupe** : slug d'URL (par exemple, ingenierie)\n   * **Niveau de visibilité** : choisissez Privé, Interne ou Public\n4. Cliquez sur **Créer un sous-groupe**.\n5. Répétez le processus pour les autres sous-groupes si nécessaire.\n\n### Configurer les liens de groupe SAML pour les sous-groupes\n\nSuivez les étapes ci-dessous pour configurer les liens de groupe SAML pour les sous-groupes.\n\n#### Ajouter de nouveaux groupes Google à l'application SAML (si nécessaire)\n\nSi vous ajoutez de nouveaux groupes Google Workspace pour l'accès aux sous-groupes :\n\n1. Accédez à **Console d'administration Google > Applications > Applications Web et mobiles > GitLab**.\n2. Cliquez sur **Mappage des attributs SAML**.\n3. Faites défiler jusqu'à **« Adhésion aux groupes (facultatif) »**.\n4. Ajoutez vos nouveaux groupes (par exemple, équipe backend, équipe frontend).\n5. Vérifiez que l'**« Attribut de l'application »** est toujours `groups`.\n6. Cliquez sur **Enregistrer**.\n\n#### Mapper les groupes Google aux sous-groupes\n\n1. **Accédez au sous-groupe spécifique** dans GitLab\n\n   * Exemple : acme-corp/engineering/backend\n2. Accédez à **Paramètres > Liens de groupe SAML**.\n3. Cliquez sur **« Ajouter un nouveau lien de groupe SAML »**.\n4. Configurez le mappage :\n\n   * **Nom du groupe SAML** : équipe backend (nom exact du groupe Google Workspace)\n   * **Niveau d'accès** : Développeur (ou le rôle de votre choix)\n5. Cliquez sur **Enregistrer**.\n\nRépétez ce processus pour tous les sous-groupes et leurs groupes Google correspondants.\n\n### Exemple d'accès multi-niveaux\n\nVoici comment les autorisations pourraient fonctionner à différents niveaux :\n\n#### Groupe principal : acme-corp\n\nLiens de groupe SAML :\n\n* « Administrateurs de l'entreprise » → Propriétaire\n* « Tous les collaborateurs » → Accès minimal\n\n#### Sous-groupe : acme-corp/engineering\n\nLiens de groupe SAML :\n\n* « Responsables ingénierie » → Propriétaire\n* « Équipe ingénierie » → Chargé de maintenance\n\n#### Sous-groupe imbriqué : acme-corp/engineering/backend\n\nLiens de groupe SAML :\n\n* « Responsables backend » → Chargé de maintenance\n* « Équipe backend » → Développeur\n\n### Héritage et combinaison des autorisations\n\nComprendre le comportement des autorisations est important :\n\n* **Calcul du rôle** : à chaque niveau, les utilisateurs reçoivent le **rôle le plus élevé** de tous leurs groupes Google.\n* **Héritage** : les autorisations plus élevées au niveau des groupes parents sont transmises aux sous-groupes enfants.\n* **Indépendance** : chaque niveau calcule les autorisations en fonction de ses propres liens de groupe et des autorisations héritées.\n* **Aucune limitation** : les autorisations inférieures au niveau des groupes parents ne restreignent PAS les autorisations supérieures au niveau des groupes enfants.\n\n**Exemples de scénarios** :\n\n**Utilisateur A** (membre de l'équipe backend uniquement) :\n\n* acme-corp : accès minimal (depuis « Tous les collaborateurs » par défaut)\n* acme-corp/engineering : accès minimal (hérité du groupe parent)\n* acme-corp/engineering/backend : Développeur (depuis le mappage « Équipe backend »)\n\n**Utilisateur B** (membre des responsables ingénierie et de l'équipe backend) :\n\n* acme-corp : accès minimal (depuis « Tous les collaborateurs » par défaut)\n* acme-corp/engineering : Propriétaire (depuis le mappage « Responsables ingénierie »)\n* acme-corp/engineering/backend : Propriétaire (hérité du groupe parent, qui est supérieur à Développeur)\n\n## Comment fonctionne la synchronisation ?\n\nComprendre les mécanismes de synchronisation des groupes SAML vous aide à gérer le système efficacement.\n\n### Calendrier de synchronisation\n\n* **Synchronisation** : les adhésions aux groupes se mettent à jour **chaque fois** qu'un utilisateur se connecte via SAML.\n* **Fréquence** : les modifications ne sont pas continues, elles ne se produisent qu'à la connexion.\n* **Direction** : la synchronisation est **unidirectionnelle** de Google Workspace vers GitLab.\n* **Première connexion** : le compte utilisateur est créé automatiquement et les groupes sont affectés.\n* **Connexions suivantes** : les adhésions aux groupes existantes sont mises à jour pour correspondre aux groupes Google actuels.\n\n### Priorité et combinaison des rôles\n\nSi un utilisateur appartient à plusieurs groupes Google Workspace :\n\n* GitLab évalue **tous** les groupes de l'utilisateur à chaque niveau de la hiérarchie.\n* L'utilisateur obtient le **rôle le plus élevé** de l'un de ses groupes.\n* Ce calcul se produit indépendamment à chaque niveau (groupe principal, sous-groupes, etc.).\n\n**Exemple** :\n\n* Utilisateur dans « Développeurs » (rôle Développeur) + « Responsables tech » (rôle Chargé de maintenance) → **Chargé de maintenance**\n\n### Modifications automatiques de rôle\n\nLe système gère automatiquement les modifications d'adhésion :\n\n* **Utilisateur ajouté à un groupe Google** : rôle mis à niveau lors de la prochaine connexion.\n* **Utilisateur supprimé d'un groupe Google** : rôle recalculé en fonction des groupes restants lors de la prochaine connexion.\n* **Utilisateur supprimé de tous les groupes mappés** : revient au rôle d'adhésion par défaut lors de la prochaine connexion.\n* **Utilisateur ajouté à des groupes supplémentaires** : obtient le rôle le plus élevé de tous les groupes lors de la prochaine connexion.\n\n### Calendrier de propagation\n\nVoici le calendrier de propagation à prendre en compte :\n\n* **Modifications Google Workspace** : peuvent prendre jusqu'à 24 heures pour se propager, bien qu'elles ne prennent généralement que quelques minutes.\n* **Synchronisation GitLab** : se produit immédiatement lorsque l'utilisateur se connecte après que les modifications Google sont actives.\n* **Tests** : demandez aux utilisateurs de se déconnecter et de se reconnecter pour tester les modifications d'autorisations.\n\n## Comprendre le cycle de vie des utilisateurs et les cas particuliers\n\n### Que se passe-t-il lorsque vous supprimez un utilisateur de GitLab ?\n\n**Suppression des autorisations uniquement** : si vous supprimez un utilisateur des projets GitLab mais laissez son compte actif et qu'il est toujours dans les groupes Google autorisés :\n\n* Il conserve le même compte (même ID d'utilisateur et nom d'utilisateur).\n* Lorsqu'il se connecte via SAML, ses adhésions aux groupes sont automatiquement restaurées.\n* Il retrouve les autorisations en fonction de ses adhésions actuelles aux groupes Google.\n\n**Blocage du compte** :\n\n* Le compte existe mais est verrouillé.\n* L'utilisateur ne peut pas se connecter même s'il est dans les groupes Google.\n* Peut être débloqué ultérieurement, en préservant tout l'historique.\n\n**Suppression du compte** :\n\n* Le compte est définitivement supprimé.\n* Si l'utilisateur se connecte à nouveau (tout en étant toujours dans les groupes Google), GitLab crée un **compte entièrement nouveau**.\n* Le nouveau compte a un ID d'utilisateur différent sans aucune connexion avec l'ancien.\n\n### Processus de désactivation approprié\n\nPour révoquer définitivement l'accès d'un utilisateur, suivez ces étapes :\n\n1. **Supprimez l'utilisateur des groupes Google Workspace** pour empêcher l'authentification.\n2. **Bloquez l'utilisateur dans GitLab** pour empêcher la recréation du compte et préserver les pistes d'audit.\n3. **Supprimez le compte (facultatif)** seulement si vous êtes certain que l'utilisateur ne reviendra pas.\n\n> **Important** : supprimer un utilisateur uniquement de GitLab sans le supprimer des groupes Google signifie qu'il peut simplement se reconnecter et obtenir un nouvel accès.\n\n### Propagation de l'adhésion aux groupes Google\n\nSelon [la documentation de Google](https://support.google.com/a/answer/11143403), les modifications d'adhésion aux groupes peuvent prendre jusqu'à 24 heures pour se propager, bien qu'elles se produisent généralement en quelques minutes.\n\n### Scénarios de recréation de compte\n\n| **Scénario** | **Utilisateur toujours dans les groupes Google ?** | **Que se passe-t-il lors de la connexion** |\n|--------------|-----------------------------------------------------|---------------------------------------------|\n| Autorisations supprimées | Oui | Même compte, adhésions aux groupes restaurées |\n| Compte bloqué | Oui | La connexion échoue |\n| Compte supprimé | Oui | Nouveau compte créé avec un nouvel ID utilisateur |\n| Suppression des groupes Google | Non | La connexion échoue chez Google |\n\n## Dépannage des problèmes courants\n\nMême une configuration minutieuse peut entraîner des problèmes. Voici des solutions pour remédier aux problèmes les plus courants.\n\n### Les utilisateurs ne sont pas ajoutés aux groupes\n\n**Problème** : l'utilisateur se connecte avec succès via SAML mais n'apparaît dans aucun groupe GitLab, ou apparaît seulement avec le rôle par défaut.\n\n**Causes possibles et solutions** :\n\n1. **Les noms de groupe ne correspondent pas exactement**\n\n   * Vérifiez l'orthographe et les majuscules dans Google Workspace et GitLab.\n   * Recherchez les espaces supplémentaires avant ou après les noms de groupe.\n   * Vérifiez le nom exact dans Console d'administration Google > Annuaire > Groupes.\n2. **L'utilisateur n'est pas réellement dans le groupe Google**\n\n   * Vérifiez l'adhésion : Console d'administration Google > Annuaire > Groupes > Groupe > Membres.\n   * N'oubliez pas que l'adhésion aux groupes imbriqués pourrait être exclue.\n3. **Les groupes ne sont pas configurés dans l'application SAML**\n\n   * Vérifiez que les groupes sont sélectionnés dans le mappage des attributs SAML Google.\n   * Confirmez que l'« Attribut de l'application » est défini sur `groups` (minuscules).\n   * Réalisez un test de connexion SAML pour inspecter la réponse SAML.\n4. **Problème de calendrier ou de cache**\n\n   * Attendez 24 heures pour que les modifications Google se propagent complètement.\n   * Demandez à l'utilisateur de se déconnecter complètement de GitLab et Google.\n   * Effacez le cache du navigateur et réessayez.\n   * L'utilisateur doit se connecter via l'URL d'authentification unique SAML, pas la connexion GitLab normale.\n\n### L'utilisateur a un rôle incorrect\n\n**Problème** : l'utilisateur a accès mais possède le mauvais niveau d'autorisation.\n\n**Causes possibles et solutions** :\n\n1. **L'utilisateur appartient à plusieurs groupes**\n\n   * Rappel : les utilisateurs obtiennent le rôle **le plus élevé** de tous leurs groupes.\n   * Vérifiez tous les groupes Google auxquels l'utilisateur appartient.\n   * Examinez toutes les configurations de liens de groupe SAML à tous les niveaux.\n2. **Lien de groupe SAML mal configuré**\n\n   * Vérifiez le paramètre Niveau d'accès dans Paramètres > Liens de groupe SAML.\n   * Recherchez les mappages de groupes en double qui pourraient entrer en conflit.\n3. **L'utilisateur ne s'est pas connecté depuis les modifications**\n\n   * Les rôles ne se mettent à jour que lorsque les utilisateurs se connectent via SAML.\n   * Demandez à l'utilisateur de se déconnecter complètement et de se reconnecter via l'URL d'authentification SSO.\n4. **Autorisations héritées des groupes parents**\n\n   * Vérifiez les liens de groupe SAML dans les groupes parents.\n   * N'oubliez pas que les rôles plus élevés au niveau des groupes parents sont transmis aux groupes enfant.\n\n### L'authentification SAML échoue complètement\n\n**Problème** : les utilisateurs ne peuvent pas du tout se connecter ou reçoivent des messages d'erreur pendant l'authentification.\n\n**Causes possibles et solutions** :\n\n1. **Empreinte de certificat incorrecte**\n\n   * Vérifiez que vous avez utilisé le format SHA-1, et non SHA-256.\n   * Vérifiez que l'empreinte a le format correct avec des deux-points.\n   * Régénérez un certificat en utilisant l'outil en ligne ou la commande OpenSSL.\n2. **URL d'authentification unique incorrecte**\n\n   * Vérifiez à nouveau l'URL d'authentification unique copiée depuis Google.\n   * Assurez-vous qu'il n'y a pas d'espaces ou de caractères supplémentaires.\n3. **Incompatibilité de l'URL ACS ou de l'ID de l'entité**\n\n   * Vérifiez que l'URL ACS dans la console d'administration Google correspond exactement à GitLab.\n   * Confirmez que l'ID de l'entité correspond entre les deux systèmes.\n4. **L'utilisateur n'a pas d'accès à l'application**\n\n   * Vérifiez les paramètres d'accès utilisateur dans la console d'administration Google.\n   * Vérifiez que l'unité organisationnelle de l'utilisateur a l'application activée.\n   * Confirmez que l'application est activée pour les utilisateurs appropriés.\n5. **Certificat expiré**\n\n   * Vérifiez les dates de validité du certificat.\n   * Téléchargez un nouveau certificat si nécessaire.\n\n### Attribut de groupe manquant dans la réponse SAML\n\n**Problème** : les utilisateurs peuvent se connecter, mais la synchronisation des groupes ne fonctionne pas.\n\n**Causes possibles et solutions** :\n\n1. **Groupes non sélectionnés dans la configuration Google**\n\n   * Retournez à **Console d'administration Google > Applications > GitLab > Mappage des attributs**.\n   * Vérifiez que les groupes sont sélectionnés sous « Adhésion aux groupes ».\n   * Confirmez que l'« Attribut de l'application » est exactement `groups` (minuscules).\n2. **L'utilisateur n'est dans aucun groupe configuré**\n\n   * Seuls les groupes auxquels l'utilisateur appartient sont envoyés dans la réponse SAML.\n   * Ajoutez l'utilisateur à au moins un groupe sélectionné pour effectuer un test.\n3. **La configuration ne s'est pas propagée**\n\n   * Attendez jusqu'à 24 heures pour que les modifications prennent effet.\n   * Essayez de vous déconnecter de la console d'administration Google et de vous reconnecter.\n4. **Faute de frappe dans le nom de l'attribut de l'application**\n\n   * Le nom de l'attribut doit être exactement `groups` (minuscules).\n   * Une lettre majuscule ou un espace supplémentaire cassera la fonctionnalité.\n\n## Bonnes pratiques pour gérer la synchronisation de groupe SAML\n\nSuivez ces recommandations pour maintenir une configuration sécurisée et efficace.\n\n### Bonnes pratiques de sécurité\n\n1. **Maintenir un accès d'urgence**\n\n   * Conservez au moins un compte Propriétaire qui utilise l'authentification par mot de passe (pas SAML).\n   * Vous aurez un accès d'urgence si la configuration SAML ne fonctionne plus.\n   * Stockez ces identifiants de façon sécurisée.\n2. **Utiliser le principe du moindre privilège**\n\n   * Définissez l'adhésion par défaut sur Accès minimal.\n   * Accordez uniquement des autorisations plus élevées via des mappages de groupes explicites.\n   * Examinez et auditez régulièrement les adhésions aux groupes.\n3. **Activer les options d'application**\n\n   * Activez les options « Mettre en œuvre l'authentification unique SSO ».\n   * Cela empêche les utilisateurs de contourner l'authentification unique.\n   * Les exceptions doivent être rares et bien documentées.\n4. **Effectuer des audits de sécurité réguliers**\n\n   * Examinez tous les trimestre les adhésions aux groupes Google Workspace.\n   * Vérifiez chaque année les mappages de liens de groupe SAML.\n   * Surveillez les journaux d'audit GitLab pour détecter les schémas d'accès inhabituels.\n\n## Résumé et prochaines étapes\n\nFélicitations ! Vous avez configuré avec succès l'authentification unique basée sur le protocole SAML et la synchronisation automatique des groupes entre Google Workspace et GitLab. Votre configuration offre désormais :\n\n* **Une authentification transparente** : les utilisateurs se connectent avec leurs identifiants Google Workspace.\n* **Un provisionnement automatique** : les comptes utilisateur sont créés lors de la première connexion sans intervention manuelle.\n* **Des autorisations dynamiques** : les adhésions aux groupes et les rôles se mettent à jour automatiquement en fonction des groupes Google Workspace.\n* **Un contrôle d'accès centralisé** : gérez tous les accès via vos groupes Google Workspace existants.\n* **Une sécurité renforcée** : exploitez l'infrastructure d'authentification de Google et appliquez des politiques cohérentes.\n* **Une réduction de la charge administrative** : éliminez la gestion manuelle des utilisateurs et des autorisations dans GitLab.\n\n### Fonctionnement correct\n\nLorsque les utilisateurs accèdent à GitLab :\n\n1. Ils accèdent à votre URL d'authentification SSO GitLab.\n2. Ils s'authentifient avec leurs identifiants Google Workspace.\n3. Ils sont automatiquement ajoutés aux groupes GitLab appropriés.\n4. Ils reçoivent des autorisations basées sur leurs adhésions aux groupes Google.\n5. Leurs autorisations se mettent à jour chaque fois qu'ils se connectent.\n\n### Ressources supplémentaires\n\n* [Documentation concernant l'authentification unique basée sur le protocole SAML de GitLab](https://docs.gitlab.com/ee/user/group/saml_sso/)\n* [Documentation concernant la synchronisation des groupes SAML GitLab](https://docs.gitlab.com/ee/user/group/saml_sso/group_sync.html)\n* [Configuration de l'application SAML sur Google Workspace](https://support.google.com/a/answer/6087519?hl=fr&sjid=14836880554957868479-NA)\n* [Outil d'empreinte de certificat SAML](https://www.samltool.com/fingerprint.php)","2026-03-12","https://res.cloudinary.com/about-gitlab-com/image/upload/v1759320418/xjmqcozxzt4frx0hori3.png",[711],"Omid Khan","Découvrez comment automatiser le provisionnement des utilisateurs et synchroniser les autorisations avec les groupes Google dans ce guide détaillé.","Comment configurer l'authentification SSO SAML GitLab avec Google Workspace",{"featured":11,"template":12,"slug":715},"how-to-set-up-gitlab-saml-sso-with-google-workspace",{"promotions":717},[718,732,744],{"id":719,"categories":720,"header":722,"text":723,"button":724,"image":729},"ai-modernization",[721],"ai-ml","Is AI achieving its promise at scale?","Quiz will take 5 minutes or less",{"text":725,"config":726},"Get your AI maturity score",{"href":727,"dataGaName":728,"dataGaLocation":241},"/assessments/ai-modernization-assessment/","modernization assessment",{"config":730},{"src":731},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":733,"categories":734,"header":736,"text":723,"button":737,"image":741},"devops-modernization",[699,735],"devsecops","Are you just managing tools or shipping innovation?",{"text":738,"config":739},"Get your DevOps maturity score",{"href":740,"dataGaName":728,"dataGaLocation":241},"/assessments/devops-modernization-assessment/",{"config":742},{"src":743},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":745,"categories":746,"header":747,"text":723,"button":748,"image":752},"security-modernization",[9],"Are you trading speed for security?",{"text":749,"config":750},"Get your security maturity score",{"href":751,"dataGaName":728,"dataGaLocation":241},"/assessments/security-modernization-assessment/",{"config":753},{"src":754},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"header":756,"blurb":757,"button":758,"secondaryButton":762},"Commencez à développer plus rapidement dès aujourd'hui","Découvrez ce que votre équipe peut accomplir avec la plateforme d'orchestration intelligente pour le DevSecOps.\n",{"text":43,"config":759},{"href":760,"dataGaName":46,"dataGaLocation":761},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/fr-fr/","feature",{"text":48,"config":763},{"href":50,"dataGaName":51,"dataGaLocation":761},1777309997399]