Granska efterlevnad för Azure-containerregister med hjälp av Azure PolicyAudit compliance of Azure container registries using Azure Policy

Azure Policy är en tjänst i Azure som du använder för att skapa, tilldela och hantera principer.Azure Policy is a service in Azure that you use to create, assign, and manage policies. De här principerna tillämpar olika regler och effekter på dina resurser så att resurserna efterlever dina företagsstandarder och serviceavtal.These policies enforce different rules and effects over your resources, so those resources stay compliant with your corporate standards and service level agreements.

Den här artikeln introducerar inbyggda principer för Azure Container Registry.This article introduces built-in policies for Azure Container Registry. Använd dessa principer för att granska nya och befintliga register för efterlevnad.Use these policies to audit new and existing registries for compliance.

Det tillkommer inga avgifter för att använda Azure Policy.There are no charges for using Azure Policy.

Inbyggda principdefinitionerBuilt-in policy definitions

Följande inbyggda principdefinitioner är specifika för Azure Container Registry:The following built-in policy definitions are specific to Azure Container Registry:

NameName
(Azure Portal)(Azure portal)
DescriptionDescription Effekt(er)Effect(s) VersionVersion
(GitHub)(GitHub)
Konfigurera containerregister för att inaktivera offentlig nätverksåtkomstConfigure Container registries to disable public network access Inaktivera offentlig nätverksåtkomst för din Container Registry så att den inte är tillgänglig via det offentliga Internet.Disable public network access for your Container Registry resource so that it's not accessible over the public internet. Detta kan minska riskerna för dataläckage.This can reduce data leakage risks. Läs mer på https://aka.ms/acr/portal/public-network och https://aka.ms/acr/private-link .Learn more at https://aka.ms/acr/portal/public-network and https://aka.ms/acr/private-link. Ändra, inaktiveradModify, Disabled 1.0.01.0.0
Konfigurera containerregister med privata slutpunkterConfigure Container registries with private endpoints Privata slutpunkter ansluter ditt virtuella nätverk till Azure-tjänster utan en offentlig IP-adress vid källan eller målet.Private endpoints connect your virtual network to Azure services without a public IP address at the source or destination. Genom att mappa privata slutpunkter till dina premiumcontainerregisterresurser kan du minska riskerna för dataläckage.By mapping private endpoints to your premium container registry resources, you can reduce data leakage risks. Läs mer på: https://aka.ms/privateendpoints och 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
Containerregister ska krypteras med en kund hanterad nyckelContainer registries should be encrypted with a customer-managed key Använd kundhanterade nycklar för att hantera krypteringen i vila av innehållet i dina register.Use customer-managed keys to manage the encryption at rest of the contents of your registries. Som standard krypteras data i vila med tjänst hanterade nycklar, men kundbaserade nycklar krävs ofta för att uppfylla regelefterlevnadsstandarder.By default, the data is encrypted at rest with service-managed keys, but customer-managed keys are commonly required to meet regulatory compliance standards. Kund hanterade nycklar gör att data kan krypteras med en Azure Key Vault som skapats och ägs av dig.Customer-managed keys enable the data to be encrypted with an Azure Key Vault key created and owned by you. Du har fullständig kontroll och ansvar för nyckellivscykeln, inklusive rotation och hantering.You have full control and responsibility for the key lifecycle, including rotation and management. Läs mer på https://aka.ms/acr/CMK .Learn more at https://aka.ms/acr/CMK. Granska, Neka, InaktiveradAudit, Deny, Disabled 1.1.21.1.2
Containerregister bör ha SKU:er som stöder privata länkarContainer registries should have SKUs that support Private Links Azure Private Link kan du ansluta ditt virtuella nätverk till Azure-tjänster utan en offentlig IP-adress vid källan eller målet.Azure Private Link lets you connect your virtual network to Azure services without a public IP address at the source or destination. Den privata länkplattformen hanterar anslutningen mellan konsumenten och tjänsterna via Azures stamnätverk.The private link platform handles the connectivity between the consumer and services over the Azure backbone network. Genom att mappa privata slutpunkter till containerregister i stället för hela tjänsten minskar risken för dataläckage.By mapping private endpoints to your container registries instead of the entire service, data leakage risks are reduced. Läs mer på: https://aka.ms/acr/private-link .Learn more at: https://aka.ms/acr/private-link. Granska, Neka, InaktiveradAudit, Deny, Disabled 1.0.01.0.0
Containerregister bör inte tillåta obegränsad nätverksåtkomstContainer registries should not allow unrestricted network access Azure-containerregister accepterar som standard anslutningar via Internet från värdar i alla nätverk.Azure container registries by default accept connections over the internet from hosts on any network. Du kan skydda dina register mot potentiella hot genom att tillåta åtkomst från endast specifika offentliga IP-adresser eller adressintervall.To protect your registries from potential threats, allow access from only specific public IP addresses or address ranges. Om registret inte har någon IP-/brandväggsregel eller något konfigurerat virtuellt nätverk visas den i de resurser som inte är fel.If your registry doesn't have an IP/firewall rule or a configured virtual network, it will appear in the unhealthy resources. Läs mer om Container Registry här: https://aka.ms/acr/portal/public-network och här 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. Granska, Neka, InaktiveradAudit, Deny, Disabled 1.1.01.1.0
Containerregister ska använda private linkContainer registries should use private link Azure Private Link kan du ansluta ditt virtuella nätverk till Azure-tjänster utan en offentlig IP-adress vid källan eller målet.Azure Private Link lets you connect your virtual network to Azure services without a public IP address at the source or destination. Den privata länkplattformen hanterar anslutningen mellan konsumenten och tjänsterna via Azures stamnätverk. Genom att mappa privata slutpunkter till dina containerregister i stället för hela tjänsten skyddas du även mot dataläckagerisker.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. Läs mer på: https://aka.ms/acr/private-link .Learn more at: https://aka.ms/acr/private-link. Granska, inaktiveradAudit, Disabled 1.0.11.0.1
Container Registry bör använda en tjänstslutpunkt för virtuellt nätverkContainer Registry should use a virtual network service endpoint Den här principen granskar alla Container Registry inte har konfigurerats för att använda en tjänstslutpunkt för virtuellt nätverk.This policy audits any Container Registry not configured to use a virtual network service endpoint. Granska, inaktiveradAudit, Disabled 1.0.0-preview1.0.0-preview
Offentlig nätverksåtkomst ska inaktiveras för containerregisterPublic network access should be disabled for Container registries Om du inaktiverar offentlig nätverksåtkomst förbättras säkerheten genom att se till att containerregister inte exponeras på det offentliga Internet.Disabling public network access improves security by ensuring that container registries are not exposed on the public internet. Att skapa privata slutpunkter kan begränsa exponeringen för containerregisterresurser.Creating private endpoints can limit exposure of container registry resources. Läs mer på: https://aka.ms/acr/portal/public-network och https://aka.ms/acr/private-link .Learn more at: https://aka.ms/acr/portal/public-network and https://aka.ms/acr/private-link. Granska, Neka, InaktiveradAudit, Deny, Disabled 1.0.01.0.0
Sårbarheter i Azure Container Registry avbildningar bör åtgärdasVulnerabilities in Azure Container Registry images should be remediated Sårbarhetsbedömning av containeravbildning genomsöker registret efter säkerhetsrisker på varje push-push-containeravbildning och visar detaljerade resultat för varje avbildning (drivs av 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). Genom att lösa sårbarheterna kan du förbättra dina containrars säkerhetsstatus avsevärt och skydda dem mot attacker.Resolving the vulnerabilities can greatly improve your containers' security posture and protect them from attacks. AuditIfNotExists, inaktiveradAuditIfNotExists, Disabled 2.0.02.0.0

