Controllare la conformità dei registri contenitori di Azure usando Criteri di Azure

Criteri di Azure è un servizio in Azure usato per creare, assegnare e gestire le definizioni dei criteri. Queste definizioni di criteri applicano regole ed effetti diversi sulle risorse, in modo che tali risorse rimangano conformi agli standard aziendali e ai contratti di servizio.

Questo articolo presenta le definizioni di criteri predefinite per Registro Azure Container. Usare queste definizioni per controllare i registri nuovi ed esistenti per la conformità.

Non è previsto alcun addebito per l'utilizzo di Criteri di Azure.

Definizioni di criteri predefiniti

Le definizioni di criteri predefinite seguenti sono specifiche per Registro Azure Container:

Nome
(Portale di Azure)
Descrizione Effetti Versione
(GitHub)
[Anteprima]: Registro Contenitori deve essere con ridondanza della zona Il Registro Contenitori può essere configurato in modo che sia ridondante o meno della zona. Quando la proprietà zoneRedundancy per un registro contenitori è impostata su "Disabled", significa che il Registro di sistema non è ridondante della zona. L'applicazione di questi criteri consente di garantire che registro Contenitori sia configurato in modo appropriato per la resilienza della zona, riducendo il rischio di tempi di inattività durante le interruzioni della zona. Audit, Deny, Disabled 1.0.0-preview
[Anteprima]: Registro Container deve usare un endpoint servizio di rete virtuale Questo criterio controlla i Registri Azure Container che non sono configurati per usare un endpoint servizio di rete virtuale. Audit, Disabled 1.0.0-preview
Le immagini del contenitore del Registro di sistema di Azure devono avere vulnerabilità risolte (basate su Gestione delle vulnerabilità di Microsoft Defender) La valutazione della vulnerabilità dell'immagine del contenitore analizza il registro per individuare vulnerabilità comunemente note (CVE) e fornisce un report dettagliato sulle vulnerabilità per ogni immagine. La risoluzione delle vulnerabilità può migliorare notevolmente il comportamento di sicurezza, assicurandosi che le immagini siano sicure da usare prima della distribuzione. AuditIfNotExists, Disabled 1.0.1
Configurare i registri contenitori per disabilitare l'autenticazione anonima. Disabilitare il pull anonimo per il Registro di sistema in modo che i dati non siano accessibili dall'utente non autenticato. La disabilitazione di metodi di autenticazione locali come l'utente amministratore, i token di accesso con ambito repository e il pull anonimo migliorano la sicurezza assicurando che i registri contenitori richiedano esclusivamente identità di Azure Active Directory per l'autenticazione. Per altre informazioni, vedere https://aka.ms/acr/authentication. Modifica, Disabilitata 1.0.0
Configurare i registri contenitori per disabilitare l'autenticazione del token del gruppo di destinatari arm. Disabilitare i token del gruppo di destinatari arm di Azure Active Directory per l'autenticazione nel registro. Per l'autenticazione verranno usati solo i token di gruppo di destinatari di Registro Azure Container (ACR). In questo modo è possibile usare solo i token destinati all'utilizzo nel Registro di sistema per l'autenticazione. La disabilitazione dei token del gruppo di destinatari arm non influisce sull'autenticazione dei token di accesso con ambito o dell'utente amministratore. Per altre informazioni, vedere https://aka.ms/acr/authentication. Modifica, Disabilitata 1.0.0
Configurare i registri contenitori per disabilitare l'account amministratore locale. Disabilitare l'account amministratore per il Registro di sistema in modo che non sia accessibile dall'amministratore locale. La disabilitazione di metodi di autenticazione locali come l'utente amministratore, i token di accesso con ambito repository e il pull anonimo migliorano la sicurezza assicurando che i registri contenitori richiedano esclusivamente identità di Azure Active Directory per l'autenticazione. Per altre informazioni, vedere https://aka.ms/acr/authentication. Modifica, Disabilitata 1.0.1
Configurare i registri contenitori per disabilitare l'accesso alla rete pubblica Disabilitare l'accesso alla rete pubblica per la risorsa registro Contenitori in modo che non sia accessibile tramite Internet pubblico. Ciò può ridurre i rischi di perdita dei dati. Per altre informazioni, vedere https://aka.ms/acr/portal/public-network e https://aka.ms/acr/private-link. Modifica, Disabilitata 1.0.0
Configurare i registri contenitori per disabilitare il token di accesso con ambito repository. Disabilitare i token di accesso con ambito repository per il registro in modo che i repository non siano accessibili dai token. La disabilitazione di metodi di autenticazione locali come l'utente amministratore, i token di accesso con ambito repository e il pull anonimo migliorano la sicurezza assicurando che i registri contenitori richiedano esclusivamente identità di Azure Active Directory per l'autenticazione. Per altre informazioni, vedere https://aka.ms/acr/authentication. Modifica, Disabilitata 1.0.0
Configurare registri contenitori con endpoint privati Gli endpoint privati connettono la rete virtuale ai servizi di Azure senza un indirizzo IP pubblico all'origine o alla destinazione. Eseguendo il mapping di endpoint privati alle risorse del registro contenitori Premium, è possibile ridurre i rischi di perdita dei dati. Per altre informazioni, vedere: https://aka.ms/privateendpoints e https://aka.ms/acr/private-link. DeployIfNotExists, Disabled 1.0.0
I registri contenitori devono essere crittografati con una chiave gestita dal cliente Usare le chiavi gestite dal cliente per gestire la crittografia dei dati inattivi del contenuto dei registri. Per impostazione predefinita, i dati vengono crittografati inattivi con chiavi gestite dal servizio, ma le chiavi gestite dal cliente sono in genere necessarie per soddisfare gli standard di conformità alle normative. Le chiavi gestite dal cliente consentono di crittografare i dati con una chiave di Azure Key Vault creata dall'utente e di sua proprietà. L'utente dispone del controllo completo e della piena responsabilità in merito al ciclo di vita della chiave, incluse le operazioni di rotazione e gestione. Per ulteriori informazioni, vedi https://aka.ms/acr/CMK. Audit, Deny, Disabled 1.1.2
I registri contenitori devono avere disabilitata l'autenticazione anonima. Disabilitare il pull anonimo per il registro in modo che i dati non siano accessibili dall'utente non autenticato. La disabilitazione di metodi di autenticazione locali come l'utente amministratore, i token di accesso con ambito repository e il pull anonimo migliorano la sicurezza assicurando che i registri contenitori richiedano esclusivamente identità di Azure Active Directory per l'autenticazione. Per altre informazioni, vedere https://aka.ms/acr/authentication. Audit, Deny, Disabled 1.0.0
I registri contenitori devono avere disabilitata l'autenticazione del token del gruppo di destinatari arm. Disabilitare i token del gruppo di destinatari arm di Azure Active Directory per l'autenticazione nel registro. Per l'autenticazione verranno usati solo i token di gruppo di destinatari di Registro Azure Container (ACR). In questo modo è possibile usare solo i token destinati all'utilizzo nel Registro di sistema per l'autenticazione. La disabilitazione dei token del gruppo di destinatari arm non influisce sull'autenticazione dei token di accesso con ambito o dell'utente amministratore. Per altre informazioni, vedere https://aka.ms/acr/authentication. Audit, Deny, Disabled 1.0.0
I registri contenitori devono avere esportazioni disabilitate La disabilitazione delle esportazioni migliora la sicurezza assicurando che l'accesso ai dati in un registro venga eseguito esclusivamente tramite il piano dati ('docker pull'). I dati non possono essere spostati dal Registro di sistema tramite 'acr import' o 'acr transfer'. Per disabilitare le esportazioni, l'accesso alla rete pubblica deve essere disabilitato. Per altre informazioni, vedere https://aka.ms/acr/export-policy. Audit, Deny, Disabled 1.0.0
I registri contenitori devono avere un account amministratore locale disabilitato. Disabilitare l'account amministratore per il Registro di sistema in modo che non sia accessibile dall'amministratore locale. La disabilitazione di metodi di autenticazione locali come l'utente amministratore, i token di accesso con ambito repository e il pull anonimo migliorano la sicurezza assicurando che i registri contenitori richiedano esclusivamente identità di Azure Active Directory per l'autenticazione. Per altre informazioni, vedere https://aka.ms/acr/authentication. Audit, Deny, Disabled 1.0.1
I registri contenitori devono avere disabilitato il token di accesso con ambito repository. Disabilitare i token di accesso con ambito repository per il registro in modo che i repository non siano accessibili dai token. La disabilitazione di metodi di autenticazione locali come l'utente amministratore, i token di accesso con ambito repository e il pull anonimo migliorano la sicurezza assicurando che i registri contenitori richiedano esclusivamente identità di Azure Active Directory per l'autenticazione. Per altre informazioni, vedere https://aka.ms/acr/authentication. Audit, Deny, Disabled 1.0.0
I registri contenitori devono avere SKU che supportano collegamento privato Collegamento privato di Azure consente di connettere la rete virtuale ai servizi di Azure senza un indirizzo IP pubblico nell'origine o nella destinazione. La piattaforma del collegamento privato gestisce la connettività tra il consumer e i servizi tramite la rete backbone di Azure. Eseguendo il mapping degli endpoint privati ai registri contenitori anziché all'intero servizio, i rischi di perdita dei dati vengono ridotti. Per altre informazioni, vedere https://aka.ms/acr/private-link. Audit, Deny, Disabled 1.0.0
I registri contenitori non devono consentire l'accesso alla rete senza restrizioni Per impostazione predefinita, i Registri Azure Container accettano le connessioni tramite Internet dagli host in qualsiasi rete. Per proteggere i registri da potenziali minacce, consentire l'accesso solo da endpoint privati specifici, indirizzi IP pubblici o intervalli di indirizzi. Se il Registro di sistema non dispone di regole di rete configurate, verrà visualizzato nelle risorse non integre. Altre informazioni sulle regole di rete del Registro Container sono disponibili qui: https://aka.ms/acr/privatelinkehttps://aka.ms/acr/portal/public-networkhttps://aka.ms/acr/vnet. Audit, Deny, Disabled 2.0.0
I registri contenitori devono impedire la creazione di regole della cache Disabilitare la creazione di regole della cache per il Registro Azure Container per impedire il pull tramite cache. Per altre informazioni, vedere https://aka.ms/acr/cache. Audit, Deny, Disabled 1.0.0
I registri contenitori devono usare collegamenti privati Collegamento privato di Azure consente di connettere la rete virtuale ai servizi di Azure senza un indirizzo IP pubblico nell'origine o nella destinazione. La piattaforma del collegamento privato gestisce la connettività tra il consumer e i servizi tramite la rete backbone di Azure. Il mapping degli endpoint privati ai soli registri contenitori anziché all'intero servizio, garantisce la protezione dai rischi di perdita dei dati. Per altre informazioni, vedere https://aka.ms/acr/private-link. Audit, Disabled 1.0.1
Abilitare la registrazione per gruppo di categorie per registri contenitori (microsoft.containerregistry/registries) in Hub eventi I log delle risorse devono essere abilitati per tenere traccia delle attività e degli eventi che si verificano sulle risorse e fornire visibilità e informazioni dettagliate su eventuali modifiche apportate. Questo criterio distribuisce un'impostazione di diagnostica usando un gruppo di categorie per instradare i log a un hub eventi per i registri contenitori (microsoft.containerregistry/registries). DeployIfNotExists, AuditIfNotExists, Disabled 1.1.0
Abilitare la registrazione per gruppo di categorie per registri contenitori (microsoft.containerregistry/registries) in Log Analytics I log delle risorse devono essere abilitati per tenere traccia delle attività e degli eventi che si verificano sulle risorse e fornire visibilità e informazioni dettagliate su eventuali modifiche apportate. Questo criterio distribuisce un'impostazione di diagnostica usando un gruppo di categorie per instradare i log a un'area di lavoro Log Analytics per i registri contenitori (microsoft.containerregistry/registries). DeployIfNotExists, AuditIfNotExists, Disabled 1.0.0
Abilitare la registrazione per gruppo di categorie per registri contenitori (microsoft.containerregistry/registries) per Archiviazione I log delle risorse devono essere abilitati per tenere traccia delle attività e degli eventi che si verificano sulle risorse e fornire visibilità e informazioni dettagliate su eventuali modifiche apportate. Questo criterio distribuisce un'impostazione di diagnostica usando un gruppo di categorie per instradare i log a un account Archiviazione per registri contenitori (microsoft.containerregistry/registries). DeployIfNotExists, AuditIfNotExists, Disabled 1.0.0
L'accesso alla rete pubblica deve essere disabilitato per i registri contenitori La disabilitazione dell'accesso alla rete pubblica migliora la sicurezza assicurando che i registri contenitori non siano esposti su Internet pubblico. La creazione di endpoint privati può limitare l'esposizione delle risorse del registro contenitori. Per altre informazioni, vedere: https://aka.ms/acr/portal/public-network e https://aka.ms/acr/private-link. Audit, Deny, Disabled 1.0.0

