Zakázání exportu artefaktů z registru kontejneru Azure
Pokud chcete zabránit uživatelům registru v organizaci, aby zlými úmysly nebo neúmyslně unikly artefakty mimo virtuální síť, můžete nakonfigurovat zásady exportu registru tak, aby zakázaly exporty.
Zásady exportu jsou vlastností zavedenou v rozhraní API verze 2021-06-01-preview pro registry kontejnerů Premium. Vlastnost exportPolicy
, pokud je jeho stav nastaven na disabled
, blokuje export artefaktů z registru s omezenými sítěmi, když se uživatel pokusí:
- Import artefaktů registru do jiného registru kontejneru Azure
- Vytvoření kanálu exportu registru pro přenos artefaktů do jiného registru kontejneru
Poznámka:
Zakázání exportu artefaktů nezabrání přístupu autorizovaných uživatelů k registru v rámci virtuální sítě za účelem vyžádání artefaktů nebo provádění jiných operací roviny dat. Pokud chcete toto použití auditovat, doporučujeme nakonfigurovat nastavení diagnostiky pro monitorování operací registru.
Požadavky
- Registr kontejneru Premium nakonfigurovaný s privátním koncovým bodem.
Použijte prostředí Bash v Azure Cloud Shellu. Další informace najdete v tématu Rychlý start pro Bash v Azure Cloud Shellu.
Pokud dáváte přednost místnímu spouštění referenčních příkazů rozhraní příkazového řádku, nainstalujte Azure CLI. Pokud používáte Windows nebo macOS, zvažte spuštění Azure CLI v kontejneru Docker. Další informace najdete v tématu Jak spustit Azure CLI v kontejneru Dockeru.
Pokud používáte místní instalaci, přihlaste se k Azure CLI pomocí příkazu az login. Pokud chcete dokončit proces ověřování, postupujte podle kroků zobrazených na terminálu. Další možnosti přihlášení najdete v tématu Přihlášení pomocí Azure CLI.
Po zobrazení výzvy nainstalujte rozšíření Azure CLI při prvním použití. Další informace o rozšířeních najdete v tématu Využití rozšíření v Azure CLI.
Spuštěním příkazu az version zjistěte verzi a závislé knihovny, které jsou nainstalované. Pokud chcete upgradovat na nejnovější verzi, spusťte az upgrade.
Další požadavky na zakázání exportů
Zakázat přístup k veřejné síti – Chcete-li zakázat export artefaktů, musí být zakázán také veřejný přístup k registru (vlastnost registru
publicNetworkAccess
musí být nastavena nadisabled
hodnotu ). Přístup k veřejné síti k registru můžete zakázat před zakázáním exportu nebo jeho zakázáním současně.Zakázáním přístupu k veřejnému koncovému bodu registru zajistíte, že operace registru jsou povolené jenom ve virtuální síti. Veřejný přístup k registru pro vyžádání artefaktů a provádění dalších operací je zakázán.
Odeberte kanály exportu – Před nastavením stavu
disabled
registruexportPolicy
odstraňte všechny existující kanály exportu nakonfigurované v registru. Pokud je kanál nakonfigurovaný, nemůžete změnitexportPolicy
stav.
Zakázání exportPolicy pro existující registr
Při vytváření registru exportPolicy
se stav nastaví na enabled
výchozí hodnotu, což umožňuje export artefaktů. Stav můžete aktualizovat pomocí disabled
šablony ARM nebo az resource update
příkazu.
Šablona ARM
Zahrňte následující KÓD JSON pro aktualizaci exportPolicy
stavu a nastavte publicNetworkAccess
vlastnost na disabled
. Přečtěte si další informace o nasazování prostředků pomocí šablon ARM.
{
[...]
"resources": [
{
"type": "Microsoft.ContainerRegistry/registries",
"apiVersion": "2021-06-01-preview",
"name": "myregistry",
[...]
"properties": {
"publicNetworkAccess": "disabled",
"policies": {
"exportPolicy": {
"status": "disabled"
}
}
}
}
]
[...]
}
Azure CLI
Spuštěním příkazu az resource update nastavte exportPolicy
stav v existujícím registru na disabled
. Nahraďte názvy registru a skupiny prostředků.
Jak je znázorněno v tomto příkladu exportPolicy
, při zakázání vlastnosti také nastavte publicNetworkAccess
vlastnost na disabled
.
az resource update --resource-group myResourceGroup \
--name myregistry \
--resource-type "Microsoft.ContainerRegistry/registries" \
--api-version "2021-06-01-preview" \
--set "properties.policies.exportPolicy.status=disabled" \
--set "properties.publicNetworkAccess=disabled"
Výstup ukazuje, že stav zásad exportu je zakázaný.
{
"id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myregistry",
"identity": null,
"kind": null,
"location": "centralus",
"managedBy": null,
"name": "myregistry",
"plan": null,
"properties": {
[...]
"policies": {
"exportPolicy": {
"status": "disabled"
},
"quarantinePolicy": {
"status": "disabled"
},
"retentionPolicy": {
"days": 7,
"lastUpdatedTime": "2021-07-20T23:20:30.9985256+00:00",
"status": "disabled"
},
"trustPolicy": {
"status": "disabled",
"type": "Notary"
},
"privateEndpointConnections": [],
"provisioningState": "Succeeded",
"publicNetworkAccess": "Disabled",
"zoneRedundancy": "Disabled"
[...]
}
Povolení exportPolicy
Po zakázání exportPolicy
stavu v registru ho můžete kdykoli znovu povolit pomocí šablony ARM nebo az resource update
příkazu.
Šablona ARM
Zahrňte následující KÓD JSON pro aktualizaci exportPolicy
stavu na enabled
. Další informace o nasazování prostředků pomocí šablon ARM
{
[...]
"resources": [
{
"type": "Microsoft.ContainerRegistry/registries",
"apiVersion": "2021-06-01-preview",
"name": "myregistry",
[...]
"properties": {
"policies": {
"exportPolicy": {
"status": "enabled"
}
}
}
}
]
[...]
}
Azure CLI
Spuštěním příkazu az resource update nastavte exportPolicy
stav na enabled
. Nahraďte názvy registru a skupiny prostředků.
az resource update --resource-group myResourceGroup \
--name myregistry \
--resource-type "Microsoft.ContainerRegistry/registries" \
--api-version "2021-06-01-preview" \
--set "properties.policies.exportPolicy.status=enabled"
Další kroky
- Seznamte se s rolemi a oprávněními služby Azure Container Registry.
- Pokud chcete zabránit náhodnému odstranění artefaktů registru, přečtěte si téma Uzamčení imagí kontejneru.
- Informace o integrovaných zásadách Azure pro zabezpečení registru kontejnerů Azure