Audit dodržování předpisů registrů kontejnerů Azure s využitím služby Azure Policy

Azure Policy je služba v Azure, kterou používáte k vytváření, přiřazování a správě definic zásad. Tyto definice zásad vynucují různá pravidla a účinky u vašich prostředků, takže tyto prostředky zůstanou v souladu s vašimi firemními standardy a smlouvami o úrovni služeb.

Tento článek představuje předdefinované definice zásad pro Azure Container Registry. Pomocí těchto definic můžete auditovat nové a stávající registry pro zajištění dodržování předpisů.

Za používání služby Azure Policy se neúčtují žádné poplatky.

Předdefinované definice zásad

Následující předdefinované definice zásad jsou specifické pro Službu Azure Container Registry:

Název
(Azure Portal)
Popis Účinek Verze
(GitHub)
[Preview]: Container Registry by měl být zónově redundantní. Služba Container Registry může být nakonfigurovaná tak, aby byla zónově redundantní nebo ne. Pokud je vlastnost zoneRedundancy pro container Registry nastavena na Disabled, znamená to, že registr není zónově redundantní. Vynucení této zásady pomáhá zajistit, aby služba Container Registry byla správně nakonfigurovaná pro odolnost zón a snížila riziko výpadků během výpadků zóny. Audit, Odepřít, Zakázáno 1.0.0-preview
[Preview]: Container Registry by měl používat koncový bod služby virtuální sítě. Tato zásada audituje všechny služby Container Registry, které nejsou nakonfigurované tak, aby používaly koncový bod služby virtuální sítě. Audit, zakázáno 1.0.0-preview
Image kontejnerů Azure Registry by měly mít vyřešené chyby zabezpečení (s využitím Microsoft Defender Správa zranitelností) Posouzení ohrožení zabezpečení image kontejneru kontroluje běžně známá ohrožení zabezpečení (CVE) ve vašem registru a poskytuje podrobnou zprávu o ohrožení zabezpečení pro každou image. Řešení ohrožení zabezpečení může výrazně zlepšit stav zabezpečení a zajistit bezpečné použití imagí před nasazením. AuditIfNotExists, zakázáno 1.0.1
Nakonfigurujte registry kontejnerů tak, aby zakázaly anonymní ověřování. Zakažte anonymní přijetí změn pro váš registr, aby data nebyla přístupná neověřeným uživatelem. Zakázání místních metod ověřování, jako je uživatel s oborem správce, přístupové tokeny v oboru úložiště a anonymní vyžádání změn, zvyšuje zabezpečení tím, že zajistí, aby registry kontejnerů k ověřování výhradně vyžadovaly identity Azure Active Directory. Další informace najdete tady: https://aka.ms/acr/authentication. Upravit, zakázáno 1.0.0
Nakonfigurujte registry kontejnerů tak, aby zakázaly ověřování tokenů cílové skupiny ARM. Zakažte tokeny cílové skupiny Azure Active Directory PRO ověřování ve vašem registru. K ověřování se použijí pouze tokeny cílové skupiny Azure Container Registry (ACR). Tím zajistíte, že se k ověřování dají použít pouze tokeny určené pro použití v registru. Zakázání tokenů cílové skupiny ARM nemá vliv na ověřování přístupových tokenů uživatele s oborem nebo správcem. Další informace najdete tady: https://aka.ms/acr/authentication. Upravit, zakázáno 1.0.0
Nakonfigurujte registry kontejnerů tak, aby zakázaly účet místního správce. Zakažte účet správce pro váš registr, aby nebyl přístupný místním správcem. Zakázání místních metod ověřování, jako je uživatel s oborem správce, přístupové tokeny v oboru úložiště a anonymní vyžádání změn, zvyšuje zabezpečení tím, že zajistí, aby registry kontejnerů k ověřování výhradně vyžadovaly identity Azure Active Directory. Další informace najdete tady: https://aka.ms/acr/authentication. Upravit, zakázáno 1.0.1
Konfigurace registrů kontejnerů pro zakázání přístupu k veřejné síti Zakažte přístup k veřejné síti pro prostředek Container Registry, aby nebyl přístupný přes veřejný internet. To může snížit riziko úniku dat. Další informace najdete na https://aka.ms/acr/portal/public-network adrese a https://aka.ms/acr/private-link. Upravit, zakázáno 1.0.0
Nakonfigurujte registry kontejnerů tak, aby zakázaly přístupový token s vymezeným oborem úložiště. Zakažte přístupové tokeny s vymezeným oborem úložiště pro váš registr, aby úložiště nebyla přístupná tokeny. Zakázání místních metod ověřování, jako je uživatel s oborem správce, přístupové tokeny v oboru úložiště a anonymní vyžádání změn, zvyšuje zabezpečení tím, že zajistí, aby registry kontejnerů k ověřování výhradně vyžadovaly identity Azure Active Directory. Další informace najdete tady: https://aka.ms/acr/authentication. Upravit, zakázáno 1.0.0
Konfigurace registrů kontejnerů s využitím privátních koncových bodů Privátní koncové body připojují vaši virtuální síť ke službám Azure bez veřejné IP adresy ve zdroji nebo cíli. Mapováním privátních koncových bodů na prostředky registru kontejneru Premium můžete snížit rizika úniku dat. Další informace najdete v: https://aka.ms/privateendpoints a https://aka.ms/acr/private-link. DeployIfNotExists, zakázáno 1.0.0
Registry kontejnerů by se měly šifrovat pomocí klíče spravovaného zákazníkem. Ke správě šifrování zbývajícího obsahu vašich registrů použijte klíče spravované zákazníkem. Ve výchozím nastavení se neaktivní uložená data šifrují pomocí klíčů spravovaných službou, ale klíče spravované zákazníkem se běžně vyžadují ke splnění standardů dodržování právních předpisů. Klíče spravované zákazníkem umožňují šifrování dat pomocí klíče služby Azure Key Vault vytvořeného a vlastněného vámi. Máte plnou kontrolu nad klíčovým životním cyklem, včetně obměně a správy. Další informace najdete na adrese https://aka.ms/acr/CMK. Audit, Odepřít, Zakázáno 1.1.2
Registry kontejnerů by měly mít zakázané anonymní ověřování. Zakažte anonymní přijetí změn pro váš registr, aby data nebyla přístupná neověřeným uživatelem. Zakázání místních metod ověřování, jako je uživatel s oborem správce, přístupové tokeny v oboru úložiště a anonymní vyžádání změn, zvyšuje zabezpečení tím, že zajistí, aby registry kontejnerů k ověřování výhradně vyžadovaly identity Azure Active Directory. Další informace najdete tady: https://aka.ms/acr/authentication. Audit, Odepřít, Zakázáno 1.0.0
Registry kontejnerů by měly mít zakázané ověřování tokenů cílové skupiny ARM. Zakažte tokeny cílové skupiny Azure Active Directory PRO ověřování ve vašem registru. K ověřování se použijí pouze tokeny cílové skupiny Azure Container Registry (ACR). Tím zajistíte, že se k ověřování dají použít pouze tokeny určené pro použití v registru. Zakázání tokenů cílové skupiny ARM nemá vliv na ověřování přístupových tokenů uživatele s oborem nebo správcem. Další informace najdete tady: https://aka.ms/acr/authentication. Audit, Odepřít, Zakázáno 1.0.0
Registry kontejnerů by měly mít zakázané exporty. Zakázání exportů zlepšuje zabezpečení tím, že zajišťuje přístup k datům v registru výhradně prostřednictvím roviny dat (docker pull). Data nelze přesunout z registru prostřednictvím příkazu acr import nebo prostřednictvím přenosu acr. Aby bylo možné zakázat exporty, musí být zakázaný přístup k veřejné síti. Další informace najdete tady: https://aka.ms/acr/export-policy. Audit, Odepřít, Zakázáno 1.0.0
Registry kontejnerů by měly mít zakázaný účet místního správce. Zakažte účet správce pro váš registr, aby nebyl přístupný místním správcem. Zakázání místních metod ověřování, jako je uživatel s oborem správce, přístupové tokeny v oboru úložiště a anonymní vyžádání změn, zvyšuje zabezpečení tím, že zajistí, aby registry kontejnerů k ověřování výhradně vyžadovaly identity Azure Active Directory. Další informace najdete tady: https://aka.ms/acr/authentication. Audit, Odepřít, Zakázáno 1.0.1
Registry kontejnerů by měly mít zakázaný přístupový token s vymezeným oborem úložiště. Zakažte přístupové tokeny s vymezeným oborem úložiště pro váš registr, aby úložiště nebyla přístupná tokeny. Zakázání místních metod ověřování, jako je uživatel s oborem správce, přístupové tokeny v oboru úložiště a anonymní vyžádání změn, zvyšuje zabezpečení tím, že zajistí, aby registry kontejnerů k ověřování výhradně vyžadovaly identity Azure Active Directory. Další informace najdete tady: https://aka.ms/acr/authentication. Audit, Odepřít, Zakázáno 1.0.0
Registry kontejnerů by měly mít skladové položky, které podporují službu Private Links. Azure Private Link umožňuje připojit virtuální síť ke službám Azure bez veřejné IP adresy ve zdroji nebo cíli. Platforma private link zpracovává připojení mezi příjemcem a službami přes páteřní síť Azure. Mapováním privátních koncových bodů na registry kontejnerů místo celé služby se sníží riziko úniku dat. Další informace najdete tady: https://aka.ms/acr/private-link. Audit, Odepřít, Zakázáno 1.0.0
Registry kontejnerů by neměly umožňovat neomezený síťový přístup Registry kontejnerů Azure ve výchozím nastavení přijímají připojení přes internet z hostitelů v libovolné síti. Pokud chcete chránit registry před potenciálními hrozbami, povolte přístup jenom z konkrétních privátních koncových bodů, veřejných IP adres nebo rozsahů adres. Pokud váš registr nemá nakonfigurovaná pravidla sítě, zobrazí se v prostředcích, které nejsou v pořádku. Další informace o pravidlech sítě služby Container Registry najdete tady: https://aka.ms/acr/portal/public-networkhttps://aka.ms/acr/privatelinka .https://aka.ms/acr/vnet Audit, Odepřít, Zakázáno 2.0.0
Registry kontejnerů by měly zabránit vytvoření pravidla mezipaměti. Zakažte vytváření pravidel mezipaměti pro službu Azure Container Registry, abyste zabránili načítání mezipamětí. Další informace najdete tady: https://aka.ms/acr/cache. Audit, Odepřít, Zakázáno 1.0.0
Registry kontejnerů by měly používat privátní propojení. Azure Private Link umožňuje připojit virtuální síť ke službám Azure bez veřejné IP adresy ve zdroji nebo cíli. Platforma private link zpracovává připojení mezi příjemcem a službami přes páteřní síť Azure. Mapováním privátních koncových bodů na vaše registry kontejnerů místo celé služby budete také chráněni před riziky úniku dat. Další informace najdete tady: https://aka.ms/acr/private-link. Audit, zakázáno 1.0.1
Povolení protokolování podle skupiny kategorií pro registry kontejnerů (microsoft.containerregistry/registry) do centra událostí Protokoly prostředků by měly být povolené ke sledování aktivit a událostí, které probíhají u vašich prostředků, a poskytují přehled o všech změnách, ke kterým dochází. Tato zásada nasadí nastavení diagnostiky pomocí skupiny kategorií pro směrování protokolů do centra událostí pro registry kontejnerů (microsoft.containerregistry/registry). DeployIfNotExists, AuditIfNotExists, Disabled 1.2.0
Povolení protokolování podle skupiny kategorií pro registry kontejnerů (microsoft.containerregistry/registry) do Log Analytics Protokoly prostředků by měly být povolené ke sledování aktivit a událostí, které probíhají u vašich prostředků, a poskytují přehled o všech změnách, ke kterým dochází. Tato zásada nasadí nastavení diagnostiky pomocí skupiny kategorií pro směrování protokolů do pracovního prostoru služby Log Analytics pro registry kontejnerů (microsoft.containerregistry/registry). DeployIfNotExists, AuditIfNotExists, Disabled 1.1.0
Povolení protokolování podle skupiny kategorií pro registry kontejnerů (microsoft.containerregistry/registry) do služby Storage Protokoly prostředků by měly být povolené ke sledování aktivit a událostí, které probíhají u vašich prostředků, a poskytují přehled o všech změnách, ke kterým dochází. Tato zásada nasadí nastavení diagnostiky pomocí skupiny kategorií pro směrování protokolů do účtu úložiště pro registry kontejnerů (microsoft.containerregistry/registry). DeployIfNotExists, AuditIfNotExists, Disabled 1.1.0
Přístup k veřejné síti by měl být pro registry kontejnerů zakázaný. Zakázání přístupu k veřejné síti zlepšuje zabezpečení tím, že zajišťuje, aby se registry kontejnerů nezpřístupněly na veřejném internetu. Vytváření privátních koncových bodů může omezit vystavení prostředků registru kontejnerů. Další informace najdete v: https://aka.ms/acr/portal/public-network a https://aka.ms/acr/private-link. Audit, Odepřít, Zakázáno 1.0.0

