Partilhar via


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 para transferir artefatos para outro registo de contentores.

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

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 como disabled). 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 estado do registo como exportPolicy, elimine todos os pipelines de exportação existentes configurados no registo. Se um pipeline estiver configurado, não será possível alterar o exportPolicy status.

Desativar a política de exportação para um registo já existente

Ao criar um registo, o estado é definido como exportPolicy por padrão, o que permite a exportação dos artefatos. Você pode atualizar o status para disabled usando um modelo ARM ou o comando az resource update.

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"  

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 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