Azure Container Registry è un servizio di gestione di container di Microsoft Azure che permette agli utenti di archiviare e gestire immagini di container privati e di altri tipi di artefatti correlati. Sebbene possiamo utilizzare facilmente le credenziali amministrative, è sconsigliato utilizzare l'accesso predefinito come amministratore per ACR. L'utilizzo di credenziali amministrative fornisce un livello di accesso eccessivamente ampio, che può portare a rischi di sicurezza significativi, come l'esposizione accidentale di credenziali o l'accesso non autorizzato. Inoltre, la pratica di utilizzare account amministrativi per operazioni quotidiane contraddice i principi di minimo privilegio e sicurezza di best practice.
Uno dei principali vantaggi di ACR è la sua integrazione nativa con Azure e i servizi correlati, garantendo una gestione sicura e scalabile delle immagini dei container. Possiamo quindi provvedere a creare un service principal dedicato allo scopo, per esempio per scaricare le immagini e circoscrivere i permessi.
Prima di tutto dobbiamo procedere alla configurazione del service principal accedendo, sempre dal portale, alla sezione Entra ID dove possiamo creare una nuova applicazione.

Indichiamo un nome e manteniamo le impostazioni predefinite, poiché non abbiamo bisogno di autenticare gli utenti con questa app. Accediamo quindi all?app creata e nello specifico nell?area Certificates & secrets e creiamo un secret.

Diamogli una scadenza che non può eccedere i 24 mesi. A questo punto segniamoci il valore del secret che abbiamo creato, rappresentante la password di login di Docker. Torniamo sull?overview dell?app e copiamoci l?application/client id che rappresenta, invece, lo username. Abbiamo quindi le credenziali per effettuare il login, perciò non ci resta che autorizzare l?app tramite IAM. Andiamo sull?istanza ACR desiderata, accediamo alla sezione Access Control (IAM) e premiamo Add role assignment.

Cerchiamo Acr Pull (o altro permesso desiderato) e procediamo alla selezione del membro cercando il nome dell?app e confermiamo il tutto.

A questo punto possiamo utilizzare docker con l?istruzione login o qualsiasi altro strumento compatibile per scaricare l?immagine effettuando l?accesso con il client id e secret creato in precedenza.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Ottimizzare le pull con Artifact Cache di Azure Container Registry
Esporre i propri servizi applicativi con Semantic Kernel e ASP.NET Web API
Disabilitare le run concorrenti di una pipeline di Azure DevOps
Rendere i propri workflow e le GitHub Action utilizzate più sicure
Generare la software bill of material (SBOM) in GitHub
Anonimizzare i dati sensibili nei log di Azure Front Door
Ricevere notifiche sui test con Azure Load Testing
Usare il colore CSS per migliorare lo stile della pagina
Creare una custom property in GitHub
Eseguire i worklow di GitHub su runner potenziati
Escludere alcuni file da GitHub Secret Scanning