Desabilitar a exportação de artefatos de um registro de contêiner do Azure
Para evitar que os usuários do Registro em uma organização vazem artefatos de forma maliciosa ou acidental fora de uma rede virtual, você pode configurar a política de exportação do Registro para desabilitar as exportações.
A política de exportação é uma propriedade introduzida na versão da API 2021-06-01-preview para registros de contêiner Premium. A exportPolicy
propriedade, quando seu status é definido como disabled
, bloqueia a exportação de artefatos de um registro restrito à rede quando um usuário tenta:
- Importar os artefatos do Registro para outro registro de contêiner do Azure
- Criar um pipeline de exportação do Registro para transferir artefatos para outro registro de contêiner
Nota
A desativação da exportação de artefatos não impede o acesso de usuários autorizados ao registro dentro da rede virtual para extrair artefatos ou executar outras operações de plano de dados. Para auditar esse uso, recomendamos que você defina as configurações de diagnóstico para monitorar as operações do Registro.
Pré-requisitos
- Um registro de contêiner Premium configurado com um ponto de extremidade privado.
Use o ambiente Bash no Azure Cloud Shell. Para obter mais informações, consulte Guia de início rápido para 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, consulte Como executar a CLI do Azure em um contêiner 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 entrada, consulte Entrar com a CLI do Azure.
Quando solicitado, 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
Desabilitar o acesso à rede pública - Para desabilitar a exportação de artefatos, o acesso público ao Registro também deve ser desabilitado (a propriedade do
publicNetworkAccess
Registro deve ser definida comodisabled
). Você pode desabilitar o acesso de rede pública ao registro antes de desabilitar a exportação ou desativá-lo ao mesmo tempo.Ao desativar o acesso ao ponto de extremidade público do Registro, você garante que as operações do Registro sejam permitidas somente dentro da rede virtual. O acesso público ao registo para extrair artefactos e realizar outras operações é proibido.
Remover pipelines de exportação - Antes de definir o status do Registro como
disabled
, exclua todos os pipelinesexportPolicy
de exportação existentes configurados no Registro. Se um pipeline estiver configurado, não será possível alterar oexportPolicy
status.
Desabilitar exportPolicy para um registro existente
Quando você cria um registro, o status é definido como enabled
por padrão, o exportPolicy
que permite que os artefatos sejam exportados. Você pode atualizar o status usando disabled
um modelo ARM ou o az resource update
comando.
Modelo ARM
Inclua o JSON a seguir para atualizar o exportPolicy
status e definir a publicNetworkAccess
propriedade como disabled
. Saiba mais sobre como implantar 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
status em um registro existente como disabled
. Substitua os nomes do seu registo e grupo de recursos.
Como mostrado neste exemplo, ao desabilitar 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"
A saída mostra que o status da política de exportação está desabilitado.
{
"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
status em um registro, você pode reativá-lo a qualquer momento usando um modelo ARM ou o az resource update
comando.
Modelo ARM
Inclua o JSON a seguir para atualizar o exportPolicy
status para enabled
. Saiba mais sobre como implantar recursos com modelos 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
status 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"
Próximos passos
- Saiba mais sobre as funções e permissões do Registro de Contêiner do Azure.
- Se você quiser evitar a exclusão acidental de artefatos do Registro, consulte Bloquear imagens de contêiner.
- Saiba mais sobre as políticas internas do Azure para proteger seu registro de contêiner do Azure