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 API key. Sebbene queste key rimangano supportate, non offrono gli ambiti granulari e le durate brevi che OAuth fornisce. Un JWT emesso dal servizio Identity di DTZ contiene informazioni sul ruolo come containerregistry/admin/{context_id} ed scade automaticamente, riducendo l’area di impatto in caso di eventuale 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 letteralmente essere bearer; Docker inoltra il token come password. Dietro le quinte, il registry valida il JWT usando la stessa logica di tutti gli altri servizi DTZ.

Compatibilità con le versioni precedenti

Se la tua pipeline CI/CD usa già una API key, nulla si rompe — 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ù fluida.

Un’esperienza di sviluppo coerente

Poiché il registry ora rispetta gli stessi header HTTP e le stesse 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 accesso più semplice e sicuro.