Inaktivera export av artefakter från ett Azure-containerregister
Om du vill förhindra att registeranvändare i en organisation oavsiktligt läcker artefakter utanför ett virtuellt nätverk kan du konfigurera registrets exportprincip för att inaktivera exporter.
Exportprincip är en egenskap som introduceras i API-version 2021-06-01-preview för Premium-containerregister. När exportPolicy
dess status är inställd på disabled
blockerar egenskapen export av artefakter från ett nätverksbegränsat register när en användare försöker:
- Importera registrets artefakter till ett annat Azure-containerregister
- Skapa en pipeline för registerexport för att överföra artefakter till ett annat containerregister
Kommentar
Om du inaktiverar export av artefakter förhindras inte behöriga användares åtkomst till registret i det virtuella nätverket för att hämta artefakter eller utföra andra dataplansåtgärder. Om du vill granska den här användningen rekommenderar vi att du konfigurerar diagnostikinställningar för att övervaka registeråtgärder.
Förutsättningar
- Ett Premium-containerregister som konfigurerats med en privat slutpunkt.
Använd Bash-miljön i Azure Cloud Shell. Mer information finns i Snabbstart för Bash i Azure Cloud Shell.
Om du föredrar att köra CLI-referenskommandon lokalt installerar du Azure CLI. Om du kör i Windows eller macOS kan du köra Azure CLI i en Docker-container. Mer information finns i Så här kör du Azure CLI i en Docker-container.
Om du använder en lokal installation loggar du in på Azure CLI med hjälp av kommandot az login. Slutför autentiseringsprocessen genom att följa stegen som visas i terminalen. Andra inloggningsalternativ finns i Logga in med Azure CLI.
När du uppmanas att installera Azure CLI-tillägget vid första användningen. Mer information om tillägg finns i Använda tillägg med Azure CLI.
Kör az version om du vill hitta versionen och de beroende bibliotek som är installerade. Om du vill uppgradera till den senaste versionen kör du az upgrade.
Andra krav för att inaktivera exporter
Inaktivera åtkomst till offentligt nätverk – Om du vill inaktivera export av artefakter måste även offentlig åtkomst till registret inaktiveras (registrets
publicNetworkAccess
egenskap måste vara inställd pådisabled
). Du kan inaktivera åtkomsten till det offentliga nätverket till registret innan du inaktiverar exporten eller inaktiverar den samtidigt.Genom att inaktivera åtkomst till registrets offentliga slutpunkt ser du till att registeråtgärder endast tillåts i det virtuella nätverket. Offentlig åtkomst till registret för att hämta artefakter och utföra andra åtgärder är förbjuden.
Ta bort exportpipelines – Innan du anger registrets
exportPolicy
status tilldisabled
tar du bort alla befintliga exportpipelines som konfigurerats i registret. Om en pipeline har konfigurerats kan du inte ändra statusenexportPolicy
.
Inaktivera exportPolicy för ett befintligt register
När du skapar ett register anges statusen exportPolicy
till enabled
som standard, vilket tillåter att artefakter exporteras. Du kan uppdatera statusen till disabled
med hjälp av en ARM-mall eller az resource update
kommandot .
ARM-mall
Inkludera följande JSON för att uppdatera statusen exportPolicy
och ange egenskapen publicNetworkAccess
till disabled
. Läs mer om att distribuera resurser med ARM-mallar.
{
[...]
"resources": [
{
"type": "Microsoft.ContainerRegistry/registries",
"apiVersion": "2021-06-01-preview",
"name": "myregistry",
[...]
"properties": {
"publicNetworkAccess": "disabled",
"policies": {
"exportPolicy": {
"status": "disabled"
}
}
}
}
]
[...]
}
Azure CLI
Kör az resource update för att ange statusen exportPolicy
i ett befintligt register till disabled
. Ersätt namnen på registret och resursgruppen.
Som du ser i det här exemplet, när du inaktiverar exportPolicy
egenskapen, anger publicNetworkAccess
du även egenskapen till 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"
Utdata visar att exportprincipstatusen är inaktiverad.
{
"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"
[...]
}
Aktivera exportPolicy
När du har inaktiverat statusen exportPolicy
i ett register kan du aktivera den igen när som helst med hjälp av en ARM-mall eller az resource update
kommandot .
ARM-mall
Inkludera följande JSON för att uppdatera statusen exportPolicy
till enabled
. Läs mer om att distribuera resurser med ARM-mallar
{
[...]
"resources": [
{
"type": "Microsoft.ContainerRegistry/registries",
"apiVersion": "2021-06-01-preview",
"name": "myregistry",
[...]
"properties": {
"policies": {
"exportPolicy": {
"status": "enabled"
}
}
}
}
]
[...]
}
Azure CLI
Kör az resource update för att ange statusen exportPolicy
till enabled
. Ersätt namnen på registret och resursgruppen.
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"
Nästa steg
- Läs mer om Roller och behörigheter för Azure Container Registry.
- Om du vill förhindra oavsiktlig borttagning av registerartefakter kan du läsa Lås containeravbildningar.
- Lär dig mer om inbyggda Azure-principer för att skydda ditt Azure-containerregister