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
Evitare (o ridurre) il repo-jacking sulle GitHub Actions
Generare velocemente pagine CRUD in Blazor con QuickGrid
Utilizzare Copilot con Azure Cosmos DB
Creare una libreria CSS universale: i bottoni
Escludere alcuni file da GitHub Secret Scanning
Conoscere il rendering Server o WebAssembly a runtime in Blazor
Path addizionali per gli asset in ASP.NET Core MVC
Eseguire una ricerca avanzata per recuperare le issue di GitHub
Gestire la cancellazione di una richiesta in streaming da Blazor
Utilizzare i primary constructor di C# per inizializzare le proprietà
Cancellare una run di un workflow di GitHub
Rinnovare il token di una GitHub App durante l'esecuzione di un workflow