Controllare la conformità dei registri contenitori di Azure usando Criteri di AzureAudit compliance of Azure container registries using Azure Policy

Criteri di Azure è un servizio in Azure che consente di creare, assegnare e gestire i criteri.Azure Policy is a service in Azure that you use to create, assign, and manage policies. Questi criteri applicano regole ed effetti diversi alle risorse, in modo che le risorse rimangano conformi ai contratti di servizio e agli standard dell'azienda.These policies enforce different rules and effects over your resources, so those resources stay compliant with your corporate standards and service level agreements.

Questo articolo presenta i criteri predefiniti per Registro Azure Container.This article introduces built-in policies for Azure Container Registry. Usare questi criteri per controllare la conformità dei registri nuovi ed esistenti.Use these policies to audit new and existing registries for compliance.

Non sono disponibili addebiti per l'Criteri di Azure.There are no charges for using Azure Policy.

Definizioni di criteri predefinitiBuilt-in policy definitions

Le definizioni dei criteri predefiniti seguenti sono specifiche per Registro Azure Container:The following built-in policy definitions are specific to Azure Container Registry:

NomeName
(Portale di Azure)(Azure portal)
DescrizioneDescription Effetto/iEffect(s) VersioneVersion
(GitHub)(GitHub)
Configurare i registri contenitori per disabilitare l'accesso alla rete pubblicaConfigure Container registries to disable public network access Disabilitare l'accesso alla rete pubblica per la risorsa Registro Contenitori in modo che non sia accessibile tramite Internet pubblico.Disable public network access for your Container Registry resource so that it's not accessible over the public internet. In questo modo è possibile ridurre i rischi di perdita dei dati.This can reduce data leakage risks. Per altre informazioni, https://aka.ms/acr/portal/public-network vedere e https://aka.ms/acr/private-link .Learn more at https://aka.ms/acr/portal/public-network and https://aka.ms/acr/private-link. Modifica, DisabilitataModify, Disabled 1.0.01.0.0
Configurare i registri contenitore con endpoint privatiConfigure Container registries with private endpoints Gli endpoint privati connettono la rete virtuale ai servizi di Azure senza un indirizzo IP pubblico all'origine o alla destinazione.Private endpoints connect your virtual network to Azure services without a public IP address at the source or destination. Il mapping degli endpoint privati alle risorse del Registro Contenitori Premium consente di ridurre i rischi di perdita dei dati.By mapping private endpoints to your premium container registry resources, you can reduce data leakage risks. Per altre informazioni, vedere: https://aka.ms/privateendpoints e https://aka.ms/acr/private-link .Learn more at: https://aka.ms/privateendpoints and https://aka.ms/acr/private-link. DeployIfNotExists, DisabledDeployIfNotExists, Disabled 1.0.01.0.0
I registri contenitori devono essere crittografati con una chiave gestita dal clienteContainer registries should be encrypted with a customer-managed key Usare le chiavi gestite dal cliente per gestire la crittografia dei dati inattivi del contenuto dei registri.Use customer-managed keys to manage the encryption at rest of the contents of your registries. Per impostazione predefinita, i dati vengono crittografati in stato di inquieto con chiavi gestite dal servizio, ma le chiavi gestite dal cliente sono in genere necessarie per soddisfare gli standard di conformità alle normative.By default, the data is encrypted at rest with service-managed keys, but customer-managed keys are commonly required to meet regulatory compliance standards. Le chiavi gestite dal cliente consentono di crittografare i dati con una chiave Azure Key Vault creata e di proprietà dell'utente.Customer-managed keys enable the data to be encrypted with an Azure Key Vault key created and owned by you. 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.You have full control and responsibility for the key lifecycle, including rotation and management. Per altre informazioni, vedere https://aka.ms/acr/CMK .Learn more at https://aka.ms/acr/CMK. Audit, Deny, DisabledAudit, Deny, Disabled 1.1.21.1.2
I registri contenitori devono avere SKU che supportano i collegamenti privatiContainer registries should have SKUs that support Private Links Collegamento privato di Azure consente di connettere la rete virtuale ai servizi di Azure senza un indirizzo IP pubblico nell'origine o nella destinazione.Azure Private Link lets you connect your virtual network to Azure services without a public IP address at the source or destination. La piattaforma del collegamento privato gestisce la connettività tra il consumer e i servizi tramite la rete backbone di Azure.The private link platform handles the connectivity between the consumer and services over the Azure backbone network. Il mapping degli endpoint privati ai registri contenitori anziché all'intero servizio riduce i rischi di perdita dei dati.By mapping private endpoints to your container registries instead of the entire service, data leakage risks are reduced. Per altre informazioni, vedere https://aka.ms/acr/private-link.Learn more at: https://aka.ms/acr/private-link. Audit, Deny, DisabledAudit, Deny, Disabled 1.0.01.0.0
I registri contenitori non devono consentire l'accesso alla rete senza restrizioniContainer registries should not allow unrestricted network access Per impostazione predefinita, i Registri Azure Container accettano le connessioni tramite Internet dagli host in qualsiasi rete.Azure container registries by default accept connections over the internet from hosts on any network. Per proteggere i registri da potenziali minacce, consentire l'accesso solo da indirizzi o intervalli di indirizzi IP pubblici specifici.To protect your registries from potential threats, allow access from only specific public IP addresses or address ranges. Se nel registro non sono configurate regole del firewall o IP o una rete virtuale, il registro verrà visualizzato nelle risorse non integre.If your registry doesn't have an IP/firewall rule or a configured virtual network, it will appear in the unhealthy resources. Per altre informazioni sulle regole di rete per il Registro Azure Container, vedere https://aka.ms/acr/portal/public-network e https://aka.ms/acr/vnet.Learn more about Container Registry network rules here: https://aka.ms/acr/portal/public-network and here https://aka.ms/acr/vnet. Audit, Deny, DisabledAudit, Deny, Disabled 1.1.01.1.0
I registri contenitori devono usare collegamenti privatiContainer registries should use private link Collegamento privato di Azure consente di connettere la rete virtuale ai servizi di Azure senza un indirizzo IP pubblico nell'origine o nella destinazione.Azure Private Link lets you connect your virtual network to Azure services without a public IP address at the source or destination. 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.The private link platform handles the connectivity between the consumer and services over the Azure backbone network.By mapping private endpoints to your container registries instead of the entire service, you'll also be protected against data leakage risks. Per altre informazioni, vedere https://aka.ms/acr/private-link.Learn more at: https://aka.ms/acr/private-link. Audit, DisabledAudit, Disabled 1.0.11.0.1
I Registri Azure Container devono usare un endpoint servizio di rete virtualeContainer Registry should use a virtual network service endpoint Questo criterio controlla i Registri Azure Container che non sono configurati per usare un endpoint servizio di rete virtuale.This policy audits any Container Registry not configured to use a virtual network service endpoint. Audit, DisabledAudit, Disabled 1.0.0-preview1.0.0-preview
L'accesso alla rete pubblica deve essere disabilitato per i registri contenitoriPublic network access should be disabled for Container registries La disabilitazione dell'accesso alla rete pubblica migliora la sicurezza assicurando che i registri contenitori non siano esposti sulla rete Internet pubblica.Disabling public network access improves security by ensuring that container registries are not exposed on the public internet. La creazione di endpoint privati può limitare l'esposizione delle risorse del registro contenitori.Creating private endpoints can limit exposure of container registry resources. Per altre informazioni, vedere: https://aka.ms/acr/portal/public-network e https://aka.ms/acr/private-link .Learn more at: https://aka.ms/acr/portal/public-network and https://aka.ms/acr/private-link. Audit, Deny, DisabledAudit, Deny, Disabled 1.0.01.0.0
È consigliabile correggere le vulnerabilità nelle immagini del Registro Azure ContainerVulnerabilities in Azure Container Registry images should be remediated La valutazione della vulnerabilità delle immagini del contenitore analizza il registro per individuare le vulnerabilità relative alla sicurezza in ogni immagine del contenitore push ed espone i risultati dettagliati per ogni immagine (basata su Qualys).Container image vulnerability assessment scans your registry for security vulnerabilities on each pushed container image and exposes detailed findings for each image (powered by Qualys). La risoluzione delle vulnerabilità può migliorare significativamente il comportamento di sicurezza dei contenitori e proteggerli dagli attacchi.Resolving the vulnerabilities can greatly improve your containers' security posture and protect them from attacks. AuditIfNotExists, DisabledAuditIfNotExists, Disabled 2.0.02.0.0

