Blog Sécurité ISO 27001: comment GitLab vous assiste dans votre démarche de conformité
Date de la mise à jour : July 31, 2024
Lecture : 11 min

ISO 27001: comment GitLab vous assiste dans votre démarche de conformité

Les fonctionnalités de sécurité logicielle de GitLab peuvent vous aider à vous conformer à la norme ISO 27001.

security-cover-new.png

En tant que plateforme unique et complète, GitLab vous permet de gérer votre cycle de vie DevSecOps facilement. En effet, la plateforme GitLab permet aux développeurs de créer des logiciels de qualité plus rapidement, mais son efficacité s'étend toutefois au-delà du DevSecOps.

En octobre 2022, l'Organisation internationale de normalisation a publié la dernière édition de la norme ISO 27001. Cette norme ISO/IEC 27001:2022 comprend plusieurs modifications par rapport à sa version précédente, dont l'ajout de contrôles dans l'annexe A. Ceux-ci sont axés sur le codage sécurisé et la gestion de la configuration.

Chez GitLab, nous utilisons notre plateforme pour prendre en charge de nombreux aspects de notre programme de conformité en matière de sécurité : un concept que nous appelons en interne le dogfooding. Vous trouverez un aperçu des accréditations de conformité et d'assurance que nous conservons sur notre page dédiée au Centre de gestion et protection des données.

Voyons à présent les principales fonctions à votre disposition pour vous conformer à la norme ISO 27001.

Contrôles organisationnels

ID de contrôle Description du contrôle
5.3 Séparation des tâches Les tâches et les domaines de responsabilité incompatibles doivent être séparés.
5.15 Contrôle d'accès Des règles visant à contrôler l'accès physique et logique aux informations et autres actifs associés en fonction des exigences métier et de sécurité de l'information doivent être définies et mises en œuvre.
5.16 Gestion des identités Le cycle de vie complet des identités doit être géré.
8.2 Droits d'accès privilégiés L'attribution et l'utilisation des droits d'accès privilégiés doivent être limitées et gérées.
8.4 Accès aux codes source L'accès en lecture et en écriture au code source, aux outils de développement et aux bibliothèques de logiciels doit être géré de manière appropriée.

Avec GitLab, vous pouvez attribuer un rôle aux utilisateurs lorsque vous les ajoutez à un projet ou à un groupe. Le rôle d'un utilisateur détermine les actions qu'il peut effectuer dans votre instance GitLab. Vous pouvez assigner les rôles suivants :

  • Invité (projets privés et internes uniquement)
  • Rapporteur
  • Développeur
  • Chargé de maintenance
  • Propriétaire
  • Accès minimal (disponible uniquement pour le groupe principal)

Les rôles de GitLab vous permettent de limiter les autorisations d'un utilisateur, conformément au principe de moindre privilège, ainsi qu'à vos exigences en matière de sécurité de l'information et de l’entreprise.

GitLab vous permet également de centraliser les responsabilités d'authentification et d'autorisation pour votre instance GitLab via des intégrations d'authentification unique basée sur le protocole SAML. GitLab intègre un large éventail de fournisseurs d'identité pour prendre en charge les diverses piles technologiques de notre clientèle. De plus, GitLab prend en charge le System for Cross-domain Identity Management (SCIM). Ainsi, grâce aux intégrations SSO et SCIM de GitLab, vous pouvez automatiser le cycle de vie de vos identités d'utilisateur de manière sécurisée et efficace.

SSO et SCIM sont également disponibles pour les clients utilisant GitLab Auto-géré.

Note : les contrôles technologiques des points 8.2 et 8.4 de l'annexe A ont été inclus dans le tableau ci-dessus en raison de leur proximité avec les contrôles organisationnels des points 5.3, 5.15 et 5.16. Vous pouvez recourir aux mêmes fonctionnalités de GitLab pour répondre à ces différentes exigences de contrôle.


ID de contrôle Description du contrôle
5.8 Sécurité de l'information dans la gestion de projet La sécurité de l'information doit être intégrée dans la gestion de projet.

