Authentification OAuth pour le registre de conteneurs

created: dimanche, juil. 6, 2025

Notre registre de conteneurs parle désormais le même dialecte OAuth que le reste de la plateforme DownToZero (DTZ). Si vous émettez déjà des jetons porteurs pour une API DTZ, vous pouvez vous connecter à cr.dtz.rocks sans aucune configuration supplémentaire. Ce changement finalise notre objectif à long terme de une identité, un jeton, partout.

Pourquoi nous avons ajouté OAuth

Le registre acceptait initialement uniquement les clés API. Bien que ces clés soient toujours supportées, elles ne disposent pas des portées fines et des durées courtes que fournit OAuth. Un JWT émis par le service d’Identité DTZ porte des informations de rôle telles que containerregistry/admin/{context_id} et expire automatiquement, réduisant ainsi l’étendue des dégâts en cas de fuite.

Connexion avec Docker

# 1 - Demander un jeton porteur
curl -X POST https://identity.dtz.rocks/api/2021-02-21/token/auth      -H "Content-Type: application/json"      -d '{"username":"you","password":"secret"}'

# 2 - Utiliser ce jeton pour s’authentifier
docker login cr.dtz.rocks -u bearer -p YOUR_ACCESS_TOKEN

Le nom d’utilisateur doit littéralement être bearer ; Docker transmet le jeton comme mot de passe. En coulisses, le registre valide le JWT avec la même logique que tous les autres services DTZ.

Compatibilité ascendante

Si votre pipeline CI/CD utilise déjà une clé API, rien ne casse — docker login -u apikey -p YOUR_API_KEY cr.dtz.rocks fonctionne toujours. OAuth est une mise à jour optionnelle qui débloque des identifiants à durée plus courte, un contrôle d’accès basé sur les rôles, et une rotation des secrets facilitée.

Une expérience développeur cohérente

Parce que le registre respecte désormais les mêmes en-têtes HTTP exacts et conventions d’authentification basique que nos points d’accès REST, vous pouvez :

Prêt à essayer ? Récupérez un jeton, lancez votre prochain docker push et profitez d’un flux de connexion plus simple et plus sûr.