Naleving van Azure-containerregisters controleren met behulp van Azure Policy
Azure Policy is een service in Azure die u gebruikt om beleidsdefinities te maken, toe te wijzen en te beheren. Met deze beleidsdefinities worden verschillende regels en effecten afgedwongen voor uw resources, zodat deze resources voldoen aan de standaarden en serviceovereenkomsten van uw bedrijf.
In dit artikel worden ingebouwde beleidsdefinities voor Azure Container Registry geïntroduceerd. Gebruik deze definities om nieuwe en bestaande registers te controleren op naleving.
Er worden geen kosten in rekening gebracht voor het gebruik van Azure Policy.
Voorbeelden van ingebouwde beleidsdefinities
De volgende ingebouwde beleidsdefinities zijn specifiek voor Azure Container Registry:
Naam (Azure-portal) |
Beschrijving | Gevolg(en) | Versie (GitHub) |
---|---|---|---|
[Preview]: Container Registry moet zone-redundant zijn | Container Registry kan worden geconfigureerd als zone-redundant of niet. Wanneer de eigenschap zoneRedundancy voor een Container Registry is ingesteld op Uitgeschakeld, betekent dit dat het register niet zoneredundant is. Door dit beleid af te dwingen, zorgt u ervoor dat uw Container Registry op de juiste wijze is geconfigureerd voor zonetolerantie, waardoor het risico op downtime tijdens zonestoringen wordt verminderd. | Controleren, Weigeren, Uitgeschakeld | 1.0.0-preview |
[Preview]: Container Registry moet een service-eindpunt voor een virtueel netwerk gebruiken | Met dit beleid worden alle exemplaren van Container Registry gecontroleerd die niet zijn geconfigureerd voor het gebruik van een service-eindpunt voor een virtueel netwerk. | Controle, uitgeschakeld | 1.0.0-preview |
Azure Registry-containerinstallatiekopieën moeten beveiligingsproblemen hebben opgelost (mogelijk gemaakt door Microsoft Defender Vulnerability Management) | Evaluatie van beveiligingsproblemen van containerinstallatiekopieën scant uw register op bekende beveiligingsproblemen (CVE's) en biedt een gedetailleerd beveiligingsrapport voor elke installatiekopie. Het oplossen van beveiligingsproblemen kan uw beveiligingspostuur aanzienlijk verbeteren, zodat installatiekopieën veilig kunnen worden gebruikt vóór de implementatie. | AuditIfNotExists, uitgeschakeld | 1.0.1 |
Configureer containerregisters om anonieme verificatie uit te schakelen. | Schakel anonieme pull uit voor uw register, zodat gegevens niet toegankelijk zijn voor niet-geverifieerde gebruikers. Als u lokale verificatiemethoden uitschakelt, zoals een gebruiker met beheerdersrechten, toegangstokens in de opslagplaats en anonieme pull, wordt de beveiliging verbeterd door ervoor te zorgen dat containerregisters uitsluitend Azure Active Directory-identiteiten vereisen voor verificatie. Zie voor meer informatie: https://aka.ms/acr/authentication. | Wijzigen, uitgeschakeld | 1.0.0 |
Configureer containerregisters om verificatie van ARM-doelgroeptoken uit te schakelen. | Schakel Azure Active Directory ARM-doelgroeptokens uit voor verificatie bij uw register. Alleen ACR-doelgroeptokens (Azure Container Registry) worden gebruikt voor verificatie. Dit zorgt ervoor dat alleen tokens die zijn bedoeld voor gebruik in het register, kunnen worden gebruikt voor verificatie. Het uitschakelen van ARM-doelgroeptokens heeft geen invloed op de verificatie van de gebruiker of het bereik van toegangstokens van de beheerder. Zie voor meer informatie: https://aka.ms/acr/authentication. | Wijzigen, uitgeschakeld | 1.0.0 |
Configureer containerregisters om het lokale beheerdersaccount uit te schakelen. | Schakel het beheerdersaccount voor uw register uit, zodat het niet toegankelijk is voor de lokale beheerder. Als u lokale verificatiemethoden uitschakelt, zoals een gebruiker met beheerdersrechten, toegangstokens in de opslagplaats en anonieme pull, wordt de beveiliging verbeterd door ervoor te zorgen dat containerregisters uitsluitend Azure Active Directory-identiteiten vereisen voor verificatie. Zie voor meer informatie: https://aka.ms/acr/authentication. | Wijzigen, uitgeschakeld | 1.0.1 |
Containerregisters configureren om openbare netwerktoegang uit te schakelen | Schakel openbare netwerktoegang voor uw Container Registry-resource uit, zodat deze niet toegankelijk is via het openbare internet. Dit kan de risico's voor gegevenslekken verminderen. Meer informatie op https://aka.ms/acr/portal/public-network en https://aka.ms/acr/private-link. | Wijzigen, uitgeschakeld | 1.0.0 |
Configureer containerregisters om het bereiktoken voor opslagplaatsen uit te schakelen. | Schakel toegangstokens voor het bereik van de opslagplaats uit voor uw register, zodat opslagplaatsen niet toegankelijk zijn voor tokens. Als u lokale verificatiemethoden uitschakelt, zoals een gebruiker met beheerdersrechten, toegangstokens in de opslagplaats en anonieme pull, wordt de beveiliging verbeterd door ervoor te zorgen dat containerregisters uitsluitend Azure Active Directory-identiteiten vereisen voor verificatie. Zie voor meer informatie: https://aka.ms/acr/authentication. | Wijzigen, uitgeschakeld | 1.0.0 |
Containerregisters configureren met privé-eindpunten | Privé-eindpunten verbinden uw virtuele netwerk met Azure-services zonder een openbaar IP-adres bij de bron of bestemming. Door privé-eindpunten toe te voegen aan uw premium containerregisterbronnen, kunt u risico's voor gegevenslekken verminderen. Meer informatie vindt u op: https://aka.ms/privateendpoints en https://aka.ms/acr/private-link. | DeployIfNotExists, uitgeschakeld | 1.0.0 |
Containerregisters moeten worden versleuteld met een door de klant beheerde sleutel | Gebruik door de klant beheerde sleutels voor het beheren van de versleuteling van de rest van de inhoud van uw registers. Standaard worden de gegevens in rust versleuteld met door de service beheerde sleutels, maar door de klant beheerde sleutels zijn doorgaans vereist om te voldoen aan nalevingsstandaarden voor regelgeving. Met door de klant beheerde sleutels kunnen de gegevens worden versleuteld met een Azure Key Vault-sleutel die door u is gemaakt en waarvan u eigenaar bent. U hebt de volledige controle en verantwoordelijkheid voor de levenscyclus van de sleutel, met inbegrip van rotatie en beheer. Meer informatie op https://aka.ms/acr/CMK. | Controleren, Weigeren, Uitgeschakeld | 1.1.2 |
Voor containerregisters moet anonieme verificatie zijn uitgeschakeld. | Schakel anonieme pull uit voor uw register, zodat gegevens niet toegankelijk zijn voor niet-geverifieerde gebruikers. Als u lokale verificatiemethoden uitschakelt, zoals een gebruiker met beheerdersrechten, toegangstokens in de opslagplaats en anonieme pull, wordt de beveiliging verbeterd door ervoor te zorgen dat containerregisters uitsluitend Azure Active Directory-identiteiten vereisen voor verificatie. Zie voor meer informatie: https://aka.ms/acr/authentication. | Controleren, Weigeren, Uitgeschakeld | 1.0.0 |
Containerregisters moeten arm-doelgroeptokenverificatie hebben uitgeschakeld. | Schakel Azure Active Directory ARM-doelgroeptokens uit voor verificatie bij uw register. Alleen ACR-doelgroeptokens (Azure Container Registry) worden gebruikt voor verificatie. Dit zorgt ervoor dat alleen tokens die zijn bedoeld voor gebruik in het register, kunnen worden gebruikt voor verificatie. Het uitschakelen van ARM-doelgroeptokens heeft geen invloed op de verificatie van de gebruiker of het bereik van toegangstokens van de beheerder. Zie voor meer informatie: https://aka.ms/acr/authentication. | Controleren, Weigeren, Uitgeschakeld | 1.0.0 |
Voor containerregisters moeten exports zijn uitgeschakeld | Het uitschakelen van exports verbetert de beveiliging door ervoor te zorgen dat gegevens in een register alleen toegankelijk zijn via het dataplane ('docker pull'). Gegevens kunnen niet uit het register worden verplaatst via 'acr import' of via 'acr transfer'. Als u exports wilt uitschakelen, moet openbare netwerktoegang worden uitgeschakeld. Zie voor meer informatie: https://aka.ms/acr/export-policy. | Controleren, Weigeren, Uitgeschakeld | 1.0.0 |
Containerregisters moeten het lokale beheerdersaccount hebben uitgeschakeld. | Schakel het beheerdersaccount voor uw register uit, zodat het niet toegankelijk is voor de lokale beheerder. Als u lokale verificatiemethoden uitschakelt, zoals een gebruiker met beheerdersrechten, toegangstokens in de opslagplaats en anonieme pull, wordt de beveiliging verbeterd door ervoor te zorgen dat containerregisters uitsluitend Azure Active Directory-identiteiten vereisen voor verificatie. Zie voor meer informatie: https://aka.ms/acr/authentication. | Controleren, Weigeren, Uitgeschakeld | 1.0.1 |
Containerregisters moeten het bereiktoken voor opslagplaatsen hebben uitgeschakeld. | Schakel toegangstokens voor het bereik van de opslagplaats uit voor uw register, zodat opslagplaatsen niet toegankelijk zijn voor tokens. Als u lokale verificatiemethoden uitschakelt, zoals een gebruiker met beheerdersrechten, toegangstokens in de opslagplaats en anonieme pull, wordt de beveiliging verbeterd door ervoor te zorgen dat containerregisters uitsluitend Azure Active Directory-identiteiten vereisen voor verificatie. Zie voor meer informatie: https://aka.ms/acr/authentication. | Controleren, Weigeren, Uitgeschakeld | 1.0.0 |
Containerregisters moeten SKU's hebben die ondersteuning bieden voor Privékoppelingen | Met Azure Private Link kunt u uw virtuele netwerk met services in Azure verbinden zonder een openbaar IP-adres bij de bron of bestemming. Het privékoppelingsplatform zorgt voor de connectiviteit tussen de consument en de services via het Azure-backbonenetwerk. Door privé-eindpunten toe te voegen aan uw containerregisters in plaats van de hele service, worden risico's voor gegevenslekken verminderd. Zie voor meer informatie: https://aka.ms/acr/private-link. | Controleren, Weigeren, Uitgeschakeld | 1.0.0 |
Containerregisters mogen geen onbeperkte netwerktoegang toestaan | Azure-containerregisters accepteren standaard verbindingen via Internet van hosts op elk netwerk. Als u uw registers wilt beschermen tegen mogelijke bedreigingen, staat u alleen toegang toe vanaf specifieke privé-eindpunten, openbare IP-adressen of adresbereiken. Als uw register geen netwerkregels heeft geconfigureerd, wordt dit weergegeven in de beschadigde resources. Meer informatie over Container Registry-netwerkregels vindt u hier: https://aka.ms/acr/privatelinken https://aka.ms/acr/portal/public-network https://aka.ms/acr/vnet. | Controleren, Weigeren, Uitgeschakeld | 2.0.0 |
Containerregisters moeten voorkomen dat cacheregels worden gemaakt | Schakel het maken van cacheregels voor uw Azure Container Registry uit om te voorkomen dat er pull-gegevens worden opgehaald uit de cache. Zie voor meer informatie: https://aka.ms/acr/cache. | Controleren, Weigeren, Uitgeschakeld | 1.0.0 |
Containerregisters moeten een privékoppeling gebruiken | Met Azure Private Link kunt u uw virtuele netwerk met services in Azure verbinden zonder een openbaar IP-adres bij de bron of bestemming. Het persoonlijke koppelingsplatform zorgt voor de connectiviteit tussen de consument en de services via het Azure-backbonenetwerk. Als u privé-eindpunten aan uw containerregisters toewijst in plaats van aan de volledige service, bent u ook beschermd tegen gegevenslekken. Zie voor meer informatie: https://aka.ms/acr/private-link. | Controle, uitgeschakeld | 1.0.1 |
Logboekregistratie inschakelen op categoriegroep voor containerregisters (microsoft.containerregistry/registries) naar Event Hub | Resourcelogboeken moeten zijn ingeschakeld om activiteiten en gebeurtenissen bij te houden die plaatsvinden op uw resources en om u inzicht te geven in wijzigingen die zich voordoen. Met dit beleid wordt een diagnostische instelling geïmplementeerd met behulp van een categoriegroep om logboeken te routeren naar een Event Hub voor containerregisters (microsoft.containerregistry/registries). | DeployIfNotExists, AuditIfNotExists, Uitgeschakeld | 1.2.0 |
Logboekregistratie inschakelen op categoriegroep voor containerregisters (microsoft.containerregistry/-registers) naar Log Analytics | Resourcelogboeken moeten zijn ingeschakeld om activiteiten en gebeurtenissen bij te houden die plaatsvinden op uw resources en om u inzicht te geven in wijzigingen die zich voordoen. Met dit beleid wordt een diagnostische instelling geïmplementeerd met behulp van een categoriegroep om logboeken te routeren naar een Log Analytics-werkruimte voor containerregisters (microsoft.containerregistry/registries). | DeployIfNotExists, AuditIfNotExists, Uitgeschakeld | 1.1.0 |
Logboekregistratie inschakelen op categoriegroep voor containerregisters (microsoft.containerregistry/registries) naar Storage | Resourcelogboeken moeten zijn ingeschakeld om activiteiten en gebeurtenissen bij te houden die plaatsvinden op uw resources en om u inzicht te geven in wijzigingen die zich voordoen. Met dit beleid wordt een diagnostische instelling geïmplementeerd met behulp van een categoriegroep om logboeken te routeren naar een opslagaccount voor containerregisters (microsoft.containerregistry/registries). | DeployIfNotExists, AuditIfNotExists, Uitgeschakeld | 1.1.0 |
Openbare netwerktoegang moet worden uitgeschakeld voor containerregisters | Het uitschakelen van openbare netwerktoegang verbetert de beveiliging door ervoor te zorgen dat containerregisters niet worden weergegeven op het openbare internet. Het maken van privé-eindpunten kan de blootstelling van containerregisterbronnen beperken. Meer informatie vindt u op: https://aka.ms/acr/portal/public-network en https://aka.ms/acr/private-link. | Controleren, Weigeren, Uitgeschakeld | 1.0.0 |
Beleidstoewijzingen maken
- Maak beleidstoewijzingen met behulp van Azure Portal, Azure CLI, een Resource Manager-sjabloon of de Azure Policy SDK's.
- Bereik van een beleidstoewijzing voor een resourcegroep, een abonnement of een Azure-beheergroep. Beleidstoewijzingen voor containerregisters zijn van toepassing op bestaande en nieuwe containerregisters binnen het bereik.
- Het afdwingen van beleid op elk gewenst moment in- of uitschakelen.
Notitie
Nadat u een beleidstoewijzing hebt gemaakt of bijgewerkt, duurt het enige tijd voordat de toewijzing resources in het gedefinieerde bereik evalueert. Zie informatie over beleidsevaluatietriggers.
Naleving van beleid controleren
Toegang tot nalevingsgegevens die zijn gegenereerd door uw beleidstoewijzingen met behulp van Azure Portal, Azure-opdrachtregelprogramma's of de Azure Policy SDK's. Zie Nalevingsgegevens van Azure-resources ophalen voor meer informatie.
Wanneer een resource niet-compatibel is, zijn er veel mogelijke redenen. Als u de reden wilt bepalen of de verantwoordelijke wijziging wilt vinden, raadpleegt u Niet-naleving bepalen.
Beleidsnaleving in de portal:
Selecteer Alle services en zoek naar Beleid.
Selecteer Naleving.
Gebruik de filters om nalevingsstatussen te beperken of om te zoeken naar beleid.
Selecteer een beleid om cumulatieve nalevingsdetails en -gebeurtenissen te controleren. Selecteer desgewenst een specifiek register voor resourcecompatibiliteit.
Naleving van beleid in de Azure CLI
U kunt de Azure CLI ook gebruiken om nalevingsgegevens op te halen. Gebruik bijvoorbeeld de opdracht az policy assignment list in de CLI om de beleids-id's op te halen van de Azure Container Registry-beleidsregels die worden toegepast:
az policy assignment list --query "[?contains(displayName,'Container Registries')].{name:displayName, ID:id}" --output table
Voorbeelduitvoer:
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
Voer vervolgens az policy state list uit om de nalevingsstatus met JSON-indeling te retourneren voor alle resources onder een specifieke beleids-id:
az policy state list \
--resource <policyID>
Of voer az policy state list uit om de nalevingsstatus met JSON-indeling van een specifieke registerresource te retourneren, zoals myregistry:
az policy state list \
--resource myregistry \
--namespace Microsoft.ContainerRegistry \
--resource-type registries \
--resource-group myresourcegroup
Volgende stappen
Meer informatie over Azure Policy-definities en -effecten.
Maak een aangepaste beleidsdefinitie.
Meer informatie over governancemogelijkheden in Azure.