Tilldela principerAssign policies

Anteckning

När du har tilldelar eller uppdaterar en princip tar det lite tid innan tilldelningen tillämpas på resurser i det definierade omfånget.After you assign or update a policy, it takes some time for the assignment to be applied to resources in the defined scope. Se information om utlösare för principutvärdering.See information about policy evaluation triggers.

Granska principefterlevnadReview policy compliance

Få åtkomst till efterlevnadsinformation som genereras av dina principtilldelningar med hjälp Azure Portal, Azure-kommandoradsverktyg eller Azure Policy-SDK:er.Access compliance information generated by your policy assignments using the Azure portal, Azure command-line tools, or the Azure Policy SDKs. Mer information finns i Hämta efterlevnadsdata för Azure-resurser.For details, see Get compliance data of Azure resources.

När en resurs inte är kompatibel finns det många möjliga orsaker.When a resource is non-compliant, there are many possible reasons. Om du vill ta reda på orsaken eller hitta den ansvariga ändringen kan du gå till Fastställa bristande efterlevnad.To determine the reason or to find the change responsible, see Determine non-compliance.

Principefterlevnad i portalen:Policy compliance in the portal:

  1. Välj Alla tjänster och sök efter Princip.Select All services, and search for Policy.

  2. Välj Efterlevnad.Select Compliance.

  3. Använd filtren för att begränsa kompatibilitets tillstånd eller för att söka efter principer.Use the filters to limit compliance states or to search for policies.

    Principefterlevnad i portalen

  4. Välj en princip för att granska sammanställd efterlevnadsinformation och händelser.Select a policy to review aggregate compliance details and events. Om du vill väljer du ett specifikt register för resursefterlevnad.If desired, then select a specific registry for resource compliance.

Principefterlevnad i Azure CLIPolicy compliance in the Azure CLI

Du kan också använda Azure CLI för att hämta efterlevnadsdata.You can also use the Azure CLI to get compliance data. Använd till exempel kommandot az policy assignment list i CLI för att hämta princip-ID:erna för de principer Azure Container Registry som tillämpas: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

Exempel på utdata: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

Kör sedan az policy state list för att returnera det JSON-formaterade kompatibilitetstillståndet för alla resurser under ett specifikt princip-ID: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>

Eller kör az policy state list för att returnera det JSON-formaterade kompatibilitetstillståndet för en specifik registerresurs, till exempel 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

Nästa stegNext steps