Soutenez vos efforts de gestion de projet et de contrôle sur la sécurité de l'information dans toutes les phases du cycle de vie d'un projet grâce à nos outils de planification.

  • Les fonctionnalités de planification d'équipe de GitLab permettent aux utilisateurs d'organiser et de planifier les différentes étapes d'un projet et d’en suivre son avancement, de l'idée à la production.

  • Vous pouvez échanger sur vos idées, résoudre des problèmes et planifier vos tâches avec l'équipe de sécurité de l'information grâce aux epics, tickets et tâches. Les modèles de description et les check-lists permettent aux utilisateurs d'appliquer systématiquement une description et un workflow aux tickets ou aux merge requests. Ces modèles permettent une approche structurée de l'intégration de la sécurité de l'information dans votre cycle de vie de gestion de projet.

  • Les labels permettent aux utilisateurs d'organiser les tickets en fonction de leurs besoins. Pour assurer le maintien de la sécurité de l'information, utilisez les labels afin d'identifier le niveau de risque associé à un projet, l'étape à laquelle il se trouve, ou encore l'équipe de sécurité de l'information responsable d'un ensemble de tâches. Vous pouvez également profiter des labels à portée limitée (ou Scoped labels) pour ajouter une logique supplémentaire aux workflows en empêchant l'utilisation simultanée de certains labels. Chez GitLab, nous utilisons les labels à portée limitée pour identifier les équipes auxquelles sont attribuées les tâches, l'étape du projet dans laquelle elles se trouvent, et le produit ou l'ensemble de fonctionnalités qui leur sont associés.

Scoped Labels

Labels à portée limitée

  • Vous pouvez organiser davantage votre travail et obtenir une vue d'ensemble de toutes les tâches associées à un groupe ou à un projet grâce aux tableaux des tickets du groupe et du projet.

Contrôles technologiques

ID de contrôle Description du contrôle
8.8 Gestion des vulnérabilités techniques Des informations sur les vulnérabilités techniques des systèmes d'information utilisés doivent être obtenues, l'exposition de l'organisme à ces vulnérabilités doit être évaluée et des mesures appropriées doivent être prises.
8.9 Gestion des configurations Les configurations, y compris les configurations de sécurité, du matériel, des logiciels, des services et des réseaux, doivent être définies, documentées, mises en œuvre, surveillées et révisées.
8.25 Cycle de développement sécurisé Des règles pour le développement sécurisé des logiciels et des systèmes doivent être établies et appliquées.
8.26 Exigences de sécurité des applications Les exigences en matière de sécurité de l'information doivent être identifiées, spécifiées et approuvées lors du développement ou de l'acquisition d'applications.
8.27 Principes d'ingénierie et d'architecture des systèmes sécurisés Des principes d'ingénierie des systèmes sécurisés doivent être établis, documentés, tenus à jour et appliqués à toutes les activités de développement de systèmes d'information.

Avec GitLab, vous pouvez stocker vos configurations matérielles et logicielles, maintenir le contrôle de version, mettre à jour vos configurations via des merge requests et recourir aux pipelines CI/CD de GitLab pour pousser ces configurations vers vos applications et votre infrastructure. GitLab permet également aux entreprises d’adopter une approche GitOps via une plateforme unique.

La fonctionnalité d'analyse de l'infrastructure en tant que code de GitLab vous permet d'analyser vos fichiers de configuration IaC à la recherche de vulnérabilités connues. L'analyse IaC de GitLab prend en charge une variété de fichiers et de langues de configuration IaC, ce qui la rend adaptable à différentes piles technologiques.

GitLab permet aux professionnels de la conformité de mettre en œuvre l'automatisation via des frameworks de conformité et des pipelines de conformité. Ces fonctionnalités permettent aux utilisateurs d'identifier les projets critiques qui possèdent certaines exigences de conformité et d'y pousser des configurations via des pipelines. Elles permettent également une application uniforme des contrôles, soutenant ainsi votre posture de sécurité et facilitant le respect des exigences de conformité internes et externes de votre entreprise.

Pour les clients Ultimate, le Centre de conformité de GitLab fournit une vue centralisée de la posture de conformité d'un groupe en mettant par exemple en évidence les différents frameworks de conformité appliqués aux projets du groupe. Vous pouvez même évaluer votre degré de conformité à la norme GitLab.


ID de contrôle Description du contrôle
8.15 Journalisation Les journaux qui enregistrent les activités, les exceptions, les défaillances et autres événements pertinents doivent être générés, stockés, protégés et analysés.
8.16 Activités de surveillance Les réseaux, systèmes et applications doivent être surveillés pour détecter les comportements anormaux et des mesures appropriées doivent être prises pour évaluer les éventuels incidents en matière de sécurité de l'information.

Dans GitLab, vous pouvez utiliser les événements d'audit pour suivre les événements importants, y compris l'auteur de chaque action et sa date d'exécution. Les événements d'audit couvrent un large éventail de catégories, notamment :

  • Gestion des groupes
  • Authentification et autorisation
  • Gestion des utilisateurs
  • Conformité et sécurité
  • CI/CD
  • GitLab Runners

Événements d'audit

Exemple d'événement d'audit