Assegnare criteriAssign policies

Nota

Dopo l'assegnazione o l'aggiornamento di un criterio, l'assegnazione deve essere applicata alle risorse nell'ambito definito.After you assign or update a policy, it takes some time for the assignment to be applied to resources in the defined scope. Vedere informazioni sui trigger di valutazione dei criteri.See information about policy evaluation triggers.

Verificare la conformità dei criteriReview policy compliance

Accedere alle informazioni di conformità generate dalle assegnazioni di criteri usando portale di Azure, gli strumenti da riga di comando di Azure o gli SDK Criteri di Azure sicurezza.Access compliance information generated by your policy assignments using the Azure portal, Azure command-line tools, or the Azure Policy SDKs. Per informazioni dettagliate, vedere Ottenere i dati di conformità delle risorse di Azure.For details, see Get compliance data of Azure resources.

Quando una risorsa non è conforme, i motivi possibili sono molti.When a resource is non-compliant, there are many possible reasons. Per determinare il motivo o trovare la modifica responsabile, vedere Determinare la non conformità.To determine the reason or to find the change responsible, see Determine non-compliance.

Conformità dei criteri nel portale:Policy compliance in the portal:

  1. Selezionare Tutti i servizi e cercare Criteri.Select All services, and search for Policy.

  2. Selezionare Conformità.Select Compliance.

  3. Usare i filtri per limitare gli stati di conformità o per cercare i criteri.Use the filters to limit compliance states or to search for policies.

    Conformità dei criteri nel portale

  4. Selezionare un criterio per esaminare gli eventi e i dettagli di conformità aggregati.Select a policy to review aggregate compliance details and events. Se lo si desidera, selezionare un registro specifico per la conformità delle risorse.If desired, then select a specific registry for resource compliance.

Conformità dei criteri nell'interfaccia della riga di comando di AzurePolicy compliance in the Azure CLI

È anche possibile usare l'interfaccia della riga di comando di Azure per ottenere i dati di conformità.You can also use the Azure CLI to get compliance data. Ad esempio, usare il comando az policy assignment list nell'interfaccia della riga di comando per ottenere gli ID dei criteri Registro Azure Container criteri applicati:For example, use the az policy assignment list command in the CLI to get the policy IDs of the Azure Container Registry policies that are applied:

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

Output di esempio:Sample output:

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:Then run az policy state list to return the JSON-formatted compliance state for all resources under a specific policy ID:

az policy state list \
  --resource <policyID>

In caso contrario, eseguire az policy state list per restituire lo stato di conformità in formato JSON di una risorsa registro specifica, ad esempio myregistry:Or run az policy state list to return the JSON-formatted compliance state of a specific registry resource, such as myregistry:

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

Passaggi successiviNext steps