Notre registre de conteneurs parle désormais le même dialecte OAuth que le reste de la plateforme DownToZero (DTZ). Si vous générez déjà des jetons bearer pour n’importe quelle API DTZ, vous pouvez vous connecter à cr.dtz.rocks avec zéro configuration supplémentaire. Ce changement accomplit notre objectif à long terme de une identité, un jeton, partout.
Le registre acceptait à l’origine uniquement des clés API. Bien que ces clés restent prises en charge, elles n’offrent pas la granularité des scopes ni la courte durée de vie qu’apporte OAuth. Un JWT émis par le service Identity de DTZ porte des informations de rôle telles que containerregistry/admin/{context_id} et expire automatiquement, réduisant le périmètre d’impact en cas de fuite.
# 1 - Demander un jeton bearer
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. Dans les coulisses, le registre valide le JWT en utilisant exactement la même logique que tous les autres services DTZ.
Si votre pipeline CI/CD utilise déjà une clé API, rien ne se casse—docker login -u apikey -p YOUR_API_KEY cr.dtz.rocks fonctionne toujours. OAuth est une mise à niveau 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 plus fluide.
Parce que le registre respecte désormais les mêmes en-têtes HTTP et conventions d’authentification basique que nos endpoints REST, vous pouvez :
Prêt à l’essayer ? Récupérez un jeton, lancez votre prochain docker push, et profitez d’un flux de connexion plus simple et plus sûr.