Azure Container Registry (ACR) è una soluzione scalabile e sicura per gestire immagini container in ambienti cloud o ibridi. Offre vantaggi significativi come l'integrazione nativa con l'ecosistema Azure, il supporto per la replica geografica per distribuire immagini vicino agli ambienti di esecuzione, e strumenti di sicurezza avanzati, come scansioni delle vulnerabilità integrate.
Per l'accesso al registro, utilizziamo normalmente un sistema basato su credenziali amministrative, managed identity oppure mediante un service principal, assegnando gli opportuni ruoli sul registro.
Tuttavia, per scenari che richiedono un controllo più granulare, possiamo utilizzare i token. Questi ci consentono di definire accessi specifici a singoli repository, limitando le operazioni a lettura, scrittura o eliminazione. Questo approccio è ideale per suddividere il controllo tra team, servizi o dispositivi, garantendo maggiore sicurezza e semplicità di gestione.
Per configurare un token dal portale Azure, dobbiamo prima di tutto accedere al registro container e andare alla sezione Repository Permissions > Tokens. Qui possiamo creare un nuovo token cliccando su Add e assegnandogli un nome. Durante questa operazione, dobbiamo associare una Scope Map, cioè quali azioni sono possibili sul registro.

Creato il token ritorniamo sulla lista che ci mostra quello appena creato e il suo stato.

A questo punto dobbiamo creare le password premendo sul token stesso. Il portale ci presenta una maschera che ci permette di generare due password da abbinare, ai fini della rotazione.

Premiamo su una delle due password per procedere alla generazione dando facoltativamente una data di scadenza.

Ci viene quindi mostrata la password (una sola volta) e l'istruzione docker login per poter accedere al registro come una normale credenziale.
Qualora gli scope map già presenti non fossero sufficienti, possiamo andare nella sezione Scope maps e crearne di nuovi. La maschera proposta ci permette di indicare per quali repository, utilizzando anche wildcard, quali permessi dare.

In questo modo possiamo davvero controllare in maniera granulare gli utenti e l'accesso al nostro registro.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Supportare lo HierarchyID di Sql Server in Entity Framework 8
Gestione degli stili CSS con le regole @layer
Gestione dell'annidamento delle regole dei layer in CSS
Sfruttare GPT-4o realtime su Azure Open AI per conversazioni vocali
Path addizionali per gli asset in ASP.NET Core MVC
Testare l'invio dei messaggi con Event Hubs Data Explorer
Utilizzare una qualunque lista per i parametri di tipo params in C#
Bloccare l'esecuzione di un pod in mancanza di un'artifact attestation di GitHub
La gestione della riconnessione al server di Blazor in .NET 9
Utilizzare DeepSeek R1 con Azure AI
Conoscere il rendering Server o WebAssembly a runtime in Blazor
Generare una User Delegation SAS in .NET per Azure Blob Storage