Date de la publication : 25 février 2025
Lecture : 12 min
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 :
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.
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 :
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 |
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 :
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.