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
Planning & Specification Driven Development + GitHub Copilot
Semplificare la gestione dei modelli con Azure AI Foundry Model Router
Utilizzare AbortController per cancellare operazioni asincrone in JavaScript
Importare repository da Bitbucket a GitHub Enterprise Cloud
Supporto semplificato per le left join in Entity Framework 10
Configurare OpenTelemetry per Application Insights su ASP.NET Core
Monitorare le tabelle di Azure SQL Database con Change Event Streaming
Validazione personalizzata nelle Minimal API di ASP.NET Core
Evitare il cache poisoning nei workflow di GitHub
Integrare email esterne con Azure Functions e Managed Connectors
Usare i generics di C# con la clausola nameof in modo semplificato
Response streaming con Blazor e .NET 10
I più letti di oggi
- Accedere a risorse e immagini in Windows Store app di Windows 8
- Effettuare il multi-checkout in linea nelle pipeline di Azure DevOps
- Esaminare documenti XML con namespace utilizzando LINQ to XML
- Alleggerire le applicazioni WPF sfruttando gli oggetti Freezable
- Permettere il Drag-and-drop solo su zone predefinite con Silverlight 2.0
- Personalizare l'icona e le funzionalità di un sito web per iOS e IE
- Consumare dati binari in realtime lato client con ASP.NET Core SignalR
- Esaminare documenti con namespace con LINQ e XDocument
- Accedere a dati esposti con WebService con Silverlight 1.0
- Effetto turnstile su tutte le pagine con il Windows Phone Toolkit


