Date de la publication : 25 février 2025

Lecture : 12 min

Guide complet pour la gestion des tokens sur GitLab

Découvrez toutes les étapes du processus de gestion des jetons, de leur identification à leur sécurisation, pour renforcer la sécurité tout au long du cycle de développement logiciel.

Prenons l'exemple d'un ingénieur qui travaille dans une entreprise technologique en pleine croissance, qui reçoit un appel urgent alors qu'il est 2 heures du matin. Un pipeline de déploiement critique a échoué, et son équipe essaie de comprendre les raisons de cet échec. Après des heures d'investigation, il réalise qu'un utilisateur a révoqué un jeton d'accès personnel appartenant à un ingénieur qui a quitté l'entreprise une semaine plus tôt. Ce token étant lié à plusieurs processus d'automatisation clés, votre système est maintenant dans un état catastrophique. Comment faire en sorte que cela ne se reproduise plus ?

Dans ce guide, découvrez toutes les étapes de la gestion des tokens, de leur identification à leur sécurisation. Il complète la documentation officielle sur les tokens et s'adresse aux administrateurs GitLab, aux développeurs et aux équipes de sécurité qui doivent garantir une gestion efficace et sécurisée des tokens dans le cadre de leurs projets.

Voici les sujets abordés dans ce guide :

Sélection du token adapté au job

Choisir le bon token garantit à la fois la sécurité et des fonctionnalités optimales adaptées à votre cas d'utilisation. Les tokens peuvent servir à authentifier des requêtes API, à automatiser des pipelines CI/CD, à intégrer des outils tiers, à gérer des déploiements ou à accéder aux dépôts, et bien plus encore.

Guide de gestion des tokens - organigramme des jetons

Par souci de simplicité, nous vous proposons le graphique ci-dessus, qui illustre un cas d'utilisation classique lié à la propriété d'un seul utilisateur. Pour plus d'informations, consultez notre documentation sur les rôles et autorisations des utilisateurs dans chaque espace de nommage (utilisateur/groupe) dans votre instance ou groupe principal. Voici quelques exemples d'utilisation :

  • Les jetons d'accès personnel (PAT) conviennent lorsque l'accès personnel et les autorisations d'un utilisateur sont requis. Dans ce cas, les identifiants de connexion suivent le statut et les autorisations du compte de l'utilisateur, y compris sa révocation si le compte perd l'accès à un projet ou à un groupe spécifique (ou est entièrement bloqué).
  • Les tokens d'accès au projet/groupe (PrAT/GrAT) sont recommandés lorsque l'accès doit être limité aux ressources d'un projet/groupe spécifique. Ainsi, tout utilisateur disposant d'un PrAT/GrAT peut accéder à ces ressources via des mécanismes gérés par des portées attribuées.

Types de tokens

Voici la liste des tokens GitLab, avec leurs préfixes par défaut et le principal cas d'utilisation associé. Pour plus de détails, consultez la page de présentation des tokens GitLab.

Tokens Préfixe Description
Jeton d'accès personnel glpat Accès aux données propres à l'utilisateur
Token OAuth 2.0 gloas Authentification à l'aide du protocole d'authentification OAuth2.0 pour des intégrations tierces
Token d'emprunt d'identité glpat Permet d'agir au nom d'un autre utilisateur à des fins d'administration
Token d'accès au projet glpat Accès aux données d'un projet spécifique
Token d'accès au groupe glpat Accès aux données d'un groupe spécifique
Token de déploiement gldt Accès aux images d'un registre de conteneurs pour cloner ou effectuer un push/pull sans identifiants utilisateur ni mot de passe
Clés de déploiement N/A Accès en lecture seule ou en lecture-écriture aux dépôts
Token d'accès au runner glrt Authentification des GitLab Runners
Token de job CI/CD glcbt Automatisation des processus CI/CD
Token de déclenchement glptt Déclenchement manuel ou automatique des pipelines
Token de flux glft Authentification de l'accès aux flux de paquets/RSS
Token d'e-mail entrant glimt Traiter les e-mails entrants
Token GitLab Agent for Kubernetes glagent Gestion des clusters Kubernetes via GitLab Agent
Tokens SCIM glsoat Activation des intégrations SCIM pour le provisionnement des utilisateurs
Token client pour feature flags glffct Activation automatisée des feature flags
Token de webhook N/A Token de secret défini par l'utilisateur pour sécuriser les charges utiles des webhooks et vérifier que les requêtes proviennent de GitLab

Identification des tokens utilisés

Inventaire des identifiants de connexion

Avec GitLab Ultimate, les administrateurs (GitLab Self-Managed) et les propriétaires de groupe principal (GitLab.com, à partir de la version 17.5) peuvent surveiller les identifiants de connexion dans leur espace de nommage.

Cet inventaire permet de suivre les détails des tokens, notamment :

  • Le type de token
  • Les comptes utilisateurs associés
  • Les portées des tokens, ainsi que leur date de création et d'expiration
  • Les adresses IP des derniers tokens utilisés (à partir de GitLab 17.10)
  • Le filtrage des tokens en fonction des paramètres définis par l'utilisateur ci-dessus
  • La possibilité de révoquer et de procéder à une rotation de ces tokens

Un inventaire des identifiants de connexion bien tenu à jour permet d'identifier les tokens bénéficiant d'autorisations excessives et ceux dont la rotation est requise, ce qui garantit un workflow sécurisé et efficace.

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.

Plus de 50 % des entreprises du classement Fortune 100 font confiance à GitLab

Commencez à livrer des logiciels de meilleurs qualité plus rapidement

Découvrez comment la plateforme DevSecOps intelligente

peut aider votre équipe.