Le streaming d'événements d'audit est disponible pour les clients Ultimate. Le streaming d'événements d'audit permet aux utilisateurs de définir une destination de streaming pour un groupe principal ou une instance principale afin de recevoir tous les événements d'audit du groupe, des sous-groupes et des projets sous forme de document JSON structuré.


ID de contrôle Description du contrôle
8.28 Codage sécurisé Des principes de codage sécurisé doivent être appliqués au développement de logiciels.
8.29 Tests de sécurité dans le développement et l'acceptation Des processus pour les tests de sécurité doivent être définis et mis en œuvre au cours du cycle de développement.

Vous pouvez optimiser votre cycle de développement logiciel et améliorer la sécurité de vos produits grâce aux fonctionnalités de la phase de sécurisation de GitLab. Les fonctionnalités de cette phase comprennent :

Et bien plus encore !

Découvertes relatives à la qualité du code

Découvertes relatives à la qualité du code

Les fuites de secrets sont à l'origine de nombreuses failles de sécurité. La détection des secrets de GitLab analyse votre dépôt pour empêcher l'exposition de vos secrets.

La fonctionnalité Stratégies de GitLab permet aux utilisateurs d'implémenter des stratégies d'exécution d'analyse et de résultat d'analyse basées sur une logique configurée. Ces stratégies combinent les capacités d'analyse de la phase de sécurisation avec les approbations des merge requests pour répondre davantage aux exigences de conformité.

Une fois réunies, ces fonctionnalités établissent les bases d'un programme de cycle de vie de développement logiciel sécurisé et vous permettent d'implémenter des principes de codage sécurisé conformément aux exigences de votre entreprise.


ID de contrôle Description du contrôle
8.32 Gestion des changements Les changements apportés aux moyens de traitement de l'information et aux systèmes d'information doivent être soumis à des procédures de gestion des modifications.

GitLab offre de nombreuses fonctionnalités permettant de prendre en charge un programme complet de gestion des modifications.

Les fonctionnalités de gestion du code source de GitLab permettent aux utilisateurs de créer des branches protégées. Elles permettent aux utilisateurs de GitLab d'imposer des restrictions à certaines branches considérées comme essentielles à leurs opérations. Une branche protégée permet de contrôler :

  • quels utilisateurs peuvent fusionner dans la branche
  • quels utilisateurs peuvent effectuer un push vers la branche
  • si les utilisateurs peuvent forcer un push vers la branche
  • si les modifications apportées aux fichiers répertoriés dans le fichier CODEOWNERS peuvent faire l’objet d’un push directement vers la branche
  • quels utilisateurs peuvent retirer la protection de la branche

La branche par défaut d'un dépôt devient automatiquement une branche protégée.

Branches protégées

Paramètres des branches protégées dans GitLab

Les merge requests (MR) sont essentielles dans le cycle de vie du développement logiciel. Les utilisateurs de GitLab peuvent configurer leurs MR de sorte qu'elles doivent être approuvées avant d'être fusionnées. Les utilisateurs peuvent définir le nombre minimum d'approbations requises avant qu'un travail puisse être fusionné dans un projet. Voici quelques exemples de règles que vous pouvez créer :

Comme mentionné précédemment, vous pouvez utiliser les tickets et les tâches pour documenter les demandes de modification et collaborer à celles-ci. Les modèles de description permettent aux utilisateurs d'appliquer systématiquement une description aux tickets ou aux MR. Ces modèles permettent une approche structurée de la demande de modifications adaptée à vos besoins spécifiques.

En savoir plus

En tant que plateforme DevSecOps complète, GitLab vous permet de répondre à un large éventail d'exigences. La version 2022 de la norme ISO a ajouté des contrôles supplémentaires autour du codage sécurisé et de la gestion de la configuration. Ces ajouts prouvent que les organismes de certification se concentrent davantage sur la sécurité des logiciels. En tant que partenaire stratégique, GitLab peut vous aider à vous conformer à la norme ISO 27001 et à développer de meilleurs logiciels plus rapidement.

Pour en savoir plus sur ces fonctionnalités, consultez notre bibliothèque de tutoriels.

Votre avis nous intéresse

Cet article de blog vous a plu ou vous avez des questions ou des commentaires ? Partagez vos réflexions en créant un nouveau sujet dans le forum de la communauté GitLab. Partager votre expérience

Prêt à vous lancer ?

Découvrez comment la plateforme DevSecOps de GitLab peut aider votre équipe.

Profiter d'un essai gratuit

Découvrez le forfait qui convient le mieux à votre équipe

En savoir plus sur la tarification

Découvrez ce que GitLab peut offrir à votre équipe

Échanger avec un expert