Desativar a exportação de artefactos de um registo de contentor do Azure
Para impedir que os utilizadores do registo numa organização façam fugas maliciosas ou acidentais de artefactos fora de uma rede virtual, pode configurar a política de exportação do registo para desativar as exportações.
A política de exportação é uma propriedade introduzida na versão de API 2021-06-01-preview para registos de contentores Premium. A exportPolicy
propriedade, quando o respetivo estado está definido como , bloqueia a disabled
exportação de artefactos de um registo restrito à rede quando um utilizador tenta:
- Importar os artefactos do registo para outro registo de contentor do Azure
- Criar um pipeline de exportação de registo para transferir artefactos para outro registo de contentor
Nota
A desativação da exportação de artefactos não impede o acesso dos utilizadores autorizados ao registo na rede virtual para solicitar artefactos ou realizar outras operações de plano de dados. Para auditar esta utilização, recomendamos que configure as definições de diagnóstico para monitorizar as operações de registo.
Pré-requisitos
- Um registo de contentor Premium configurado com um ponto final privado.
Utilize o ambiente bash no Azure Cloud Shell. Para obter mais informações, veja Início Rápido do Bash no Azure Cloud Shell.
Se preferir executar comandos de referência da CLI localmente, instale a CLI do Azure. Se estiver a utilizar o Windows ou macOS, considere executar a CLI do Azure num contentor Docker. Para obter mais informações, veja Como executar a CLI do Azure num contentor do Docker.
Se estiver a utilizar uma instalação local, inicie sessão no CLI do Azure ao utilizar o comando az login. Para concluir o processo de autenticação, siga os passos apresentados no seu terminal. Para outras opções de início de sessão, veja Iniciar sessão com a CLI do Azure.
Quando lhe for pedido, instale a extensão da CLI do Azure na primeira utilização. Para obter mais informações sobre as extensões, veja Utilizar extensões com o CLI do Azure.
Execute o comando az version para localizar a versão e as bibliotecas dependentes instaladas. Para atualizar para a versão mais recente, execute o comando az upgrade.
Outros requisitos para desativar as exportações
Desativar o acesso à rede pública – para desativar a exportação de artefactos, o acesso público ao registo também tem de ser desativado (a propriedade do registo tem de
publicNetworkAccess
estar definida comodisabled
). Pode desativar o acesso de rede pública ao registo antes de desativar a exportação ou desativar ao mesmo tempo.Ao desativar o acesso ao ponto final público do registo, certifique-se de que as operações de registo são permitidas apenas na rede virtual. O acesso público ao registo para solicitar artefactos e realizar outras operações é proibido.
Remover pipelines de exportação – antes de definir o estado do
exportPolicy
registo comodisabled
, elimine todos os pipelines de exportação existentes configurados no registo. Se um pipeline estiver configurado, não poderá alterar oexportPolicy
estado.
Desativar exportPolicy para um registo existente
Quando cria um registo, o exportPolicy
estado está definido como enabled
por predefinição, o que permite exportar artefactos. Pode atualizar o estado para disabled
utilizar um modelo do ARM ou o az resource update
comando.
Modelo ARM
Inclua o seguinte JSON para atualizar o exportPolicy
estado e definir a publicNetworkAccess
propriedade como disabled
. Saiba mais sobre como implementar recursos com modelos arm.
{
[...]
"resources": [
{
"type": "Microsoft.ContainerRegistry/registries",
"apiVersion": "2021-06-01-preview",
"name": "myregistry",
[...]
"properties": {
"publicNetworkAccess": "disabled",
"policies": {
"exportPolicy": {
"status": "disabled"
}
}
}
}
]
[...]
}
CLI do Azure
Execute az resource update para definir o exportPolicy
estado num registo existente como disabled
. Substitua os nomes do seu registo e grupo de recursos.
Conforme mostrado neste exemplo, ao desativar a exportPolicy
propriedade, defina também a publicNetworkAccess
propriedade como 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"
O resultado mostra que o estado da política de exportação está desativado.
{
"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"
[...]
}
Ativar exportPolicy
Depois de desativar o exportPolicy
estado num registo, pode ativá-lo novamente em qualquer altura através de um modelo do ARM ou do az resource update
comando.
Modelo ARM
Inclua o seguinte JSON para atualizar o exportPolicy
estado para enabled
. Saiba mais sobre como implementar recursos com modelos do ARM
{
[...]
"resources": [
{
"type": "Microsoft.ContainerRegistry/registries",
"apiVersion": "2021-06-01-preview",
"name": "myregistry",
[...]
"properties": {
"policies": {
"exportPolicy": {
"status": "enabled"
}
}
}
}
]
[...]
}
CLI do Azure
Execute az resource update para definir o exportPolicy
estado como enabled
. Substitua os nomes do seu registo e grupo de recursos.
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"
Passos seguintes
- Saiba mais sobre Azure Container Registry funções e permissões.
- Se quiser evitar a eliminação acidental de artefactos de registo, veja Bloquear imagens de contentor.
- Saiba mais sobre as políticas incorporadas do Azure para proteger o registo de contentores do Azure