Autenticazione OAuth per il registro dei container

created: domenica, lug 6, 2025

Il nostro registro dei container ora parla lo stesso dialetto OAuth del resto della piattaforma DownToZero (DTZ). Se già emetti token bearer per qualsiasi API DTZ, puoi accedere a cr.dtz.rocks con zero configurazioni aggiuntive. Questa modifica completa il nostro obiettivo a lungo termine di un’identità, un token, ovunque.

Perché abbiamo aggiunto OAuth

Il registro originariamente accettava solo chiavi API. Sebbene queste chiavi rimangano supportate, non hanno gli ambiti granulare e le durate brevi che OAuth offre. Un JWT emesso dal servizio Identity di DTZ porta informazioni sul ruolo come containerregistry/admin/{context_id} e scade automaticamente, riducendo l’area di impatto in caso di compromissione.

Accesso con Docker

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

# 2 - Use that token to authenticate
docker login cr.dtz.rocks -u bearer -p YOUR_ACCESS_TOKEN

Il nome utente deve essere letteralmente bearer; Docker inoltra il token come password. Dietro le quinte, il registro valida il JWT usando la stessa logica adottata da tutti gli altri servizi DTZ.

Compatibilità con le versioni precedenti

Se la tua pipeline CI/CD usa già una chiave API, non si rompe nulla—docker login -u apikey -p YOUR_API_KEY cr.dtz.rocks funziona ancora. OAuth è un aggiornamento opt-in che sblocca credenziali a vita più breve, controllo degli accessi basato sui ruoli e una rotazione dei segreti più agevole.

Un’esperienza coerente per gli sviluppatori

Poiché il registro ora rispetta gli stessi header HTTP e convenzioni di basic-auth esatti dei nostri endpoint REST, puoi:

Pronto per provarlo? Prendi un token, esegui il tuo prossimo docker push e goditi un flusso di login più semplice e sicuro.