Autenticazione OAuth per il Container Registry

created: domenica, lug 6, 2025

Il nostro container registry 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 una identità, un token, ovunque.

Perché abbiamo aggiunto OAuth

Il registry originariamente accettava solo chiavi API. Sebbene queste restino supportate, mancano degli ambiti dettagliati e delle durate brevi che OAuth fornisce. Un JWT emesso dal servizio Identity di DTZ contiene informazioni di ruolo come containerregistry/admin/{context_id} e scade automaticamente, riducendo la superficie di rischio in caso di fuga.

Accesso con Docker

# 1 - Richiedi un token 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 - Usa quel token per autenticarti
docker login cr.dtz.rocks -u bearer -p YOUR_ACCESS_TOKEN

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

Compatibilità retroattiva

Se la tua pipeline CI/CD usa già una chiave API, nulla si rompe — docker login -u apikey -p YOUR_API_KEY cr.dtz.rocks funziona ancora. OAuth è un aggiornamento opzionale che abilita credenziali con durata più breve, controllo accessi basato sui ruoli e una rotazione dei segreti più fluida.

Un’esperienza sviluppatore coerente

Poiché il registry ora supporta esattamente gli stessi header HTTP e convenzioni di basic-auth dei nostri endpoint REST, puoi:

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