Creare assegnazioni di criteri

  • Creare assegnazioni di criteri usando il portale di Azure, l'interfaccia della riga di comando di Azure, un modello di Resource Manager o gli SDK Criteri di Azure.
  • Definire l'ambito di un'assegnazione di criteri a un gruppo di risorse, a una sottoscrizione o a un gruppo di gestione di Azure. Le assegnazioni dei criteri del Registro Contenitori si applicano ai registri contenitori esistenti e nuovi all'interno dell'ambito.
  • Abilitare o disabilitare l'imposizione dei criteri in qualsiasi momento.

Nota

Dopo aver creato o aggiornato un'assegnazione di criteri, l'assegnazione richiede tempo per valutare le risorse nell'ambito definito. Vedere informazioni sui trigger di valutazione dei criteri.

Esaminare la conformità dei criteri

Accedere alle informazioni di conformità generate dalle assegnazioni di criteri usando le portale di Azure, gli strumenti da riga di comando di Azure o gli SDK Criteri di Azure. Per informazioni dettagliate, vedere Ottenere i dati di conformità delle risorse di Azure.

Quando una risorsa non è conforme, i motivi possibili sono molti. Per determinare il motivo o per trovare la modifica responsabile, vedere Determinare la mancata conformità.

Conformità dei criteri nel portale:

  1. Selezionare Tutti i servizi e cercare Criteri.

  2. Selezionare Conformità.

  3. Usare i filtri per limitare gli stati di conformità o per cercare i criteri.

    Conformità dei criteri nel portale

  4. Selezionare un criterio per esaminare i dettagli e gli eventi di conformità aggregati. Se necessario, selezionare un registro specifico per la conformità delle risorse.

