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
Creare agenti facilmente con Azure AI Agent Service
Gestire i dati con Azure Cosmos DB Data Explorer
Filtering sulle colonne in una QuickGrid di Blazor
Utilizzare un numero per gestire la concorrenza ottimistica con SQL Server ed Entity Framework
Filtrare i dati di una QuickGrid in Blazor con una drop down list
Ottimizzare le pull con Artifact Cache di Azure Container Registry
Generare una User Delegation SAS in .NET per Azure Blob Storage
Utilizzare Copilot con Azure Cosmos DB
Utilizzare il metodo CountBy di LINQ per semplificare raggruppamenti e i conteggi
Migrare una service connection a workload identity federation in Azure DevOps
Configurare e gestire sidecar container in Azure App Service
Cambiare la chiave di partizionamento di Azure Cosmos DB