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
Esporre i propri servizi applicativi con Semantic Kernel e ASP.NET Web API
Scrivere selettori CSS più semplici ed efficienti con :is()
Utilizzare una qualunque lista per i parametri di tipo params in C#
Ottimizzare le performance usando Span<T> e il metodo Split
Bloccare l'esecuzione di un pod in mancanza di un'artifact attestation di GitHub
Ridurre il reflow cambiando il CSS
Gestione dei nomi con le regole @layer in CSS
Eseguire script pre e post esecuzione di un workflow di GitHub
Gestire i dati con Azure Cosmos DB Data Explorer
.NET Aspire per applicazioni distribuite
Gestire progetti NPM in .NET Aspire
Sfruttare gli embedding e la ricerca vettoriale con Azure SQL Database