Ruoli e autorizzazioni di Registro Azure Container
Il servizio Registro Azure Container supporta un set di ruoli integrati di Azure che offrono livelli diversi di autorizzazioni a un registro contenitori di Azure. Usare il controllo degli accessi in base al ruolo di Azure per assegnare autorizzazioni specifiche a utenti, entità servizio o altre identità che devono interagire con un registro, ad esempio per eseguire il pull o il push di immagini del contenitore. È anche possibile definire ruoli personalizzati con autorizzazioni a granularità fine per un registro per operazioni diverse.
Ruolo/Autorizzazione | Accedere ad Azure Resource Manager | Creare/eliminare registro di sistema | Eseguire il push dell'immagine | Eseguire il pull dell'immagine | Eliminare i dati dell'immagine | Modificare i criteri | Firma delle immagini |
---|---|---|---|---|---|---|---|
Proprietario | X | X | X | X | X | X | |
Collaboratore | X | X | X | X | X | X | |
Lettore | X | X | |||||
AcrPush | X | X | |||||
AcrPull | X | ||||||
AcrDelete | X | ||||||
AcrImageSigner | X |
Assegnazione di ruoli
Vedere Passaggi per aggiungere un'assegnazione di ruolo per i passaggi generali per aggiungere un'assegnazione di ruolo a un utente, un gruppo, un'entità servizio o un'identità gestita esistente. È possibile usare il portale di Azure, l'interfaccia della riga di comando di Azure, Azure PowerShell o altri strumenti di Azure.
Quando si crea un'entità servizio, è possibile configurarne l'accesso e le autorizzazioni anche per le risorse di Azure, ad esempio un registro contenitori. Per uno script di esempio che usi l'interfaccia della riga di comando di Azure, vedere Autenticazione di Registro Azure Container con entità servizio.
Distinguere gli utenti e i servizi
Ogni volta che vengono applicate le autorizzazioni, una procedura consigliata è quella di fornire il set più limitato di autorizzazioni a una persona, o a un servizio, per svolgere un compito. I set di autorizzazioni seguenti rappresentano un set di funzionalità che può essere usato da persone e servizi headless.
Soluzioni CI/CD
Quando si automatizzano i comandi docker build
dalle soluzioni CI/CD, sono necessarie le funzionalità docker push
. Per questi scenari di servizio headless, è consigliabile assegnare il ruolo AcrPush. Questo ruolo, a differenza del ruolo più ampio Collaboratore, impedisce all'account di eseguire altre operazioni del registro di sistema o l'accesso ad Azure Resource Manager.
Nodi dell'host del contenitore
Allo stesso modo, i nodi che eseguono i contenitori necessitano il ruolo AcrPull, ma richiedono funzionalità Lettore.
Estensione Visual Studio Code Docker
Per gli strumenti come estensione Docker di Visual Studio Code, è richiesto l'accesso aggiuntivo al provider di risorse per elencare i registri contenitori Azure disponibili. In questo caso, fornire agli utenti l'accesso al ruolo Lettore oppure Collaboratore. Questi ruoli consentono docker pull
, docker push
, az acr list
, az acr build
e altre funzionalità.
Accedere ad Azure Resource Manager
L'accesso ad Azure Resource Manager è necessario per il portale di Azure e per la gestione del registro di sistema con l'interfaccia della riga di comando di Azure. Ad esempio, per ottenere un elenco dei registri usando il comando az acr list
, è necessario questo set di autorizzazioni.
Creare ed eliminare un registro di sistema
La possibilità di creare ed eliminare i registri contenitori di Azure.
Eseguire il push dell'immagine
La possibilità di docker push
un'immagine o di eseguire il push su un altro artefatto supportato, ad esempio un grafico Helm, in un registro di sistema. Richiede l'autenticazione con il registro di sistema usando l'identità autorizzata.
Eseguire il pull dell'immagine
La possibilità di docker pull
un'immagine non in quarantena o di eseguire il pull su un altro artefatto supportato, ad esempio un grafico Helm, in un registro di sistema. Richiede l'autenticazione con il registro di sistema usando l'identità autorizzata.
Eliminare i dati di immagini
La possibilità di eliminare immagini del contenitore o eliminare altri artefatti supportati, ad esempio grafici Helm, da un registro.
Modificare i criteri
La possibilità di configurare i criteri in un registro di sistema. I criteri includono l'eliminazione di immagini, l'abilitazione della quarantena e la firma di immagini.
Firma di immagini
La possibilità di firmare immagini, in genere assegnate a un processo automatizzato, che utilizza un'entità di servizio. Questa autorizzazione viene in genere combinata con un'immagine push per consentire l'inserimento di un'immagine attendibile a un registro di sistema. Per informazioni dettagliate, vedere Attendibilità dei contenuti in Registro Azure Container.
Ruoli personalizzati
Come per altre risorse di Azure, è possibile creare ruoli personalizzati con autorizzazioni specifiche per Registro Azure Container. Assegnare quindi ruoli personalizzati a utenti, entità servizio o altre identità che devono interagire con un registro.
Per determinare quali autorizzazioni applicare a un ruolo personalizzato, vedere l'elenco delle azioni Microsoft.ContainerRegistry, consultare le azioni consentite dei ruoli di Registro Azure Container integrati, oppure eseguire il comando seguente:
az provider operation show --namespace Microsoft.ContainerRegistry
Per definire un ruolo personalizzato, vedere Passaggi per creare un ruolo personalizzato.
Nota
Nei tenant configurati con il collegamento privato di Azure Resource Manager, Registro Azure Container supporta azioni con caratteri jolly come Microsoft.ContainerRegistry/*/read
o Microsoft.ContainerRegistry/registries/*/write
in ruoli personalizzati, concedendo l'accesso a tutte le azioni corrispondenti. In un tenant senza un collegamento privato ARM, specificare singolarmente tutte le azioni del registro necessarie in un ruolo personalizzato.
Esempio: ruolo personalizzato per l’importazione di immagini
Ad esempio, il codice JSON seguente definisce le azioni minime per un ruolo personalizzato che consente l'importazione di immagini in un registro.
{
"assignableScopes": [
"/subscriptions/<optional, but you can limit the visibility to one or more subscriptions>"
],
"description": "Can import images to registry",
"Name": "AcrImport",
"permissions": [
{
"actions": [
"Microsoft.ContainerRegistry/registries/push/write",
"Microsoft.ContainerRegistry/registries/pull/read",
"Microsoft.ContainerRegistry/registries/read",
"Microsoft.ContainerRegistry/registries/importImage/action"
],
"dataActions": [],
"notActions": [],
"notDataActions": []
}
],
"roleType": "CustomRole"
}
Per creare o aggiornare un ruolo personalizzato usando la descrizione JSON, usare l'interfaccia della riga di comando di Azure, il modello di Azure Resource Manager, Azure PowerShell o altri strumenti di Azure. Aggiungere o rimuovere assegnazioni di ruolo per un ruolo personalizzato nello stesso modo in cui si gestiscono le assegnazioni di ruolo per i ruoli predefiniti di Azure.
Passaggi successivi
Altre informazioni sull'assegnazione di ruoli di Azure a un'identità di Azure tramite il portale di Azure, l'interfaccia della riga di comando di Azure, Azure PowerShell o altri strumenti di Azure.
Informazioni su opzioni di autenticazione per il Registro Azure Container.
Informazioni sull'abilitazione delle autorizzazioni con ambito repository in un registro contenitori.