[{"data":1,"prerenderedAt":775},["ShallowReactive",2],{"/fr-fr/blog/introducing-custom-compliance-frameworks-in-gitlab":3,"navigation-fr-fr":37,"banner-fr-fr":442,"footer-fr-fr":452,"blog-post-authors-fr-fr-Ian Khor|Salman Ladha":662,"blog-related-posts-fr-fr-introducing-custom-compliance-frameworks-in-gitlab":688,"assessment-promotions-fr-fr":727,"next-steps-fr-fr":766},{"id":4,"title":5,"authorSlugs":6,"body":9,"categorySlug":10,"config":11,"content":15,"description":9,"extension":27,"isFeatured":12,"meta":28,"navigation":29,"path":30,"publishedDate":21,"seo":31,"stem":34,"tagSlugs":35,"__hash__":36},"blogPosts/fr-fr/blog/introducing-custom-compliance-frameworks-in-gitlab.yml","Introducing Custom Compliance Frameworks In Gitlab",[7,8],"ian-khor","salman-ladha",null,"security",{"featured":12,"template":13,"slug":14},false,"BlogPost","introducing-custom-compliance-frameworks-in-gitlab",{"heroImage":16,"body":17,"authors":18,"updatedDate":21,"date":21,"title":22,"tags":23,"description":26,"category":10},"https://res.cloudinary.com/about-gitlab-com/image/upload/f_auto,q_auto,c_lfill/v1750099268/Blog/Hero%20Images/Blog/Hero%20Images/GitLab_Blog_Header_v4_YBzFAgt2EAkqQfqxNFEgj_1750099267940.svg","Maintenir plusieurs frameworks de conformité dans des pipelines DevSecOps en constante évolution n’a jamais été aussi difficile. À mesure que les normes évoluent et deviennent plus complexes, les entreprises croulent sous des exigences qui se chevauchent et des processus manuels, impactant ainsi le temps des développeurs et ralentissant les audits.\n\nPour résoudre ce problème, GitLab lance les frameworks de conformité personnalisés et 50 contrôles préconfigurés pour une large gamme de normes de conformité, notamment [ISO 27001](https://about.gitlab.com/fr-fr/blog/how-gitlab-can-support-your-iso-compliance-journey/ \"ISO 27001\"), le [benchmark CIS](https://about.gitlab.com/blog/new-cis-gitlab-benchmark-scanner-boosts-security-and-compliance/) et [SOC 2](https://about.gitlab.com/fr-fr/the-source/security/how-gitlab-can-help-you-prepare-for-your-soc-2-exam/ \"SOC 2\").\n\nLes frameworks de conformité personnalisés permettent aux entreprises de mapper plusieurs contrôles qui se chevauchent, issus de différentes normes et réglementations, en un framework unique et unifié. Cette flexibilité apporte une efficacité indispensable, permettant aux entreprises d'adapter leurs programmes de conformité en fonction de leurs besoins. Comme ces politiques sont intégrées directement dans les [pipelines CI/CD](https://about.gitlab.com/fr-fr/topics/ci-cd/cicd-pipeline/ \"Qu'est-ce qu'un pipeline CI/CD ?\") de GitLab, la conformité est appliquée automatiquement, sans perturber le développement.\n\nDe plus, avec les contrôles préconfigurés, les équipes peuvent accélérer l'adoption de la conformité, éliminant le besoin d'outils externes ou de configurations personnalisées complexes. En intégrant la conformité directement dans le cycle de développement logiciel, GitLab offre une visibilité en temps réel, une application automatisée et une préparation aux audits simplifiée pour que les équipes puissent livrer des logiciels sécurisés et conformes, plus rapidement.\n\nLes frameworks de conformité personnalisés et les contrôles préconfigurés sont disponibles dès maintenant dans [GitLab Ultimate](https://about.gitlab.com/fr-fr/pricing/ultimate/ \"GitLab Ultimate\").\n\n## Une pression croissante en matière de conformité\n\nLes entreprises doivent naviguer entre différents frameworks de conformité pour garantir le respect de nombreuses réglementations et fournir une assurance à leurs clients. Bien que ces frameworks partagent souvent des contrôles communs, ces derniers sont rarement alignés. Le résultat est une réalité que les équipes de conformité ne connaissent que trop bien : un suivi manuel via des feuilles de calcul qui génère le chaos, en particulier lors des examens d'audit.\n\nLes équipes de développement sont entraînées dans le tourbillon de la conformité car le développement de logiciels modernes est au cœur de la satisfaction de bon nombre de ces contrôles. Au lieu de créer et de livrer des logiciels sécurisés, ils se retrouvent à soutenir la collecte de preuves et les revues de conformité. Une étude « Total Economic Impact™ » sur GitLab Ultimate et menée par Forrester a révélé qu'avant GitLab, [les équipes de développement consacraient jusqu'à 80 heures par an de leur temps sur des tâches d'audit et de conformité](https://tei.forrester.com/go/GitLab/GitLabUltimate/?lang=en-us#Appendixes), du temps détourné de l'écriture de code et de la création de valeur commerciale.\n\nEn plus d'être inefficace, cette approche fragmentée est également coûteuse. Les [coûts liés à la conformité ont augmenté de 60 % au cours des cinq dernières années](https://www.cato.org/sites/cato.org/files/2024-01/research-brief367.pdf), selon le CATO Institute. Sans un système qui connecte l'application de la conformité à l'endroit où les logiciels sont créés, la conformité restera une réflexion après coup contraignante qui creuse un fossé entre les équipes de développement et de sécurité. \n\n## Pourquoi les frameworks de conformité personnalisés sont-ils importants ?\n\nNos clients nous ont demandé une plus grande flexibilité en matière de suivi et d’application de la conformité dans les workflows DevSecOps. Avec cette version, nous sommes heureux de donner à nos clients les moyens suivants :\n\n### Une conformité qui s'adapte à l'entreprise, et non l'inverse\n\nLes exigences réglementaires se chevauchent entre plusieurs frameworks, ce qui entraîne une complexité dans le suivi et l'application. Les frameworks de conformité personnalisés permettent aux entreprises de créer un framework unifié qui associe les exigences et les contrôles de plusieurs normes, réduisant l'effort manuel et la dépendance à des consultants souvent coûteux.\n\n### Une conformité plus rapide, de la configuration jusqu'aux audits\n\nCommencez à surveiller la conformité instantanément avec des contrôles préconfigurés alignés sur les normes de conformité clés, telles que SOC 2, ISO 27001 et les benchmarks CIS. La surveillance automatisée de la conformité et la collecte de preuves réduisent la préparation des audits de plusieurs semaines à quelques jours, permettant aux équipes de développement de rester concentrées sur la livraison de logiciels sécurisés.\n\n### Une conformité intégrée à la vitesse du développement\n\nContrairement aux outils GRC traditionnels qui fonctionnent de manière isolée, GitLab applique la conformité directement dans les pipelines CI/CD. Cette intégration signifie que la validation de la conformité se produit automatiquement lorsque le code progresse dans le pipeline, éliminant la friction traditionnelle entre la rapidité de développement et les exigences de sécurité.\n\nVoici un exemple de création d’un framework de conformité personnalisé dans GitLab :\n\n![custom compliance frameworks - edit requirement screen](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750099291/Blog/Content%20Images/Blog/Content%20Images/image6_aHR0cHM6_1750099291312.png)\n\n![custom compliance frameworks - screen showing requirements](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750099291/Blog/Content%20Images/Blog/Content%20Images/image2_aHR0cHM6_1750099291312.png)\n\n## Ce qu'il faut savoir sur le déploiement des frameworks de conformité personnalisés\n\nCette version comporte deux aspects critiques : \n\n* À partir de GitLab 18.0, les frameworks de conformité personnalisés seront activés par défaut. \n* Depuis GitLab 18.0, nous avons activé les frameworks de conformité personnalisés par défaut. Nous avons également supprimé les « Normes » du Centre de conformité pour simplifier l'expérience. Mais ne vous inquiétez pas, vos contrôles de conformité existants s'appliquent toujours. Nous avons converti les normes GitLab Standard et SOC 2 en labels de framework de conformité et transformé leurs vérifications de conformité en contrôles (notre nouveau terme à l'avenir). \n* Seuls les clients GitLab Ultimate peuvent définir des exigences, mapper des contrôles et appliquer des frameworks de conformité. Les utilisateurs de GitLab Premium peuvent toujours utiliser des labels de conformité, mais ils n'auront pas accès à l'ensemble des fonctionnalités. \n\nPour en savoir plus sur les frameworks de conformité personnalisés, découvrez cette vidéo d'introduction :\n\n\u003C!-- blank line -->\n\n\u003Cfigure class=\"video_container\">\n      \u003Ciframe src=\"https://www.youtube.com/embed/yfJ0oHCIn-8?si=z_Rt_ikry4RhjEAC\" frameborder=\"0\" allowfullscreen=\"true\"> \u003C/iframe>\n    \u003C/figure>\n\n\u003C!-- blank line -->\n\n## Déplacez la conformité en amont avec GitLab\n\nSimilaire à la sécurité, déplacer la conformité en amont signifie aborder les exigences de conformité plus tôt dans le cycle de vie du développement logiciel. Étant donné que les logiciels sont essentiels à la conformité d'une entreprise, l'intégration de contrôles là où les logiciels sont créés est cruciale. Avec GitLab, les équipes de sécurité et de conformité peuvent définir des frameworks, mapper des contrôles et automatiser l'application directement dans les pipelines CI/CD. Les équipes de développement restent concentrées sur la livraison de fonctionnalités, tandis que les équipes de conformité bénéficient d'une visibilité en temps réel et d'une collecte automatisée de preuves pour être prêtes pour l'audit. Cette approche unifiée comble le fossé entre le développement et la conformité, aidant les entreprises à atteindre une conformité continue dans le cadre de leur pratique DevSecOps.\n\nEn conséquence, les entreprises utilisant GitLab peuvent réduire de 90 % le temps passé par les équipes de développement sur les tâches d'audit et de conformité, et accélérer les audits externes de plusieurs semaines à moins d'une semaine, selon Forrester.\n\nSi vous êtes déjà un client GitLab Ultimate et que vous souhaitez en savoir plus sur la façon dont les frameworks de conformité personnalisés peuvent contribuer à améliorer votre programme de conformité et de sécurité, consultez notre documentation du [Centre de conformité](https://docs.gitlab.com/user/compliance/compliance_center/) où nous couvrons les exigences de mise en œuvre, les cas d'utilisation et plus encore.\n\nNote : « Total Economic Impact™ » sur GitLab Ultimate est une étude réalisée par Forrester Consulting en 2024 pour le compte de GitLab. Les résultats sont basés sur une organisation composite représentative des clients interrogés.",[19,20],"Ian Khor","Salman Ladha","2025-07-31","Présentation des frameworks de conformité personnalisés dans GitLab",[10,24,25],"product","features","Réduisez le suivi manuel, accélérez la préparation aux audits et appliquez les contrôles plus rapidement, directement depuis les workflows DevSecOps de GitLab.","yml",{},true,"/fr-fr/blog/introducing-custom-compliance-frameworks-in-gitlab",{"config":32,"title":33,"description":26},{"noIndex":12},"Les frameworks de conformité personnalisés de GitLab","fr-fr/blog/introducing-custom-compliance-frameworks-in-gitlab",[10,24,25],"6-YhdRRIG3PFv5mUKSQ6u4MQY646tpMHmUkFuB7CgTk",{"data":38},{"logo":39,"freeTrial":44,"sales":49,"login":54,"items":59,"search":369,"minimal":404,"duo":423,"pricingDeployment":432},{"config":40},{"href":41,"dataGaName":42,"dataGaLocation":43},"/fr-fr/","gitlab logo","header",{"text":45,"config":46},"Commencer un essai gratuit",{"href":47,"dataGaName":48,"dataGaLocation":43},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/fr-fr&glm_content=default-saas-trial/","free trial",{"text":50,"config":51},"Contacter l'équipe commerciale",{"href":52,"dataGaName":53,"dataGaLocation":43},"/fr-fr/sales/","sales",{"text":55,"config":56},"Connexion",{"href":57,"dataGaName":58,"dataGaLocation":43},"https://gitlab.com/users/sign_in/","sign in",[60,87,184,189,290,350],{"text":61,"config":62,"cards":64},"Plateforme",{"dataNavLevelOne":63},"platform",[65,71,79],{"title":61,"description":66,"link":67},"La plateforme d'orchestration intelligente pour le DevSecOps",{"text":68,"config":69},"Découvrir notre plateforme",{"href":70,"dataGaName":63,"dataGaLocation":43},"/fr-fr/platform/",{"title":72,"description":73,"link":74},"GitLab Duo Agent Platform","L'IA agentique pour l'ensemble du cycle de développement logiciel",{"text":75,"config":76},"Découvrir GitLab Duo",{"href":77,"dataGaName":78,"dataGaLocation":43},"/fr-fr/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":80,"description":81,"link":82},"Choisir GitLab","Découvrez les principales raisons pour lesquelles les entreprises choisissent GitLab",{"text":83,"config":84},"En savoir plus",{"href":85,"dataGaName":86,"dataGaLocation":43},"/fr-fr/why-gitlab/","why gitlab",{"text":88,"left":29,"config":89,"link":91,"lists":95,"footer":166},"Produit",{"dataNavLevelOne":90},"solutions",{"text":92,"config":93},"Voir toutes les solutions",{"href":94,"dataGaName":90,"dataGaLocation":43},"/fr-fr/solutions/",[96,121,144],{"title":97,"description":98,"link":99,"items":104},"Automatisation","CI/CD et automatisation pour accélérer le déploiement",{"config":100},{"icon":101,"href":102,"dataGaName":103,"dataGaLocation":43},"AutomatedCodeAlt","/fr-fr/solutions/delivery-automation/","automated software delivery",[105,109,112,117],{"text":106,"config":107},"CI/CD",{"href":108,"dataGaLocation":43,"dataGaName":106},"/fr-fr/solutions/continuous-integration/",{"text":72,"config":110},{"href":77,"dataGaLocation":43,"dataGaName":111},"gitlab duo agent platform - product menu",{"text":113,"config":114},"Gestion du code source",{"href":115,"dataGaLocation":43,"dataGaName":116},"/fr-fr/solutions/source-code-management/","Source Code Management",{"text":118,"config":119},"Livraison de logiciels automatisée",{"href":102,"dataGaLocation":43,"dataGaName":120},"Automated software delivery",{"title":122,"description":123,"link":124,"items":129},"Sécurité","Livrez du code plus rapidement sans compromettre la sécurité",{"config":125},{"href":126,"dataGaName":127,"dataGaLocation":43,"icon":128},"/fr-fr/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[130,134,139],{"text":131,"config":132},"Tests de sécurité des applications",{"href":126,"dataGaName":133,"dataGaLocation":43},"Application security testing",{"text":135,"config":136},"Sécurité de la chaîne d'approvisionnement logicielle",{"href":137,"dataGaLocation":43,"dataGaName":138},"/fr-fr/solutions/supply-chain/","Software supply chain security",{"text":140,"config":141},"Conformité logicielle",{"href":142,"dataGaName":143,"dataGaLocation":43},"/fr-fr/solutions/software-compliance/","Software Compliance",{"title":145,"link":146,"items":151},"Mesures",{"config":147},{"icon":148,"href":149,"dataGaName":150,"dataGaLocation":43},"DigitalTransformation","/fr-fr/solutions/visibility-measurement/","visibility and measurement",[152,156,161],{"text":153,"config":154},"Visibilité et mesures",{"href":149,"dataGaLocation":43,"dataGaName":155},"Visibility and Measurement",{"text":157,"config":158},"Gestion de la chaîne de valeur",{"href":159,"dataGaLocation":43,"dataGaName":160},"/fr-fr/solutions/value-stream-management/","Value Stream Management",{"text":162,"config":163},"Données d'analyse et informations clés",{"href":164,"dataGaLocation":43,"dataGaName":165},"/fr-fr/solutions/analytics-and-insights/","Analytics and insights",{"title":167,"items":168},"GitLab pour",[169,174,179],{"text":170,"config":171},"Entreprises",{"href":172,"dataGaLocation":43,"dataGaName":173},"/fr-fr/enterprise/","enterprise",{"text":175,"config":176},"PME",{"href":177,"dataGaLocation":43,"dataGaName":178},"/fr-fr/small-business/","small business",{"text":180,"config":181},"Secteur public",{"href":182,"dataGaLocation":43,"dataGaName":183},"/fr-fr/solutions/public-sector/","public sector",{"text":185,"config":186},"Tarifs",{"href":187,"dataGaName":188,"dataGaLocation":43,"dataNavLevelOne":188},"/fr-fr/pricing/","pricing",{"text":190,"config":191,"link":193,"lists":197,"feature":277},"Ressources",{"dataNavLevelOne":192},"resources",{"text":194,"config":195},"Afficher toutes les ressources",{"href":196,"dataGaName":192,"dataGaLocation":43},"/fr-fr/resources/",[198,231,249],{"title":199,"items":200},"Premiers pas",[201,206,211,216,221,226],{"text":202,"config":203},"Installation",{"href":204,"dataGaName":205,"dataGaLocation":43},"/fr-fr/install/","install",{"text":207,"config":208},"Guides de démarrage",{"href":209,"dataGaName":210,"dataGaLocation":43},"/fr-fr/get-started/","quick setup checklists",{"text":212,"config":213},"Apprentissage",{"href":214,"dataGaLocation":43,"dataGaName":215},"https://university.gitlab.com/","learn",{"text":217,"config":218},"Documentation sur le produit",{"href":219,"dataGaName":220,"dataGaLocation":43},"https://docs.gitlab.com/","product documentation",{"text":222,"config":223},"Vidéos sur les bonnes pratiques",{"href":224,"dataGaName":225,"dataGaLocation":43},"/fr-fr/getting-started-videos/","best practice videos",{"text":227,"config":228},"Intégrations",{"href":229,"dataGaName":230,"dataGaLocation":43},"/fr-fr/integrations/","integrations",{"title":232,"items":233},"Découvrir",[234,239,244],{"text":235,"config":236},"Témoignages clients",{"href":237,"dataGaName":238,"dataGaLocation":43},"/fr-fr/customers/","customer success stories",{"text":240,"config":241},"Blog",{"href":242,"dataGaName":243,"dataGaLocation":43},"/fr-fr/blog/","blog",{"text":245,"config":246},"Travail à distance",{"href":247,"dataGaName":248,"dataGaLocation":43},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":250,"items":251},"Connecter",[252,257,262,267,272],{"text":253,"config":254},"Services GitLab",{"href":255,"dataGaName":256,"dataGaLocation":43},"/fr-fr/services/","services",{"text":258,"config":259},"Communauté",{"href":260,"dataGaName":261,"dataGaLocation":43},"/community/","community",{"text":263,"config":264},"Forum",{"href":265,"dataGaName":266,"dataGaLocation":43},"https://forum.gitlab.com/","forum",{"text":268,"config":269},"Événements",{"href":270,"dataGaName":271,"dataGaLocation":43},"/events/","events",{"text":273,"config":274},"Partenaires",{"href":275,"dataGaName":276,"dataGaLocation":43},"/fr-fr/partners/","partners",{"backgroundColor":278,"textColor":279,"text":280,"image":281,"link":285},"#2f2a6b","#fff","L'avenir du développement logiciel. Tendances et perspectives.",{"altText":282,"config":283},"carte promo The Source",{"src":284},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758208064/dzl0dbift9xdizyelkk4.svg",{"text":286,"config":287},"Lire les articles les plus récents",{"href":288,"dataGaName":289,"dataGaLocation":43},"/fr-fr/the-source/","the source",{"text":291,"config":292,"lists":294},"Société",{"dataNavLevelOne":293},"company",[295],{"items":296},[297,302,308,310,315,320,325,330,335,340,345],{"text":298,"config":299},"À propos",{"href":300,"dataGaName":301,"dataGaLocation":43},"/fr-fr/company/","about",{"text":303,"config":304,"footerGa":307},"Carrières",{"href":305,"dataGaName":306,"dataGaLocation":43},"/jobs/","jobs",{"dataGaName":306},{"text":268,"config":309},{"href":270,"dataGaName":271,"dataGaLocation":43},{"text":311,"config":312},"Leadership",{"href":313,"dataGaName":314,"dataGaLocation":43},"/company/team/e-group/","leadership",{"text":316,"config":317},"Équipe",{"href":318,"dataGaName":319,"dataGaLocation":43},"/company/team/","team",{"text":321,"config":322},"Manuel",{"href":323,"dataGaName":324,"dataGaLocation":43},"https://handbook.gitlab.com/","handbook",{"text":326,"config":327},"Relations avec les investisseurs",{"href":328,"dataGaName":329,"dataGaLocation":43},"https://ir.gitlab.com/","investor relations",{"text":331,"config":332},"Centre de confiance",{"href":333,"dataGaName":334,"dataGaLocation":43},"/fr-fr/security/","trust center",{"text":336,"config":337},"Centre pour la transparence de l'IA",{"href":338,"dataGaName":339,"dataGaLocation":43},"/fr-fr/ai-transparency-center/","ai transparency center",{"text":341,"config":342},"Newsletter",{"href":343,"dataGaName":344,"dataGaLocation":43},"/company/contact/#contact-forms","newsletter",{"text":346,"config":347},"Presse",{"href":348,"dataGaName":349,"dataGaLocation":43},"/press/","press",{"text":351,"config":352,"lists":353},"Nous contacter",{"dataNavLevelOne":293},[354],{"items":355},[356,359,364],{"text":50,"config":357},{"href":52,"dataGaName":358,"dataGaLocation":43},"talk to sales",{"text":360,"config":361},"Portail d’assistance",{"href":362,"dataGaName":363,"dataGaLocation":43},"https://support.gitlab.com","support portal",{"text":365,"config":366},"Portail clients GitLab",{"href":367,"dataGaName":368,"dataGaLocation":43},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":370,"login":371,"suggestions":378},"Fermer",{"text":372,"link":373},"Pour rechercher des dépôts et des projets, connectez-vous à",{"text":374,"config":375},"gitlab.com",{"href":57,"dataGaName":376,"dataGaLocation":377},"search login","search",{"text":379,"default":380},"Suggestions",[381,383,388,390,395,400],{"text":72,"config":382},{"href":77,"dataGaName":72,"dataGaLocation":377},{"text":384,"config":385},"Suggestions de code (IA)",{"href":386,"dataGaName":387,"dataGaLocation":377},"/fr-fr/solutions/code-suggestions/","Code Suggestions (AI)",{"text":106,"config":389},{"href":108,"dataGaName":106,"dataGaLocation":377},{"text":391,"config":392},"GitLab sur AWS",{"href":393,"dataGaName":394,"dataGaLocation":377},"/fr-fr/partners/technology-partners/aws/","GitLab on AWS",{"text":396,"config":397},"GitLab sur Google Cloud ",{"href":398,"dataGaName":399,"dataGaLocation":377},"/fr-fr/partners/technology-partners/google-cloud-platform/","GitLab on Google Cloud",{"text":401,"config":402},"Pourquoi utiliser GitLab ?",{"href":85,"dataGaName":403,"dataGaLocation":377},"Why GitLab?",{"freeTrial":405,"mobileIcon":410,"desktopIcon":415,"secondaryButton":418},{"text":406,"config":407},"Commencer votre essai gratuit",{"href":408,"dataGaName":48,"dataGaLocation":409},"https://gitlab.com/-/trials/new/","nav",{"altText":411,"config":412},"Icône GitLab",{"src":413,"dataGaName":414,"dataGaLocation":409},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":411,"config":416},{"src":417,"dataGaName":414,"dataGaLocation":409},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":419,"config":420},"Commencer",{"href":421,"dataGaName":422,"dataGaLocation":409},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/fr-fr/get-started/","get started",{"freeTrial":424,"mobileIcon":428,"desktopIcon":430},{"text":425,"config":426},"En savoir plus sur GitLab Duo",{"href":77,"dataGaName":427,"dataGaLocation":409},"gitlab duo",{"altText":411,"config":429},{"src":413,"dataGaName":414,"dataGaLocation":409},{"altText":411,"config":431},{"src":417,"dataGaName":414,"dataGaLocation":409},{"freeTrial":433,"mobileIcon":438,"desktopIcon":440},{"text":434,"config":435},"Retour aux tarifs",{"href":187,"dataGaName":436,"dataGaLocation":409,"icon":437},"back to pricing","GoBack",{"altText":411,"config":439},{"src":413,"dataGaName":414,"dataGaLocation":409},{"altText":411,"config":441},{"src":417,"dataGaName":414,"dataGaLocation":409},{"title":443,"button":444,"config":449},"Découvrez comment l'IA agentique transforme la livraison logicielle",{"text":445,"config":446},"Regarder GitLab Transcend maintenant",{"href":447,"dataGaName":448,"dataGaLocation":43},"/fr-fr/events/transcend/virtual/","transcend event",{"layout":450,"icon":451,"disabled":29},"release","AiStar",{"data":453},{"text":454,"source":455,"edit":461,"contribute":466,"config":471,"items":476,"minimal":653},"Git est une marque déposée de Software Freedom Conservancy et notre utilisation de « GitLab » est sous licence",{"text":456,"config":457},"Afficher le code source de la page",{"href":458,"dataGaName":459,"dataGaLocation":460},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":462,"config":463},"Modifier cette page",{"href":464,"dataGaName":465,"dataGaLocation":460},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":467,"config":468},"Veuillez contribuer",{"href":469,"dataGaName":470,"dataGaLocation":460},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":472,"facebook":473,"youtube":474,"linkedin":475},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[477,500,554,586,621],{"title":61,"links":478,"subMenu":483},[479],{"text":480,"config":481},"Plateforme DevSecOps",{"href":70,"dataGaName":482,"dataGaLocation":460},"devsecops platform",[484],{"title":185,"links":485},[486,490,495],{"text":487,"config":488},"Voir les forfaits",{"href":187,"dataGaName":489,"dataGaLocation":460},"view plans",{"text":491,"config":492},"Pourquoi choisir GitLab Premium ?",{"href":493,"dataGaName":494,"dataGaLocation":460},"/fr-fr/pricing/premium/","why premium",{"text":496,"config":497},"Pourquoi choisir GitLab Ultimate ?",{"href":498,"dataGaName":499,"dataGaLocation":460},"/fr-fr/pricing/ultimate/","why ultimate",{"title":501,"links":502},"Solutions",[503,508,511,513,518,523,527,530,533,538,540,542,544,549],{"text":504,"config":505},"Transformation digitale",{"href":506,"dataGaName":507,"dataGaLocation":460},"/fr-fr/topics/digital-transformation/","digital transformation",{"text":509,"config":510},"Sécurité et conformité",{"href":126,"dataGaName":133,"dataGaLocation":460},{"text":118,"config":512},{"href":102,"dataGaName":103,"dataGaLocation":460},{"text":514,"config":515},"Développement agile",{"href":516,"dataGaName":517,"dataGaLocation":460},"/fr-fr/solutions/agile-delivery/","agile delivery",{"text":519,"config":520},"Transformation cloud",{"href":521,"dataGaName":522,"dataGaLocation":460},"/fr-fr/topics/cloud-native/","cloud transformation",{"text":524,"config":525},"SCM",{"href":115,"dataGaName":526,"dataGaLocation":460},"source code management",{"text":106,"config":528},{"href":108,"dataGaName":529,"dataGaLocation":460},"continuous integration & delivery",{"text":157,"config":531},{"href":159,"dataGaName":532,"dataGaLocation":460},"value stream management",{"text":534,"config":535},"GitOps",{"href":536,"dataGaName":537,"dataGaLocation":460},"/fr-fr/solutions/gitops/","gitops",{"text":170,"config":539},{"href":172,"dataGaName":173,"dataGaLocation":460},{"text":175,"config":541},{"href":177,"dataGaName":178,"dataGaLocation":460},{"text":180,"config":543},{"href":182,"dataGaName":183,"dataGaLocation":460},{"text":545,"config":546},"Formation",{"href":547,"dataGaName":548,"dataGaLocation":460},"/fr-fr/solutions/education/","education",{"text":550,"config":551},"Services financiers",{"href":552,"dataGaName":553,"dataGaLocation":460},"/fr-fr/solutions/finance/","financial services",{"title":190,"links":555},[556,558,561,563,566,568,571,574,576,578,580,582,584],{"text":202,"config":557},{"href":204,"dataGaName":205,"dataGaLocation":460},{"text":559,"config":560},"Guides de démarrage rapide",{"href":209,"dataGaName":210,"dataGaLocation":460},{"text":212,"config":562},{"href":214,"dataGaName":215,"dataGaLocation":460},{"text":217,"config":564},{"href":219,"dataGaName":565,"dataGaLocation":460},"docs",{"text":240,"config":567},{"href":242,"dataGaName":243},{"text":569,"config":570},"Histoires de réussite client",{"href":237,"dataGaLocation":460},{"text":572,"config":573},"Histoires de succès client",{"href":237,"dataGaName":238,"dataGaLocation":460},{"text":245,"config":575},{"href":247,"dataGaName":248,"dataGaLocation":460},{"text":253,"config":577},{"href":255,"dataGaName":256,"dataGaLocation":460},{"text":258,"config":579},{"href":260,"dataGaName":261,"dataGaLocation":460},{"text":263,"config":581},{"href":265,"dataGaName":266,"dataGaLocation":460},{"text":268,"config":583},{"href":270,"dataGaName":271,"dataGaLocation":460},{"text":273,"config":585},{"href":275,"dataGaName":276,"dataGaLocation":460},{"title":291,"links":587},[588,590,593,595,597,599,601,605,610,612,614,616],{"text":298,"config":589},{"href":300,"dataGaName":293,"dataGaLocation":460},{"text":591,"config":592},"Emplois",{"href":305,"dataGaName":306,"dataGaLocation":460},{"text":311,"config":594},{"href":313,"dataGaName":314,"dataGaLocation":460},{"text":316,"config":596},{"href":318,"dataGaName":319,"dataGaLocation":460},{"text":321,"config":598},{"href":323,"dataGaName":324,"dataGaLocation":460},{"text":326,"config":600},{"href":328,"dataGaName":329,"dataGaLocation":460},{"text":602,"config":603},"Sustainability",{"href":604,"dataGaName":602,"dataGaLocation":460},"/sustainability/",{"text":606,"config":607},"Diversité, inclusion et appartenance (DIB)",{"href":608,"dataGaName":609,"dataGaLocation":460},"/fr-fr/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":331,"config":611},{"href":333,"dataGaName":334,"dataGaLocation":460},{"text":341,"config":613},{"href":343,"dataGaName":344,"dataGaLocation":460},{"text":346,"config":615},{"href":348,"dataGaName":349,"dataGaLocation":460},{"text":617,"config":618},"Déclaration de transparence sur l'esclavage moderne",{"href":619,"dataGaName":620,"dataGaLocation":460},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"title":351,"links":622},[623,626,631,633,638,643,648],{"text":624,"config":625},"Échanger avec un expert",{"href":52,"dataGaName":53,"dataGaLocation":460},{"text":627,"config":628},"Aide",{"href":629,"dataGaName":630,"dataGaLocation":460},"https://support.gitlab.com/hc/en-us/articles/11626483177756-GitLab-Support","get help",{"text":365,"config":632},{"href":367,"dataGaName":368,"dataGaLocation":460},{"text":634,"config":635},"Statut",{"href":636,"dataGaName":637,"dataGaLocation":460},"https://status.gitlab.com/","status",{"text":639,"config":640},"Conditions d'utilisation",{"href":641,"dataGaName":642},"/terms/","terms of use",{"text":644,"config":645},"Déclaration de confidentialité",{"href":646,"dataGaName":647,"dataGaLocation":460},"/fr-fr/privacy/","privacy statement",{"text":649,"config":650},"Préférences en matière de cookies",{"dataGaName":651,"dataGaLocation":460,"id":652,"isOneTrustButton":29},"cookie preferences","ot-sdk-btn",{"items":654},[655,657,660],{"text":639,"config":656},{"href":641,"dataGaName":642,"dataGaLocation":460},{"text":658,"config":659},"Politique de confidentialité",{"href":646,"dataGaName":647,"dataGaLocation":460},{"text":649,"config":661},{"dataGaName":651,"dataGaLocation":460,"id":652,"isOneTrustButton":29},[663,676],{"id":664,"title":19,"body":9,"config":665,"content":667,"description":9,"extension":27,"meta":671,"navigation":29,"path":672,"seo":673,"stem":674,"__hash__":675},"blogAuthors/en-us/blog/authors/ian-khor.yml",{"template":666},"BlogAuthor",{"name":19,"config":668},{"headshot":669,"ctfId":670},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749662933/Blog/Author%20Headshots/ian_khor_headshot.png","nSk8fzDwtG3LVFWwg8HrF",{},"/en-us/blog/authors/ian-khor",{},"en-us/blog/authors/ian-khor","5isBYOqLr9OYbax5Svlmmh6h_g4nxMbjDM3g5Fsaz5A",{"id":677,"title":20,"body":9,"config":678,"content":679,"description":9,"extension":27,"meta":683,"navigation":29,"path":684,"seo":685,"stem":686,"__hash__":687},"blogAuthors/en-us/blog/authors/salman-ladha.yml",{"template":666},{"name":20,"config":680},{"headshot":681,"ctfId":682},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749662937/Blog/Author%20Headshots/salman_ladha_headshot.png","2AYyG99S9PBB8PQIJ6aKuq",{},"/en-us/blog/authors/salman-ladha",{},"en-us/blog/authors/salman-ladha","AIlZoao6Z2q7mIH5Jkh_ZIB8304XE4IuHFiznllUnT0",[689,702,714],{"content":690,"config":700},{"tags":691,"category":10,"body":693,"date":694,"heroImage":695,"authors":696,"description":698,"title":699},[10,692],"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",[697],"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":12,"template":13,"slug":701},"complete-guide-to-gitlab-container-scanning",{"content":703,"config":712},{"title":704,"description":705,"authors":706,"heroImage":708,"date":709,"body":710,"category":10,"tags":711},"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.",[707],"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).",[24,10,25],{"featured":12,"template":13,"slug":713},"gitlab-18-10-brings-ai-native-triage-and-remediation",{"content":715,"config":725},{"tags":716,"category":10,"body":718,"date":719,"heroImage":720,"authors":721,"description":723,"title":724},[10,692,24,717],"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",[722],"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":12,"template":13,"slug":726},"how-to-set-up-gitlab-saml-sso-with-google-workspace",{"promotions":728},[729,743,755],{"id":730,"categories":731,"header":733,"text":734,"button":735,"image":740},"ai-modernization",[732],"ai-ml","Is AI achieving its promise at scale?","Quiz will take 5 minutes or less",{"text":736,"config":737},"Get your AI maturity score",{"href":738,"dataGaName":739,"dataGaLocation":243},"/assessments/ai-modernization-assessment/","modernization assessment",{"config":741},{"src":742},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":744,"categories":745,"header":747,"text":734,"button":748,"image":752},"devops-modernization",[24,746],"devsecops","Are you just managing tools or shipping innovation?",{"text":749,"config":750},"Get your DevOps maturity score",{"href":751,"dataGaName":739,"dataGaLocation":243},"/assessments/devops-modernization-assessment/",{"config":753},{"src":754},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":756,"categories":757,"header":758,"text":734,"button":759,"image":763},"security-modernization",[10],"Are you trading speed for security?",{"text":760,"config":761},"Get your security maturity score",{"href":762,"dataGaName":739,"dataGaLocation":243},"/assessments/security-modernization-assessment/",{"config":764},{"src":765},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"header":767,"blurb":768,"button":769,"secondaryButton":773},"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":45,"config":770},{"href":771,"dataGaName":48,"dataGaLocation":772},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/fr-fr/","feature",{"text":50,"config":774},{"href":52,"dataGaName":53,"dataGaLocation":772},1777310040553]