[{"data":1,"prerenderedAt":764},["ShallowReactive",2],{"/fr-fr/blog/how-to-set-up-gitlab-saml-sso-with-google-workspace":3,"navigation-fr-fr":36,"banner-fr-fr":441,"footer-fr-fr":451,"blog-post-authors-fr-fr-Omid Khan":661,"blog-related-posts-fr-fr-how-to-set-up-gitlab-saml-sso-with-google-workspace":676,"assessment-promotions-fr-fr":716,"next-steps-fr-fr":755},{"id":4,"title":5,"authorSlugs":6,"body":8,"categorySlug":9,"config":10,"content":14,"description":8,"extension":26,"isFeatured":11,"meta":27,"navigation":28,"path":29,"publishedDate":20,"seo":30,"stem":33,"tagSlugs":34,"__hash__":35},"blogPosts/fr-fr/blog/how-to-set-up-gitlab-saml-sso-with-google-workspace.yml","How To Set Up Gitlab Saml Sso With Google Workspace",[7],"omid-khan",null,"security",{"featured":11,"template":12,"slug":13},false,"BlogPost","how-to-set-up-gitlab-saml-sso-with-google-workspace",{"tags":15,"category":9,"body":19,"date":20,"heroImage":21,"authors":22,"description":24,"title":25},[9,16,17,18],"tutorial","product","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",[23],"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","yml",{},true,"/fr-fr/blog/how-to-set-up-gitlab-saml-sso-with-google-workspace",{"config":31,"description":24,"title":32},{"noIndex":11},"Comment configurer le SSO SAML GitLab avec Google Workspace","fr-fr/blog/how-to-set-up-gitlab-saml-sso-with-google-workspace",[9,16,17,18],"4X7bE40obGH2Jo2m042-PetZwA0Ay_OfdSsmxFKyuAs",{"data":37},{"logo":38,"freeTrial":43,"sales":48,"login":53,"items":58,"search":368,"minimal":403,"duo":422,"pricingDeployment":431},{"config":39},{"href":40,"dataGaName":41,"dataGaLocation":42},"/fr-fr/","gitlab logo","header",{"text":44,"config":45},"Commencer un essai gratuit",{"href":46,"dataGaName":47,"dataGaLocation":42},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/fr-fr&glm_content=default-saas-trial/","free trial",{"text":49,"config":50},"Contacter l'équipe commerciale",{"href":51,"dataGaName":52,"dataGaLocation":42},"/fr-fr/sales/","sales",{"text":54,"config":55},"Connexion",{"href":56,"dataGaName":57,"dataGaLocation":42},"https://gitlab.com/users/sign_in/","sign in",[59,86,183,188,289,349],{"text":60,"config":61,"cards":63},"Plateforme",{"dataNavLevelOne":62},"platform",[64,70,78],{"title":60,"description":65,"link":66},"La plateforme d'orchestration intelligente pour le DevSecOps",{"text":67,"config":68},"Découvrir notre plateforme",{"href":69,"dataGaName":62,"dataGaLocation":42},"/fr-fr/platform/",{"title":71,"description":72,"link":73},"GitLab Duo Agent Platform","L'IA agentique pour l'ensemble du cycle de développement logiciel",{"text":74,"config":75},"Découvrir GitLab Duo",{"href":76,"dataGaName":77,"dataGaLocation":42},"/fr-fr/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":79,"description":80,"link":81},"Choisir GitLab","Découvrez les principales raisons pour lesquelles les entreprises choisissent GitLab",{"text":82,"config":83},"En savoir plus",{"href":84,"dataGaName":85,"dataGaLocation":42},"/fr-fr/why-gitlab/","why gitlab",{"text":87,"left":28,"config":88,"link":90,"lists":94,"footer":165},"Produit",{"dataNavLevelOne":89},"solutions",{"text":91,"config":92},"Voir toutes les solutions",{"href":93,"dataGaName":89,"dataGaLocation":42},"/fr-fr/solutions/",[95,120,143],{"title":96,"description":97,"link":98,"items":103},"Automatisation","CI/CD et automatisation pour accélérer le déploiement",{"config":99},{"icon":100,"href":101,"dataGaName":102,"dataGaLocation":42},"AutomatedCodeAlt","/fr-fr/solutions/delivery-automation/","automated software delivery",[104,108,111,116],{"text":105,"config":106},"CI/CD",{"href":107,"dataGaLocation":42,"dataGaName":105},"/fr-fr/solutions/continuous-integration/",{"text":71,"config":109},{"href":76,"dataGaLocation":42,"dataGaName":110},"gitlab duo agent platform - product menu",{"text":112,"config":113},"Gestion du code source",{"href":114,"dataGaLocation":42,"dataGaName":115},"/fr-fr/solutions/source-code-management/","Source Code Management",{"text":117,"config":118},"Livraison de logiciels automatisée",{"href":101,"dataGaLocation":42,"dataGaName":119},"Automated software delivery",{"title":121,"description":122,"link":123,"items":128},"Sécurité","Livrez du code plus rapidement sans compromettre la sécurité",{"config":124},{"href":125,"dataGaName":126,"dataGaLocation":42,"icon":127},"/fr-fr/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[129,133,138],{"text":130,"config":131},"Tests de sécurité des applications",{"href":125,"dataGaName":132,"dataGaLocation":42},"Application security testing",{"text":134,"config":135},"Sécurité de la chaîne d'approvisionnement logicielle",{"href":136,"dataGaLocation":42,"dataGaName":137},"/fr-fr/solutions/supply-chain/","Software supply chain security",{"text":139,"config":140},"Conformité logicielle",{"href":141,"dataGaName":142,"dataGaLocation":42},"/fr-fr/solutions/software-compliance/","Software Compliance",{"title":144,"link":145,"items":150},"Mesures",{"config":146},{"icon":147,"href":148,"dataGaName":149,"dataGaLocation":42},"DigitalTransformation","/fr-fr/solutions/visibility-measurement/","visibility and measurement",[151,155,160],{"text":152,"config":153},"Visibilité et mesures",{"href":148,"dataGaLocation":42,"dataGaName":154},"Visibility and Measurement",{"text":156,"config":157},"Gestion de la chaîne de valeur",{"href":158,"dataGaLocation":42,"dataGaName":159},"/fr-fr/solutions/value-stream-management/","Value Stream Management",{"text":161,"config":162},"Données d'analyse et informations clés",{"href":163,"dataGaLocation":42,"dataGaName":164},"/fr-fr/solutions/analytics-and-insights/","Analytics and insights",{"title":166,"items":167},"GitLab pour",[168,173,178],{"text":169,"config":170},"Entreprises",{"href":171,"dataGaLocation":42,"dataGaName":172},"/fr-fr/enterprise/","enterprise",{"text":174,"config":175},"PME",{"href":176,"dataGaLocation":42,"dataGaName":177},"/fr-fr/small-business/","small business",{"text":179,"config":180},"Secteur public",{"href":181,"dataGaLocation":42,"dataGaName":182},"/fr-fr/solutions/public-sector/","public sector",{"text":184,"config":185},"Tarifs",{"href":186,"dataGaName":187,"dataGaLocation":42,"dataNavLevelOne":187},"/fr-fr/pricing/","pricing",{"text":189,"config":190,"link":192,"lists":196,"feature":276},"Ressources",{"dataNavLevelOne":191},"resources",{"text":193,"config":194},"Afficher toutes les ressources",{"href":195,"dataGaName":191,"dataGaLocation":42},"/fr-fr/resources/",[197,230,248],{"title":198,"items":199},"Premiers pas",[200,205,210,215,220,225],{"text":201,"config":202},"Installation",{"href":203,"dataGaName":204,"dataGaLocation":42},"/fr-fr/install/","install",{"text":206,"config":207},"Guides de démarrage",{"href":208,"dataGaName":209,"dataGaLocation":42},"/fr-fr/get-started/","quick setup checklists",{"text":211,"config":212},"Apprentissage",{"href":213,"dataGaLocation":42,"dataGaName":214},"https://university.gitlab.com/","learn",{"text":216,"config":217},"Documentation sur le produit",{"href":218,"dataGaName":219,"dataGaLocation":42},"https://docs.gitlab.com/","product documentation",{"text":221,"config":222},"Vidéos sur les bonnes pratiques",{"href":223,"dataGaName":224,"dataGaLocation":42},"/fr-fr/getting-started-videos/","best practice videos",{"text":226,"config":227},"Intégrations",{"href":228,"dataGaName":229,"dataGaLocation":42},"/fr-fr/integrations/","integrations",{"title":231,"items":232},"Découvrir",[233,238,243],{"text":234,"config":235},"Témoignages clients",{"href":236,"dataGaName":237,"dataGaLocation":42},"/fr-fr/customers/","customer success stories",{"text":239,"config":240},"Blog",{"href":241,"dataGaName":242,"dataGaLocation":42},"/fr-fr/blog/","blog",{"text":244,"config":245},"Travail à distance",{"href":246,"dataGaName":247,"dataGaLocation":42},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":249,"items":250},"Connecter",[251,256,261,266,271],{"text":252,"config":253},"Services GitLab",{"href":254,"dataGaName":255,"dataGaLocation":42},"/fr-fr/services/","services",{"text":257,"config":258},"Communauté",{"href":259,"dataGaName":260,"dataGaLocation":42},"/community/","community",{"text":262,"config":263},"Forum",{"href":264,"dataGaName":265,"dataGaLocation":42},"https://forum.gitlab.com/","forum",{"text":267,"config":268},"Événements",{"href":269,"dataGaName":270,"dataGaLocation":42},"/events/","events",{"text":272,"config":273},"Partenaires",{"href":274,"dataGaName":275,"dataGaLocation":42},"/fr-fr/partners/","partners",{"backgroundColor":277,"textColor":278,"text":279,"image":280,"link":284},"#2f2a6b","#fff","L'avenir du développement logiciel. Tendances et perspectives.",{"altText":281,"config":282},"carte promo The Source",{"src":283},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758208064/dzl0dbift9xdizyelkk4.svg",{"text":285,"config":286},"Lire les articles les plus récents",{"href":287,"dataGaName":288,"dataGaLocation":42},"/fr-fr/the-source/","the source",{"text":290,"config":291,"lists":293},"Société",{"dataNavLevelOne":292},"company",[294],{"items":295},[296,301,307,309,314,319,324,329,334,339,344],{"text":297,"config":298},"À propos",{"href":299,"dataGaName":300,"dataGaLocation":42},"/fr-fr/company/","about",{"text":302,"config":303,"footerGa":306},"Carrières",{"href":304,"dataGaName":305,"dataGaLocation":42},"/jobs/","jobs",{"dataGaName":305},{"text":267,"config":308},{"href":269,"dataGaName":270,"dataGaLocation":42},{"text":310,"config":311},"Leadership",{"href":312,"dataGaName":313,"dataGaLocation":42},"/company/team/e-group/","leadership",{"text":315,"config":316},"Équipe",{"href":317,"dataGaName":318,"dataGaLocation":42},"/company/team/","team",{"text":320,"config":321},"Manuel",{"href":322,"dataGaName":323,"dataGaLocation":42},"https://handbook.gitlab.com/","handbook",{"text":325,"config":326},"Relations avec les investisseurs",{"href":327,"dataGaName":328,"dataGaLocation":42},"https://ir.gitlab.com/","investor relations",{"text":330,"config":331},"Centre de confiance",{"href":332,"dataGaName":333,"dataGaLocation":42},"/fr-fr/security/","trust center",{"text":335,"config":336},"Centre pour la transparence de l'IA",{"href":337,"dataGaName":338,"dataGaLocation":42},"/fr-fr/ai-transparency-center/","ai transparency center",{"text":340,"config":341},"Newsletter",{"href":342,"dataGaName":343,"dataGaLocation":42},"/company/contact/#contact-forms","newsletter",{"text":345,"config":346},"Presse",{"href":347,"dataGaName":348,"dataGaLocation":42},"/press/","press",{"text":350,"config":351,"lists":352},"Nous contacter",{"dataNavLevelOne":292},[353],{"items":354},[355,358,363],{"text":49,"config":356},{"href":51,"dataGaName":357,"dataGaLocation":42},"talk to sales",{"text":359,"config":360},"Portail d’assistance",{"href":361,"dataGaName":362,"dataGaLocation":42},"https://support.gitlab.com","support portal",{"text":364,"config":365},"Portail clients GitLab",{"href":366,"dataGaName":367,"dataGaLocation":42},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":369,"login":370,"suggestions":377},"Fermer",{"text":371,"link":372},"Pour rechercher des dépôts et des projets, connectez-vous à",{"text":373,"config":374},"gitlab.com",{"href":56,"dataGaName":375,"dataGaLocation":376},"search login","search",{"text":378,"default":379},"Suggestions",[380,382,387,389,394,399],{"text":71,"config":381},{"href":76,"dataGaName":71,"dataGaLocation":376},{"text":383,"config":384},"Suggestions de code (IA)",{"href":385,"dataGaName":386,"dataGaLocation":376},"/fr-fr/solutions/code-suggestions/","Code Suggestions (AI)",{"text":105,"config":388},{"href":107,"dataGaName":105,"dataGaLocation":376},{"text":390,"config":391},"GitLab sur AWS",{"href":392,"dataGaName":393,"dataGaLocation":376},"/fr-fr/partners/technology-partners/aws/","GitLab on AWS",{"text":395,"config":396},"GitLab sur Google Cloud ",{"href":397,"dataGaName":398,"dataGaLocation":376},"/fr-fr/partners/technology-partners/google-cloud-platform/","GitLab on Google Cloud",{"text":400,"config":401},"Pourquoi utiliser GitLab ?",{"href":84,"dataGaName":402,"dataGaLocation":376},"Why GitLab?",{"freeTrial":404,"mobileIcon":409,"desktopIcon":414,"secondaryButton":417},{"text":405,"config":406},"Commencer votre essai gratuit",{"href":407,"dataGaName":47,"dataGaLocation":408},"https://gitlab.com/-/trials/new/","nav",{"altText":410,"config":411},"Icône GitLab",{"src":412,"dataGaName":413,"dataGaLocation":408},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":410,"config":415},{"src":416,"dataGaName":413,"dataGaLocation":408},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":418,"config":419},"Commencer",{"href":420,"dataGaName":421,"dataGaLocation":408},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/fr-fr/get-started/","get started",{"freeTrial":423,"mobileIcon":427,"desktopIcon":429},{"text":424,"config":425},"En savoir plus sur GitLab Duo",{"href":76,"dataGaName":426,"dataGaLocation":408},"gitlab duo",{"altText":410,"config":428},{"src":412,"dataGaName":413,"dataGaLocation":408},{"altText":410,"config":430},{"src":416,"dataGaName":413,"dataGaLocation":408},{"freeTrial":432,"mobileIcon":437,"desktopIcon":439},{"text":433,"config":434},"Retour aux tarifs",{"href":186,"dataGaName":435,"dataGaLocation":408,"icon":436},"back to pricing","GoBack",{"altText":410,"config":438},{"src":412,"dataGaName":413,"dataGaLocation":408},{"altText":410,"config":440},{"src":416,"dataGaName":413,"dataGaLocation":408},{"title":442,"button":443,"config":448},"Découvrez comment l'IA agentique transforme la livraison logicielle",{"text":444,"config":445},"Regarder GitLab Transcend maintenant",{"href":446,"dataGaName":447,"dataGaLocation":42},"/fr-fr/events/transcend/virtual/","transcend event",{"layout":449,"icon":450,"disabled":28},"release","AiStar",{"data":452},{"text":453,"source":454,"edit":460,"contribute":465,"config":470,"items":475,"minimal":652},"Git est une marque déposée de Software Freedom Conservancy et notre utilisation de « GitLab » est sous licence",{"text":455,"config":456},"Afficher le code source de la page",{"href":457,"dataGaName":458,"dataGaLocation":459},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":461,"config":462},"Modifier cette page",{"href":463,"dataGaName":464,"dataGaLocation":459},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":466,"config":467},"Veuillez contribuer",{"href":468,"dataGaName":469,"dataGaLocation":459},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":471,"facebook":472,"youtube":473,"linkedin":474},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[476,499,553,585,620],{"title":60,"links":477,"subMenu":482},[478],{"text":479,"config":480},"Plateforme DevSecOps",{"href":69,"dataGaName":481,"dataGaLocation":459},"devsecops platform",[483],{"title":184,"links":484},[485,489,494],{"text":486,"config":487},"Voir les forfaits",{"href":186,"dataGaName":488,"dataGaLocation":459},"view plans",{"text":490,"config":491},"Pourquoi choisir GitLab Premium ?",{"href":492,"dataGaName":493,"dataGaLocation":459},"/fr-fr/pricing/premium/","why premium",{"text":495,"config":496},"Pourquoi choisir GitLab Ultimate ?",{"href":497,"dataGaName":498,"dataGaLocation":459},"/fr-fr/pricing/ultimate/","why ultimate",{"title":500,"links":501},"Solutions",[502,507,510,512,517,522,526,529,532,537,539,541,543,548],{"text":503,"config":504},"Transformation digitale",{"href":505,"dataGaName":506,"dataGaLocation":459},"/fr-fr/topics/digital-transformation/","digital transformation",{"text":508,"config":509},"Sécurité et conformité",{"href":125,"dataGaName":132,"dataGaLocation":459},{"text":117,"config":511},{"href":101,"dataGaName":102,"dataGaLocation":459},{"text":513,"config":514},"Développement agile",{"href":515,"dataGaName":516,"dataGaLocation":459},"/fr-fr/solutions/agile-delivery/","agile delivery",{"text":518,"config":519},"Transformation cloud",{"href":520,"dataGaName":521,"dataGaLocation":459},"/fr-fr/topics/cloud-native/","cloud transformation",{"text":523,"config":524},"SCM",{"href":114,"dataGaName":525,"dataGaLocation":459},"source code management",{"text":105,"config":527},{"href":107,"dataGaName":528,"dataGaLocation":459},"continuous integration & delivery",{"text":156,"config":530},{"href":158,"dataGaName":531,"dataGaLocation":459},"value stream management",{"text":533,"config":534},"GitOps",{"href":535,"dataGaName":536,"dataGaLocation":459},"/fr-fr/solutions/gitops/","gitops",{"text":169,"config":538},{"href":171,"dataGaName":172,"dataGaLocation":459},{"text":174,"config":540},{"href":176,"dataGaName":177,"dataGaLocation":459},{"text":179,"config":542},{"href":181,"dataGaName":182,"dataGaLocation":459},{"text":544,"config":545},"Formation",{"href":546,"dataGaName":547,"dataGaLocation":459},"/fr-fr/solutions/education/","education",{"text":549,"config":550},"Services financiers",{"href":551,"dataGaName":552,"dataGaLocation":459},"/fr-fr/solutions/finance/","financial services",{"title":189,"links":554},[555,557,560,562,565,567,570,573,575,577,579,581,583],{"text":201,"config":556},{"href":203,"dataGaName":204,"dataGaLocation":459},{"text":558,"config":559},"Guides de démarrage rapide",{"href":208,"dataGaName":209,"dataGaLocation":459},{"text":211,"config":561},{"href":213,"dataGaName":214,"dataGaLocation":459},{"text":216,"config":563},{"href":218,"dataGaName":564,"dataGaLocation":459},"docs",{"text":239,"config":566},{"href":241,"dataGaName":242},{"text":568,"config":569},"Histoires de réussite client",{"href":236,"dataGaLocation":459},{"text":571,"config":572},"Histoires de succès client",{"href":236,"dataGaName":237,"dataGaLocation":459},{"text":244,"config":574},{"href":246,"dataGaName":247,"dataGaLocation":459},{"text":252,"config":576},{"href":254,"dataGaName":255,"dataGaLocation":459},{"text":257,"config":578},{"href":259,"dataGaName":260,"dataGaLocation":459},{"text":262,"config":580},{"href":264,"dataGaName":265,"dataGaLocation":459},{"text":267,"config":582},{"href":269,"dataGaName":270,"dataGaLocation":459},{"text":272,"config":584},{"href":274,"dataGaName":275,"dataGaLocation":459},{"title":290,"links":586},[587,589,592,594,596,598,600,604,609,611,613,615],{"text":297,"config":588},{"href":299,"dataGaName":292,"dataGaLocation":459},{"text":590,"config":591},"Emplois",{"href":304,"dataGaName":305,"dataGaLocation":459},{"text":310,"config":593},{"href":312,"dataGaName":313,"dataGaLocation":459},{"text":315,"config":595},{"href":317,"dataGaName":318,"dataGaLocation":459},{"text":320,"config":597},{"href":322,"dataGaName":323,"dataGaLocation":459},{"text":325,"config":599},{"href":327,"dataGaName":328,"dataGaLocation":459},{"text":601,"config":602},"Sustainability",{"href":603,"dataGaName":601,"dataGaLocation":459},"/sustainability/",{"text":605,"config":606},"Diversité, inclusion et appartenance (DIB)",{"href":607,"dataGaName":608,"dataGaLocation":459},"/fr-fr/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":330,"config":610},{"href":332,"dataGaName":333,"dataGaLocation":459},{"text":340,"config":612},{"href":342,"dataGaName":343,"dataGaLocation":459},{"text":345,"config":614},{"href":347,"dataGaName":348,"dataGaLocation":459},{"text":616,"config":617},"Déclaration de transparence sur l'esclavage moderne",{"href":618,"dataGaName":619,"dataGaLocation":459},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"title":350,"links":621},[622,625,630,632,637,642,647],{"text":623,"config":624},"Échanger avec un expert",{"href":51,"dataGaName":52,"dataGaLocation":459},{"text":626,"config":627},"Aide",{"href":628,"dataGaName":629,"dataGaLocation":459},"https://support.gitlab.com/hc/en-us/articles/11626483177756-GitLab-Support","get help",{"text":364,"config":631},{"href":366,"dataGaName":367,"dataGaLocation":459},{"text":633,"config":634},"Statut",{"href":635,"dataGaName":636,"dataGaLocation":459},"https://status.gitlab.com/","status",{"text":638,"config":639},"Conditions d'utilisation",{"href":640,"dataGaName":641},"/terms/","terms of use",{"text":643,"config":644},"Déclaration de confidentialité",{"href":645,"dataGaName":646,"dataGaLocation":459},"/fr-fr/privacy/","privacy statement",{"text":648,"config":649},"Préférences en matière de cookies",{"dataGaName":650,"dataGaLocation":459,"id":651,"isOneTrustButton":28},"cookie preferences","ot-sdk-btn",{"items":653},[654,656,659],{"text":638,"config":655},{"href":640,"dataGaName":641,"dataGaLocation":459},{"text":657,"config":658},"Politique de confidentialité",{"href":645,"dataGaName":646,"dataGaLocation":459},{"text":648,"config":660},{"dataGaName":650,"dataGaLocation":459,"id":651,"isOneTrustButton":28},[662],{"id":663,"title":23,"body":8,"config":664,"content":667,"description":8,"extension":26,"meta":671,"navigation":28,"path":672,"seo":673,"stem":674,"__hash__":675},"blogAuthors/en-us/blog/authors/omid-khan.yml",{"template":665,"gitlabHandle":666},"BlogAuthor","OmidKhan",{"name":23,"config":668,"role":670},{"headshot":669},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1769090536/q4p3qwthtken8fpokgzu.jpg","",{},"/en-us/blog/authors/omid-khan",{},"en-us/blog/authors/omid-khan","4ZHOi5nEiZLdJm1phW-47SM0x-BGo8jNbg_Zt0oSzEQ",[677,689,703],{"content":678,"config":687},{"tags":679,"category":9,"body":680,"date":681,"heroImage":682,"authors":683,"description":685,"title":686},[9,16],"Les vulnérabilités dans les conteneurs n'attendent pas votre prochain\ndéploiement. Elles peuvent apparaître à tout moment, de la création d'une\nimage à l'exécution des conteneurs en production. Pour remédier à ce\nproblème, GitLab propose plusieurs approches d'analyse des conteneurs,\nchacune conçue pour une étape spécifique du cycle de développement logiciel ([SDLC](https://about.gitlab.com/fr-fr/blog/what-is-sdlc/ \"Qu'est-ce que le SDLC ?\")).\n\n\nDans ce guide, nous explorons les différents types d'analyse de conteneurs proposés par GitLab, vous expliquons comment les activer et vous partageons les configurations les plus courantes pour bien démarrer.\n\n\n## Qu'est-ce que l'analyse des conteneurs ? \n\n\nLes vulnérabilités de sécurité présentes dans les images de conteneurs constituent un risque tout au long du cycle de vie applicatif. Les images de base, les paquets de systèmes d'exploitation et les dépendances applicatives peuvent tous receler des vulnérabilités activement exploitées par des attaquants. L'analyse des conteneurs permet de détecter ces risques en amont, avant qu'ils n'atteignent l'environnement de production, et propose des pistes de remédiation le cas échéant.\n\n\nL'analyse des conteneurs est un élément essentiel de l'analyse de la composition logicielle (SCA), qui vous aide à comprendre et à sécuriser les dépendances externes dont vos applications conteneurisées dépendent.\n\n\n## 5 types d'analyses de conteneurs dans GitLab\n\n\nGitLab propose cinq approches distinctes d'analyse de conteneurs, chacune répondant à un objectif précis dans votre stratégie de sécurité.\n\n\n### 1. Analyse des conteneurs dans le pipeline\n\n\n* Fonctionnement : analyse les images de conteneurs lors de l'exécution du [pipeline CI/CD](https://about.gitlab.com/fr-fr/topics/ci-cd/cicd-pipeline/ \"Qu'est-ce qu'un pipeline CI/CD ?\") afin de détecter les vulnérabilités avant le déploiement\n\n* Cas d'utilisation idéal : contrôles de sécurité en amont (shift-left) pour bloquer les images vulnérables avant qu'elles n'atteignent la production\n\n* Disponibilité : version gratuite de GitLab, GitLab Premium et GitLab Ultimate (avec des fonctionnalités supplémentaires dans GitLab Ultimate)\n\n* [Documentation](https://docs.gitlab.com/user/application_security/container_scanning/)\n\n\nGitLab utilise le scanner de sécurité Trivy pour analyser les images de conteneurs et rechercher de vulnérabilités connues. Lors de l'exécution du pipeline, le scanner examine vos images et génère un rapport détaillé.\n\n\n#### Activer l'analyse des conteneurs dans le pipeline\n\n\n**Option A : merge request préconfigurée**\n\n\n* Accédez à **Sécurisation > Configuration de la sécurité** dans votre projet.\n\n* Repérez la ligne « Analyse de conteneurs ».\n\n* Sélectionnez **Configurer avec une merge request**.\n\n* Une merge request intégrant la configuration nécessaire est automatiquement créée.\n\n\n**Option B : configuration manuelle**\n\n\n* Ajoutez le contenu suivant à votre fichier `.gitlab-ci.yml` :\n\n\n```yaml\ninclude:\n  - template: Jobs/Container-Scanning.gitlab-ci.yml\n```  \n\n\n#### Configurations courantes\n\n\n**Analyser une image spécifique :**\n\n\nPour analyser une image spécifique, remplacez la variable `CS_IMAGE` dans le job `container_scanning`.\n\n\n```yaml\ninclude:\n  - template: Jobs/Container-Scanning.gitlab-ci.yml\n\ncontainer_scanning:\n  variables:\n    CS_IMAGE: myregistry.com/myapp:latest\n```\n\n\n**Filtrer par seuil de gravité :**\n\n\nPour n'afficher que les vulnérabilités dépassant un certain niveau de gravité, remplacez la variable `CS_SEVERITY_THRESHOLD` dans le job `container_scanning`. Dans l'exemple ci-dessous, seules les vulnérabilités d'un niveau de gravité **Élevé** ou supérieur seront affichées.\n\n\n```yaml\ninclude:\n  - template: Jobs/Container-Scanning.gitlab-ci.yml\n\ncontainer_scanning:\n  variables:\n    CS_SEVERITY_THRESHOLD: \"HIGH\"\n```\n\n\n#### Consulter les vulnérabilités dans une merge request\n\n\nL'affichage direct des vulnérabilités détectées par l'analyse des conteneurs au sein des merge requests rend les revues de sécurité plus fluides et plus efficaces. Une fois l'analyse des conteneurs configurée dans votre pipeline CI/CD, GitLab affiche automatiquement les vulnérabilités détectées dans le [widget Sécurité](https://docs.gitlab.com/user/project/merge_requests/widgets/#application-security-scanning) de la merge request.\n\n\n![Vulnérabilités détectées lors de l'analyse des conteneurs affichées dans la merge request](https://res.cloudinary.com/about-gitlab-com/image/upload/v1772547514/lt6elcq6jexdhqatdy8l.png \"Vulnérabilités détectées lors de l'analyse des conteneurs affichées dans la merge request\")\n\n\n* Accédez à n'importe quelle merge request et faites défiler jusqu'à la section « Analyse de sécurité » pour obtenir un résumé des vulnérabilités nouvellement introduites et existantes détectées dans vos images de conteneurs.\n\n* Cliquez sur une **vulnérabilité** pour accéder à des informations détaillées, notamment le niveau de gravité, les paquets affectés et les recommandations de remédiation disponibles.\n\n\n![GitLab Security – détails dans la merge request](https://res.cloudinary.com/about-gitlab-com/image/upload/v1772547514/hplihdlekc11uvpfih1p.png)\n\n\n![GitLab Security – détails dans la merge request](https://res.cloudinary.com/about-gitlab-com/image/upload/v1772547513/jnxbe7uld8wfeezboifs.png \"Détails d'une vulnérabilité détectée par l'analyse des conteneurs dans la merge request\")\n\n\nCette visibilité permet aux équipes de développement et de sécurité de détecter et de traiter les vulnérabilités des conteneurs avant qu'elles n'atteignent la production : la sécurité devient une composante à part entière du processus de revue de code plutôt qu'un contrôle distinct.\n\n\n#### Consulter les vulnérabilités dans le rapport de vulnérabilités\n\n\nAu-delà des revues dans les merge requests, GitLab met à disposition un [rapport de vulnérabilités](https://docs.gitlab.com/user/application_security/vulnerability_report/) centralisé, qui offre aux équipes de sécurité une visibilité complète sur l'ensemble des résultats de l'analyse des conteneurs dans votre projet.\n\n\n![Rapport de vulnérabilités avec classement selon l'analyse des conteneurs](https://res.cloudinary.com/about-gitlab-com/image/upload/v1772547524/gagau279fzfgjpnvipm5.png \"Rapport de vulnérabilités avec classement selon l'analyse des conteneurs\")\n\n\n* Accédez à ce rapport via **Sécurité et conformité > Rapport de vulnérabilités** dans la barre latérale de votre projet.\n\n* Vous y trouverez une vue agrégée de toutes les vulnérabilités de conteneurs détectées dans vos branches, avec des options de filtrage permettant de trier les vulnérabilités par gravité, statut, type de scanner ou image de conteneur spécifique.\n\n* Cliquez sur une vulnérabilité pour accéder à sa page dédiée.\n\n\n![Page de vulnérabilité – vue 1](https://res.cloudinary.com/about-gitlab-com/image/upload/v1772547520/e1woxupyoajhrpzrlylj.png)\n\n\n![Page de vulnérabilité – vue 2](https://res.cloudinary.com/about-gitlab-com/image/upload/v1772547521/idzcftcgjc8eryixnbjn.png)\n\n\n![Page de vulnérabilité – vue 3](https://res.cloudinary.com/about-gitlab-com/image/upload/v1772547522/mbbwbbprtf9anqqola10.png \"Détails d'une vulnérabilité détectée par l'analyse des conteneurs\")\n\n\nLes [détails de la vulnérabilité](https://docs.gitlab.com/user/application_security/vulnerabilities/) indiquent précisément les images et couches de conteneurs concernées pour faciliter la traçabilité jusqu'à la source du problème. Vous pouvez assigner des vulnérabilités à des membres de l'équipe, modifier leur statut (détectée, confirmée, résolue, rejetée), ajouter des commentaires pour faciliter la collaboration et associer des tickets connexes pour suivre la remédiation.\n\n\nCe workflow transforme la [gestion des vulnérabilités](https://about.gitlab.com/fr-fr/blog/what-is-vulnerability-management/ \"Qu'est-ce que la gestion des vulnérabilités ?\"), autrefois cantonnée à des tableurs, en une composante intégrée de votre processus de développement, garantissant que les résultats de sécurité des conteneurs sont suivis, priorisés et résolus de manière systématique.\n\n\n#### Consulter la liste des dépendances\n\n\nLa [liste des dépendances](https://docs.gitlab.com/user/application_security/dependency_list/) de GitLab fournit une nomenclature logicielle complète ([SBOM](https://about.gitlab.com/fr-fr/blog/the-ultimate-guide-to-sboms/ \"Qu'est-ce qu'une SBOM ?\")) qui répertorie chaque composant de vos images de conteneurs afin d'offrir une transparence totale sur votre [chaîne d'approvisionnement logicielle](https://about.gitlab.com/fr-fr/blog/software-supply-chain-security-guide-why-organizations-struggle/).\n\n\n* Accédez à **Sécurité et conformité > Liste des dépendances** pour consulter l'inventaire de tous les paquets, bibliothèques et dépendances détectés par l'analyse des conteneurs dans votre projet.\n\n* Cet affichage répertorie les éléments qui s'exécutent réellement dans vos conteneurs, des paquets du système d'exploitation de base aux dépendances applicatives.\n\n\n![Liste des dépendances de GitLab](https://res.cloudinary.com/about-gitlab-com/image/upload/v1772547513/vjg6dk3nhajqamplroji.png \"Liste des dépendances de GitLab (SBOM)\")\n\n\nVous pouvez filtrer la liste par gestionnaire de paquets, type de licence ou statut de vulnérabilité afin d'identifier rapidement les composants qui présentent des risques de sécurité ou des problèmes de conformité. Chaque entrée de dépendance affiche les vulnérabilités associées pour traiter les problèmes de sécurité dans le contexte des composants logiciels réels, plutôt que comme des résultats isolés.\n\n\n### 2. Analyse des conteneurs pour le registre\n\n\n* Fonctionnement : analyse automatiquement les images envoyées vers le registre de conteneurs de GitLab (GitLab Container Registry) avec le tag `latest`\n\n* Cas d'utilisation idéal : surveillance continue des images du registre, sans déclenchement manuel du pipeline\n\n* Disponibilité : GitLab Ultimate uniquement\n\n* [Documentation](https://docs.gitlab.com/user/application_security/container_scanning/#container-scanning-for-registry)\n\n\nLorsque vous effectuez un push d'une image de conteneur avec le tag `latest`, le bot de politique de sécurité de GitLab déclenche automatiquement une analyse sur la branche par défaut. Contrairement à l'analyse dans le pipeline, cette approche fonctionne conjointement avec l'analyse continue des vulnérabilités pour surveiller les nouveaux avis de sécurité publiés.\n\n\n#### Activer l'analyse des conteneurs pour le registre\n\n\n1. Accédez à **Sécurisation > Configuration de la sécurité**.\n\n2. Faites défiler jusqu'à la section **Analyse des conteneurs pour le registre**.\n\n3. Activez la fonctionnalité.\n\n\n![Analyse des conteneurs pour le registre](https://res.cloudinary.com/about-gitlab-com/image/upload/v1772547512/vntrlhtmsh1ecnwni5ji.png \"Bouton d'activation de l'analyse des conteneurs pour le registre\")\n\n\n#### Prérequis\n\n\n* Rôle de Chargé de maintenance ou supérieur dans le projet\n\n* Le projet ne doit pas être vide (au moins un commit sur la branche par défaut est requis)\n\n* Les notifications du registre de conteneurs doivent être configurées\n\n* La base de données de métadonnées des paquets doit être configurée (activée par défaut sur GitLab.com)\n\n\nLes vulnérabilités apparaissent sous l'onglet **Vulnérabilités du registre de conteneurs** dans votre rapport de vulnérabilités.\n\n\n### 3. Analyse multi-conteneurs\n\n\n* Fonctionnement : analyse plusieurs images de conteneurs en parallèle au sein d'un même pipeline\n\n* Cas d'utilisation idéal : [architectures de microservices](https://about.gitlab.com/fr-fr/blog/what-are-the-benefits-of-a-microservices-architecture/ \"Qu'est-ce qu'une architecture de microservices ?\") et projets avec plusieurs images de conteneurs\n\n* Disponibilité : version gratuite de GitLab, GitLab Premium et GitLab Ultimate (actuellement en version bêta)\n\n* [Documentation](https://docs.gitlab.com/user/application_security/container_scanning/multi_container_scanning/)\n\n\nL'analyse multi-conteneurs utilise des pipelines enfants dynamiques pour exécuter des analyses simultanées afin de réduire considérablement le temps d'exécution global du pipeline lorsque plusieurs images doivent être analysées.\n\n\n#### Activer l'analyse multi-conteneurs\n\n\n1. Créez un fichier `.gitlab-multi-image.yml` à la racine de votre dépôt :\n\n\n```yaml\nscanTargets:\n  - name: alpine\n    tag: \"3.19\"\n  - name: python\n    tag: \"3.9-slim\"\n  - name: nginx\n    tag: \"1.25\"\n```\n\n\n2. Incluez le template dans votre fichier `.gitlab-ci.yml` :\n\n\n```yaml\ninclude:\n  - template: Jobs/Multi-Container-Scanning.latest.gitlab-ci.yml\n```\n\n\n#### Configuration avancée\n\n\n**Analyser des images depuis des registres privés :**\n\n\n```yaml\nauths:\n  registry.gitlab.com:\n    username: ${CI_REGISTRY_USER}\n    password: ${CI_REGISTRY_PASSWORD}\n\nscanTargets:\n  - name: registry.gitlab.com/private/image\n    tag: latest\n```\n\n\n**Inclure les informations de licence :**\n\n\n```yaml\nincludeLicenses: true\n\nscanTargets:\n  - name: postgres\n    tag: \"15-alpine\"\n```\n\n\n### 4. Analyse continue des vulnérabilités\n\n\n* Fonctionnement : crée automatiquement des vulnérabilités lors de la publication de nouveaux avis de sécurité, sans nécessiter l'exécution de pipeline\n\n* Cas d'utilisation idéal : surveillance proactive de la sécurité entre les déploiements\n\n* Disponibilité : GitLab Ultimate uniquement\n\n* [Documentation](https://docs.gitlab.com/user/application_security/continuous_vulnerability_scanning/)\n\n\nL'analyse traditionnelle ne détecte les vulnérabilités qu'au moment où elle est effectuée. Mais que se passe-t-il lorsqu'une nouvelle vulnérabilité et exposition commune (CVE) est publiée le lendemain pour un paquet analysé la veille ? L'analyse continue des vulnérabilités résout ce problème en surveillant la base de données d'avis de GitLab et en enregistrant automatiquement les vulnérabilités lorsque de nouveaux avis affectent vos composants.\n\n\n#### Fonctionnement\n\n\n1. Votre job d'analyse des conteneurs ou d'analyse des dépendances génère une SBOM CycloneDX.\n\n2. GitLab enregistre les composants de votre projet à partir de cette SBOM.\n\n3. Lors de la publication de nouveaux avis, GitLab vérifie si vos composants sont concernés.\n\n4. Les vulnérabilités sont automatiquement créées dans votre rapport de vulnérabilités.\n\n\n#### Points importants\n\n\n* Les analyses s'exécutent via des jobs en arrière-plan (Sidekiq), et non via des pipelines CI.\n\n* Seules les alertes publiées au cours des 14 derniers jours sont prises en compte pour la détection de nouveaux composants.\n\n* Les vulnérabilités utilisent « GitLab SBoM Vulnerability Scanner » comme nom de scanner.\n\n* Pour marquer des vulnérabilités comme résolues, vous devez toujours exécuter une analyse basée sur un pipeline.\n\n\n### 5. Analyse opérationnelle des conteneurs\n\n\n* Fonctionnement : analyse les conteneurs en cours d'exécution dans votre cluster [Kubernetes](https://about.gitlab.com/fr-fr/blog/kubernetes-the-container-orchestration-solution/ \"Qu'est-ce que Kubernetes ?\") selon une cadence planifiée\n\n* Cas d'utilisation idéal : surveillance de la sécurité après déploiement et détection des vulnérabilités au moment de l'exécution\n\n* Disponibilité : GitLab Ultimate uniquement\n\n* [Documentation](https://docs.gitlab.com/user/clusters/agent/vulnerabilities/)\n\n\nL'analyse opérationnelle des conteneurs comble l'écart entre la sécurité au moment du build et la sécurité à l'exécution. Grâce à l'agent GitLab pour Kubernetes, cette approche analyse les conteneurs réellement en cours d'exécution dans vos clusters pour détecter les vulnérabilités qui apparaissent après le déploiement.\n\n\n#### Activer l'analyse opérationnelle des conteneurs\n\n\nSi vous utilisez l'[agent GitLab pour Kubernetes](https://docs.gitlab.com/user/clusters/agent/install/), vous pouvez ajouter le contenu suivant à votre fichier de configuration de l'agent :\n\n\n```yaml\ncontainer_scanning:\n  cadence: '0 0 * * *'  # Daily at midnight\n  vulnerability_report:\n    namespaces:\n      include:\n        - production\n        - staging\n```\n\n\nVous pouvez également créer une [politique d'exécution des analyses](https://docs.gitlab.com/user/clusters/agent/vulnerabilities/#enable-via-scan-execution-policies) qui impose une analyse selon un planning défini par l'agent GitLab pour Kubernetes.\n\n\n![Politique d'exécution des analyses – analyse opérationnelle des conteneurs](https://res.cloudinary.com/about-gitlab-com/image/upload/v1772547515/gsgvjcq4sas4dfc8ciqk.png \"Conditions d'une politique d'exécution des analyses pour l'analyse opérationnelle des conteneurs\")\n\n\n#### Consulter les résultats\n\n\n* Accédez à **Opération > Clusters Kubernetes**.\n\n* Sélectionnez l'onglet **Agent** et choisissez votre agent.\n\n* Sélectionnez ensuite l'onglet **Sécurité** pour consulter les vulnérabilités du cluster.\n\n* Les résultats apparaissent également sous l'onglet **Vulnérabilités opérationnelles** dans le **rapport de vulnérabilités**.\n\n\n## Renforcer la posture de sécurité avec les politiques de sécurité de GitLab\n\n\nLes politiques de sécurité de GitLab vous permettent d'appliquer des normes de sécurité cohérentes dans l'ensemble de vos workflows de conteneurs, grâce à des contrôles automatisés pilotés par des politiques. Ces politiques intègrent la sécurité en amont en intégrant les exigences directement dans votre pipeline de développement afin de garantir que les vulnérabilités sont détectées et traitées avant que le code n'atteigne l'environnement de production.\n\n\n#### Politiques d'exécution des scans et des pipelines\n\n\nLes [politiques d'exécution des scans](https://docs.gitlab.com/user/application_security/policies/scan_execution_policies/) automatisent le moment et la manière dont l'analyse des conteneurs s'exécute dans vos projets. Définissez des politiques qui déclenchent des analyses de conteneurs sur chaque merge request, planifiez des analyses récurrentes de votre branche principale, et plus encore. Ces politiques assurent une couverture complète sans que les équipes de développement aient à configurer manuellement l'analyse dans le pipeline CI/CD de chaque projet.\n\n\nVous pouvez préciser les versions de scanner à utiliser et configurer les paramètres de scan de manière centralisée pour garantir la cohérence dans toute votre organisation tout en vous adaptant aux nouvelles menaces qui pèsent sur la sécurité des conteneurs.\n\n\n![Configuration d'une politique d'exécution des scans](https://res.cloudinary.com/about-gitlab-com/image/upload/v1772547517/z36dntxslqem9udrynvx.png \"Configuration d'une politique d'exécution des scans\")\n\n\nLes [politiques d'exécution des pipelines](https://docs.gitlab.com/user/application_security/policies/pipeline_execution_policies/) offrent des contrôles flexibles pour injecter (ou remplacer) des jobs personnalisés dans un pipeline en fonction de vos besoins en matière de conformité.\n\n\nCes politiques permettent d'injecter automatiquement des jobs d'analyse des conteneurs dans votre pipeline, de faire échouer les builds lorsque les vulnérabilités de conteneurs dépassent votre seuil de tolérance au risque, de déclencher des contrôles de sécurité supplémentaires pour des branches ou des tags spécifiques, ou encore d'imposer des exigences de conformité pour les images de conteneurs destinées aux environnements de production. Les politiques d'exécution des pipelines agissent comme des garde-fous automatisés pour appliquer vos normes de sécurité de manière cohérente dans l'ensemble de vos déploiements de conteneurs, sans intervention manuelle.\n\n\n![Politique d'exécution des pipelines](https://res.cloudinary.com/about-gitlab-com/image/upload/v1772547517/ddhhugzcr2swptgodof2.png \"Actions d'une politique d'exécution de pipeline\")\n\n\n#### Politiques d'approbation des merge requests\n\n\nLes [politiques d'approbation des merge requests](https://docs.gitlab.com/user/application_security/policies/merge_request_approval_policies/) imposent des contrôles de sécurité : les approbateurs désignés examinent et valident les merge requests contenant des vulnérabilités de conteneurs.\n\n\nConfigurez des politiques qui bloquent le merge lorsque des vulnérabilités de gravité critique ou élevée sont détectées, ou qui exigent l'approbation de l'équipe de sécurité pour toute merge request introduisant de nouveaux résultats liés aux conteneurs. Ces politiques empêchent les images de conteneurs vulnérables de progresser dans votre pipeline tout en préservant la vélocité de développement pour les changements à faible risque.\n\n\n![Politique d'approbation des merge requests avec blocage dans la merge request](https://res.cloudinary.com/about-gitlab-com/image/upload/v1772547513/hgnbc1vl4ssqafqcyuzg.png \"Politique d'approbation des merge requests avec blocage dans la merge request\")\n\n\n## Choisir la bonne approche\n\n\n| Type d'analyse | Utilisation | Avantage clé |\n|--------------|-------------|-------------|\n| Analyse dans le pipeline | À chaque build | Contrôles de sécurité en amont, blocage des builds vulnérables |\n| Analyse de registre | Surveillance continue | Détection des nouvelles CVE dans les images stockées |\n| Analyse multi-conteneurs | Microservices | Analyse en parallèle, pipelines plus rapides |\n| Analyse continue des vulnérabilités | Entre les déploiements | Surveillance proactive des avis |\n| Analyse opérationnelle | Surveillance en production | Détection des vulnérabilités dans l'environnement d'exécution |\n\n\nPour une approche complète en matière de sécurité, combinez plusieurs approches : l'analyse dans le pipeline pour détecter les problèmes pendant le développement, l'analyse des conteneurs pour le registre afin d'assurer une surveillance continue et l'analyse opérationnelle pour la visibilité en production.\n\n\n## Lancez-vous dès aujourd'hui\n\n\nActivez l'analyse dans le pipeline pour commencer à appliquer des mesures de sécurité dans les conteneurs :\n\n\n1. Accédez à **Sécurisation > Configuration de la sécurité** dans votre projet.\n\n2. Cliquez sur **Configurer avec une merge request** pour lancer l'analyse des conteneurs.\n\n3. Fusionnez la merge request.\n\n4. Votre prochain pipeline inclura l'analyse des vulnérabilités.\n\n\nAjoutez ensuite des analyses supplémentaires en fonction de vos exigences de sécurité et de votre abonnement GitLab.\n\n\nLa sécurité des conteneurs n'est pas une tâche ponctuelle, mais un processus continu. Grâce aux capacités complètes d'analyse des conteneurs de GitLab, vous pouvez détecter les vulnérabilités à chaque étape du cycle de vie de vos conteneurs, du build à l'exécution.\n\n\n> Pour en savoir plus sur la façon dont GitLab peut contribuer à renforcer votre posture de sécurité, consultez la [page sur les solutions de sécurité et de gouvernance de GitLab](https://about.gitlab.com/fr-fr/solutions/application-security-testing/).\n","2026-04-13","https://res.cloudinary.com/about-gitlab-com/image/upload/f_auto,q_auto,c_lfill/v1772721753/frfsm1qfscwrmsyzj1qn.png",[684],"Fernando Diaz","Découvrez les différentes méthodes d'analyse des conteneurs proposées par GitLab et apprenez à sécuriser vos conteneurs à chaque étape de leur cycle de vie.","Analyse des conteneurs de GitLab : le guide complet",{"featured":11,"template":12,"slug":688},"complete-guide-to-gitlab-container-scanning",{"content":690,"config":701},{"title":691,"description":692,"tags":693,"category":9,"authors":695,"date":698,"body":699,"heroImage":700},"Orchestration de l'IA agentique au service des équipes sécurité","Découvrez comment l'orchestration d'agents d’IA au sein d'une plateforme DevSecOps unifiée peut transformer le quotidien des équipes AppSec.",[694,9],"AI/ML",[696,697],"Chloe Cartron","Benjamin Skierlak","2026-04-07","> *Cet article de blog est un résumé de notre démo animée par Chloé Cartron (Senior Solutions Architect) et Benjamin Skierlak (Customer Success Engineer, EMEA) lors du Forum InCyber 2026.*\n\nLes équipes sécurité applicative font face à une équation de plus en plus difficile à résoudre avec un volume croissant de code, de failles et de contraintes réglementaires, sans pour autant voir leurs effectifs augmenter. L'intelligence artificielle est souvent présentée comme la solution miracle, mais encore faut-il l'intégrer de façon structurée et maîtrisée dans les processus existants.\n\nDécouvrez dans cet article comment l'orchestration d'agents d’IA au sein d'une plateforme [DevSecOps](https://about.gitlab.com/fr-fr/topics/devsecops/ \"Qu'est-ce que le DevSecOps ?\") unifiée transforme le quotidien des équipes AppSec, de la gestion du backlog de vulnérabilités jusqu'à la génération de rapports de conformité.\n\n> **🎯 Essayez [GitLab Duo Agent Platform](https://about.gitlab.com/fr-fr/gitlab-duo-agent-platform/?utm_medium=blog&utm_source=blog&utm_campaign=eg_emea_x_trial_x_fr_blog_fr) dès aujourd'hui !**\n\n## Le paradoxe de l'IA dans le développement logiciel\n\nL'intelligence artificielle a profondément transformé la façon dont les équipes de développement conçoivent et produisent leurs applications. [IDE](https://about.gitlab.com/fr-fr/blog/what-is-an-ide/ \"Qu'est-ce qu'un IDE ?\"), CLI, assistants de code ou encore générateurs d'applications : il est désormais possible de produire des milliers de lignes de code par jour. Une vélocité sans précédent, mais qui dissimule un problème structurel majeur.\n\nCar plus le code s'écrit vite, plus la surface d'attaque s'étend, et les équipes sécurité n’augmentent pas proportionnellement, puisqu’en moyenne **[4 personne sont dédiées à la sécurité pour 100 développeurs](https://codific.com/bsimm-building-security-in-maturity-model-a-complete-guide/)**. Résultat, les backlogs de vulnérabilités s'accumulent, les délais de remédiation s'allongent, et la conformité devient un chantier sans fin.\n\nC'est ce que nous appelons le **paradoxe de l'IA** : la vitesse, seule, n'est pas un avantage si elle engendre une dette de sécurité incontrôlable.\n\nLa réponse ne réside donc pas dans un ralentissement du développement, mais dans un changement de paradigme : utiliser l'IA non plus seulement pour écrire du code, mais pour **orchestrer la sécurité** à chaque étape du cycle de vie logiciel.\n\n## Une plateforme unifiée pour mettre fin à la fragmentation des outils\n\nLa **fragmentation des outils d’IA** constitue l'un des problèmes structurels les plus répandus au sein des équipes AppSec. À chaque changement d'outil, le contexte se perd, et des agents d’IA qui ne partagent pas de contexte commun reproduisent la fragmentation des outils.\n\nC'est pourquoi l'approche de GitLab repose sur un **modèle de données unifié** où le code, les pipelines, les issues, les merge requests et les résultats de scan coexistent dans un seul et même environnement. Les agents disposent ainsi d'une vision complète du cycle de développement, ce qui leur permet de prendre des décisions mieux informées, à chaque étape.\n\nCette architecture ouvre également la voie à de nouvelles formes de collaboration. En plus des agents d’IA disponibles par défaut sur GitLab, les équipes peuvent également créer et publier des agents dans un **[catalogue d’IA](https://docs.gitlab.com/user/duo_agent_platform/ai_catalog/)**, ce qui les rend réutilisables d'un projet à l'autre. Ils s'intègrent également avec des agents externes, et peuvent opérer en parallèle au sein de flows multi-agents, traitant plusieurs tâches simultanément. Une flexibilité qui permet à chaque organisation de construire progressivement un écosystème d'automatisation aligné sur ses propres besoins.\n\nMais qu'est-ce que cela signifie concrètement pour une équipe AppSec au quotidien ? Découvrons ensemble trois cas d’usage applicables pour vous aider à accélérer le traitement et la correction des vulnérabilités  et à informer votre organisation sur vos efforts en matière de sécurité et de conformité.\n\n## Trois cas d'usage concrets pour les équipes AppSec\n\n### 1. Trier et prioriser le backlog de vulnérabilités\n\nToutes les équipes sécurité connaissent ce défi : générer un [rapport de vulnérabilités](https://docs.gitlab.com/user/application_security/vulnerability_report/) et se retrouver face à des dizaines, voire des centaines d'alertes. La question n'est pas « y a-t-il des risques ? » mais « lesquels traiter en priorité ? »\n\nPrenons l’exemple d’une équipe AppSec chargée d’analyser le backlog de vulnérabilités, d’identifier les risques et de prioriser la résolution à travers l’ensemble des applications de l’organisation.\n\nPour cela, accédons au [rapport de vulnérabilités](https://gitlab.com/groups/gitlab-com/-/security/vulnerabilities), un tableau de bord qui offre une vue d'ensemble sur la posture sécurité d'une application. Les vulnérabilités qui y figurent sont identifiées par un ensemble de scanners de sécurité exécutés systématiquement dans les [pipelines CI/CD](https://about.gitlab.com/fr-fr/topics/ci-cd/cicd-pipeline/ \"Qu'est-ce qu'un pipeline CI/CD ?\") et regroupés en un seul endroit : SAST, DAST, analyse des dépendances, analyse des conteneurs, détection des secrets, etc.\n\nFace à un grand nombre de risques identifiés, l'enjeu est de distinguer rapidement ce qui représente un danger réel et urgent de ce qui peut être traité ultérieurement. C'est ici que l'IA apporte une première valeur ajoutée, puisque certaines vulnérabilités sont automatiquement signalées comme de **potentiels faux positifs**.\n\n![Signalement de potentiels faux positifs avec GitLab Duo](https://res.cloudinary.com/about-gitlab-com/image/upload/v1775581815/cxvus9f5hzfaqsbsqchc.png)\n\nEn plus des scanners de sécurité qui analysent la base de code, une analyse intelligente complémentaire à l’aide de l’IA est effectuée sur chaque vulnérabilité dans le contexte global du projet.\n\nPour en savoir plus sur ces potentiels faux positifs, nous allons interroger l’agent **[Security Analyst](https://docs.gitlab.com/user/duo_agent_platform/agents/foundational_agents/security_analyst_agent/)** de GitLab Duo en lui demandant « Pourquoi les secrets sont-ils identifiés comme potentiels faux positifs ». L’agent va effectuer une analyse intelligente dans le contexte pour déterminer s’il y a un réel risque ou non et partager ses retours à l'équipe AppSec.\n\nDans notre cas, il n’existe aucun risque puisque ce sont des secrets d’exemple. Nous allons donc demander à l'agent d'écarter ces vulnérabilités en masse en passant le statut à « dismissed » de toutes les vulnérabilités générées par le scanner de détection des secrets et identifiées comme faux positifs, puis d'ajuster les règles de détection pour affiner les futurs scans.\n\nL'étape suivante consiste à identifier les **risques réels prioritaires**. En posant la question « Quelles vulnérabilités posent le plus grand risque pour la production ? », l'agent analyse l'ensemble des vulnérabilités, génère des rapports de priorisation avec l'impact estimé et propose un plan d'action recommandé.\n\nPour chaque vulnérabilité critique, il est possible d'obtenir une explication détaillée : sa localisation, le scanner qui l’a identifié et les recommandations de remédiation.\n\n![Analyse des risques par l'agent Security Analyst de GitLab](https://res.cloudinary.com/about-gitlab-com/image/upload/v1775571832/vkkor8ynqmxfdloaqyc9.png)\n\nEn cliquant sur le bouton **AI vulnerability management > Explain with AI**, nous allons demander à l'IA de nous aider à obtenir une meilleure compréhension du risque en nous donnant une explication avec des recommandations et des préconisations.\n\nUne fois les priorités établies, l'agent peut **confirmer les vulnérabilités critiques et créer automatiquement une issue** pour chacune d'entre elles, permettant de tracer la remédiation. En quelques minutes, le backlog de vulnérabilités critiques et de nombreuses vulnérabilités de sévérité moyenne est réduit à un nombre maîtrisé de risques effectivement triés et assignés.\n\nUne fois les risques identifiés, encore faut-il les corriger, et le faire rapidement. C'est là qu'intervient la **génération automatique de merge requests correctives**.\n\nDepuis un ticket lié à une vulnérabilité, la fonction « **Generate MR with Duo** » lance un flow agentique qui récupère le contexte de l’issue, du projet et des informations connexes, puis génère automatiquement une merge request contenant le correctif. Chaque modification suggérée par GitLab Duo suit un processus rigoureux : passage par le pipeline CI/CD et revue de code obligatoire avec approbation par un pair pour valider le changement de code.\n\nCette [création de merge requests correctives peut être également automatisée via des **flows agentiques**](https://docs.gitlab.com/user/duo_agent_platform/flows/foundational_flows/agentic_sast_vulnerability_resolution/), permettant de passer à l'échelle en générant systématiquement des propositions de correction pour chaque vulnérabilité confirmée.\n\nNote : la fonction « **Generate MR with Duo** » ne se limite pas aux vulnérabilités, elle s’applique aussi à d'autres cas d'usage comme le développement de fonctionnalités à partir d'une spécification ou la résolution de bugs.\n\n### 2. Collaborer avec les développeurs pour prévenir l'introduction de nouvelles vulnérabilités\n\nLe deuxième enjeu est d'empêcher l'introduction de nouveaux risques le plus tôt possible dans le cycle de développement logiciel. Lorsqu'un développeur ouvre une merge request pour implémenter une nouvelle fonctionnalité, un ensemble de vérifications automatiques s'exécutent comme la **revue de code automatique de GitLab Duo** qui permet de fournir des premiers retours sur la qualité des changements apportés.\n\n![Revue de code automatique avec GitLab Duo](https://res.cloudinary.com/about-gitlab-com/image/upload/v1775581351/k5hm27hsnnovffqdo5z1.png)\n\nCependant, il arrive qu’une merge request se retrouve **bloquée par une [règle de sécurité](https://docs.gitlab.com/user/application_security/policies/merge_request_approval_policies/)** définie au niveau de l'organisation. Ces règles déterminent le seuil critique à respecter. Au-delà d'un certain niveau de risque (par exemple, des dépendances critiques), le merge est bloqué et une validation par un expert sécurité est requise.\n\nL'expert AppSec, sollicité pour faire une revue et donner son avis, doit alors se familiariser rapidement avec le changement et comprendre la vulnérabilité dans son contexte. Plutôt que de passer un temps considérable à analyser manuellement le code, les discussions et les tickets associés, ce dernier peut faire appel à GitLab Duo pour obtenir un **résumé contextuel sur les aspects liés à la sécurité** : modifications du code, discussions, issues associées et failles problématiques.\n\nSur la base de cette analyse, l’expert AppSec demande à l'agent de **publier sa recommandation directement en commentaire sur la merge request**, en taguant l'auteur de la merge request. Le développeur dispose ainsi immédiatement des préconisations de remédiation et comprend pourquoi la merge request est en échec.\n\n![Recommandation GitLab Duo en commentaire d'une merge request](https://res.cloudinary.com/about-gitlab-com/image/upload/v1775581459/ojd9klqyodu0mwladnv3.png)\n\nCe processus permet une collaboration fluide et rapide entre les équipes chargées de la sécurité et du développement, réduisant considérablement le temps nécessaire pour contextualiser un risque et communiquer les actions correctives.\n\n### 3. Générer des rapports de conformité et d’audit\n\nLe dernier cas d'usage répond à un besoin récurrent : donner de la **visibilité au management et aux auditeurs** sur la posture sécurité et la conformité des applications. Dans GitLab, un projet peut être associé à un **framework de conformité** (par exemple, la [norme ISO 27001)](https://about.gitlab.com/fr-fr/blog/how-gitlab-can-support-your-iso-compliance-journey/ \"ISO 27001\"), indiquant qu'il est soumis à un ensemble de règles spécifiques auquel il doit se conformer.\n\nEn demandant à l'agent Security Analyst de générer un résumé de l'état actuel de l'application en matière de sécurité et de conformité, celui-ci produit un **rapport complet** comprenant : une évaluation globale des risques, une analyse détaillée des vulnérabilités (y compris celles déjà triées et confirmées), des indicateurs de progression, une priorisation des actions restantes et des retours spécifiques par rapport à la norme de conformité applicable.\n\n![Rapport de l'agent Security Analyst](https://res.cloudinary.com/about-gitlab-com/image/upload/v1775581612/mxiamj7z71rqrocxx2lx.png)\n\nCe rapport, généré en quelques minutes, permet de démontrer l'amélioration continue et de partager un état des lieux clair et structuré, là où ce travail aurait traditionnellement nécessité un effort manuel considérable.\n\nÀ travers ces trois cas d'usage, GitLab Duo permet aux équipes AppSec d'accélérer de façon significative la priorisation des risques, l'assignation et la réalisation des corrections, la collaboration avec les développeurs et la production de rapports de conformité. Des tâches qui prenaient habituellement des heures se réalisent désormais en quelques minutes, tout en maintenant les exigences de qualité, de traçabilité et de validation humaine à chaque étape.\n\n## L'équipe AppSec devient chef d'orchestre\n\nCe changement de paradigme est fondamental. Les équipes sécurité ne sont plus un goulot d'étranglement que l’on vient solliciter en dernier recours. Elles deviennent les **architectes des workflows** que les agents exécutent, tout en gardant la maîtrise de bout en bout.\n\nConcrètement, cela se traduit par trois responsabilités clés :\n\n* **Définir les règles** : quelles politiques de sécurité s'appliquent, à quel seuil bloque-t-on une merge request, quels frameworks de conformité sont requis ?\n* **Choisir les workflows** : quels agents activer, pour quels types de vulnérabilités, avec quelles automatisations ?\n* **Garder le contrôle** : toutes les actions des agents restent auditables et les validations humaines sont maintenues aux étapes critiques.\n\nEn déléguant l'exécution aux agents, les experts sécurité se concentrent sur la stratégie et peuvent couvrir un périmètre toujours plus large, sans avoir besoin de multiplier les effectifs. C'est la réponse concrète au paradoxe de l'IA : la vitesse du développement augmente, mais la sécurité suit le rythme grâce à une orchestration maîtrisée.\n\n## Déployer l'IA en toute souveraineté\n\nAdopter l'IA dans un contexte de sécurité soulève légitimement des questions sur la maîtrise des données. Pour y répondre, GitLab propose plusieurs modèles de déploiement adaptés aux exigences de chaque organisation :\n\n* **GitLab Self-Managed** : hébergé dans votre propre infrastructure, pour un contrôle total.\n* **GitLab.com** : une offre SaaS entièrement gérée par GitLab.\n* **GitLab Dedicated** : un SaaS dédié, déployé dans la région de votre choix.\n\nQuel que soit le modèle retenu, les organisations conservent la maîtrise de leurs données. Elles peuvent choisir leurs propres [grands modèles de langage (LLM)](https://about.gitlab.com/fr-fr/blog/large-language-model/ \"Qu'est-ce qu'un LLM ?\") et disposent d'options air-gapped avec des LLM auto-hébergés, garantissant qu'aucune donnée n'est retenue par les fournisseurs d'IA. La souveraineté n'est pas une contrainte à gérer après coup : elle est intégrée dès la conception. Pour en savoir plus, [consultez notre documentation](https://docs.gitlab.com/administration/gitlab_duo_self_hosted/).\n\n## En résumé\n\nL'orchestration d'agents d’IA au service des équipes sécurité répond à un problème concret : faire plus avec les mêmes équipes, sans sacrifier la qualité ni le contrôle.\n\nLes trois enseignements clés à retenir :\n\n* **L’IA sans gouvernance crée autant de risques qu’elle en résout** : accélérer le développement sans intégrer la sécurité en amont amplifie l’exposition. La vitesse seule n’est pas un avantage si elle génère une dette de sécurité.\n* **Le contexte unifié est la clé de l’orchestration agentique** : des agents qui ne partagent pas de contexte reproduisent la fragmentation des outils. Avec le modèle de données unifié de GitLab, les agents peuvent agir avec une vision complète du cycle de vie.\n* **L'équipe AppSec orchestre, les agents exécutent** : avec les bons garde-fous et les bons agents, les équipes sécurité couvrent un périmètre qui grandit en permanence. En déléguant l’exécution, elles se concentrent sur la stratégie.\n\n> **🎯 Prêt à accélérer votre sécurité applicative ? Essayez [GitLab Duo Agent Platform](https://about.gitlab.com/fr-fr/gitlab-duo-agent-platform/?utm_medium=blog&utm_source=blog&utm_campaign=eg_emea_x_trial_x_fr_blog_fr) dès aujourd'hui !**","https://res.cloudinary.com/about-gitlab-com/image/upload/v1774375772/kpaaaiqhokevxxeoxvu0.png",{"featured":28,"template":12,"slug":702},"orchestrating-agentic-ai-to-boost-your-security-teams",{"content":704,"config":714},{"title":705,"description":706,"authors":707,"heroImage":709,"date":710,"body":711,"category":9,"tags":712},"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.",[708],"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).",[17,9,713],"features",{"featured":11,"template":12,"slug":715},"gitlab-18-10-brings-ai-native-triage-and-remediation",{"promotions":717},[718,732,744],{"id":719,"categories":720,"header":722,"text":723,"button":724,"image":729},"ai-modernization",[721],"ai-ml","Is AI achieving its promise at scale?","Quiz will take 5 minutes or less",{"text":725,"config":726},"Get your AI maturity score",{"href":727,"dataGaName":728,"dataGaLocation":242},"/assessments/ai-modernization-assessment/","modernization assessment",{"config":730},{"src":731},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":733,"categories":734,"header":736,"text":723,"button":737,"image":741},"devops-modernization",[17,735],"devsecops","Are you just managing tools or shipping innovation?",{"text":738,"config":739},"Get your DevOps maturity score",{"href":740,"dataGaName":728,"dataGaLocation":242},"/assessments/devops-modernization-assessment/",{"config":742},{"src":743},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":745,"categories":746,"header":747,"text":723,"button":748,"image":752},"security-modernization",[9],"Are you trading speed for security?",{"text":749,"config":750},"Get your security maturity score",{"href":751,"dataGaName":728,"dataGaLocation":242},"/assessments/security-modernization-assessment/",{"config":753},{"src":754},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"header":756,"blurb":757,"button":758,"secondaryButton":762},"Commencez à développer plus rapidement dès aujourd'hui","Découvrez ce que votre équipe peut accomplir avec la plateforme d'orchestration intelligente pour le DevSecOps.\n",{"text":44,"config":759},{"href":760,"dataGaName":47,"dataGaLocation":761},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/fr-fr/","feature",{"text":49,"config":763},{"href":51,"dataGaName":52,"dataGaLocation":761},1776436790396]