Vytváření přiřazení zásad

Poznámka:

Po vytvoření nebo aktualizaci přiřazení zásady chvíli trvá, než přiřazení vyhodnotí prostředky v definovaném oboru. Přečtěte si informace o triggerech vyhodnocení zásad.

Kontrola dodržování zásad

Přístup k informacím o dodržování předpisů generovaným přiřazeními zásad pomocí webu Azure Portal, nástrojů příkazového řádku Azure nebo sad SDK služby Azure Policy. Podrobnosti najdete v tématu Získání dat dodržování předpisů o prostředcích Azure.

Pokud prostředek nedodržuje předpisy, existuje mnoho možných důvodů. Pokud chcete zjistit důvod nebo najít zodpovědnou změnu, přečtěte si téma Určení nedodržování předpisů.

Dodržování zásad na portálu:

  1. Vyberte Všechny služby a vyhledejte zásady.

  2. Vyberte Dodržování předpisů.

  3. Pomocí filtrů omezte stavy dodržování předpisů nebo vyhledejte zásady.

    Dodržování zásad na portálu

  4. Vyberte zásadu, abyste zkontrolovali agregované podrobnosti a události dodržování předpisů. V případě potřeby vyberte konkrétní registr pro dodržování předpisů prostředků.

Dodržování zásad v Azure CLI

K získání dat dodržování předpisů můžete použít také Azure CLI. Pomocí příkazu az policy assignment list v rozhraní příkazového řádku můžete například získat ID zásad použitých zásad služby Azure Container Registry:

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

Ukázkový výstup:

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

Potom spuštěním příkazu az policy state list vrátíte stav dodržování předpisů ve formátu JSON pro všechny prostředky v rámci konkrétního ID zásad:

az policy state list \
  --resource <policyID>

Nebo spuštěním příkazu az policy state list vrátíte stav dodržování předpisů ve formátu JSON konkrétního prostředku registru, například myregistry:

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

Další kroky