Conformità dei criteri nell'interfaccia della riga di comando di Azure

È anche possibile usare l'interfaccia della riga di comando di Azure per ottenere i dati di conformità. Ad esempio, usare il comando az policy assignment list nell'interfaccia della riga di comando per ottenere gli ID dei criteri dei criteri Registro Azure Container applicati:

az policy assignment list --query "[?contains(displayName,'Container Registries')].{name:displayName, ID:id}" --output table

Output di esempio:

Name                                                                                   ID
-------------------------------------------------------------------------------------  --------------------------------------------------------------------------------------------------------------------------------
Container Registries should not allow unrestricted network access           /subscriptions/<subscriptionID>/providers/Microsoft.Authorization/policyAssignments/b4faf132dc344b84ba68a441
Container Registries should be encrypted with a Customer-Managed Key (CMK)  /subscriptions/<subscriptionID>/providers/Microsoft.Authorization/policyAssignments/cce1ed4f38a147ad994ab60a

Eseguire quindi az policy state list per restituire lo stato di conformità in formato JSON per tutte le risorse con un ID criterio specifico:

az policy state list \
  --resource <policyID>

In alternativa, eseguire az policy state list per restituire lo stato di conformità in formato JSON di una risorsa del Registro di sistema specifica, ad esempio myregistry:

az policy state list \
 --resource myregistry \
 --namespace Microsoft.ContainerRegistry \
 --resource-type registries \
 --resource-group myresourcegroup

Passaggi successivi