Compartilhar via


Desabilitar a exportação de artefatos de um registro de contêiner do Azure

Para impedir que os usuários do repositório em uma organização vazem maliciosa ou acidentalmente artefatos para 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 de API 2021-06-01-preview para registros de contêiner Premium. A propriedade exportPolicy, quando seu status é definido como disabled, bloqueia a exportação de artefatos de um registro de rede restrita quando um usuário tenta:

  • Importar os artefatos do registro para outro registro de contêiner do Azure
  • Cria um pipeline de exportação de registro para transferir artefatos para outro registro de contêiner

Observação

Desabilitar a exportação de artefatos não impede o acesso de usuários autorizados ao registro na rede virtual para baixar artefatos ou realizar outras operações no plano de dados. Para auditar este uso, recomendamos que você configure as configurações de diagnóstico para monitorar operações de registro.

Pré-requisitos

Outros requisitos para desabilitar 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 registro publicNetworkAccess deve ser definida como disabled). Você pode desabilitar o acesso à rede pública para o registro antes de desabilitar a exportação ou desabilitá-la ao mesmo tempo.

    Ao desabilitar o acesso ao ponto de extremidade público do registro, você garante que as operações de registro sejam autorizadas somente dentro da rede virtual. O acesso público ao registro para extrair artefatos e executar outras operações é proibido.

  • Remover pipelines de exportação - Antes de definir o exportPolicy status disabled do registro para excluir todos os pipelines de exportação existentes configurados no registro. Caso um pipeline esteja configurado, você não pode alterar o status exportPolicy.

Desabilitar a exportPolicy para um registro existente

Ao criar um registro, o status exportPolicy é definido como enabled por padrão, o que permite que artefatos sejam exportados. Você pode atualizar o status para disabled usando o modelo do ARM ou o comando az resource update.

modelo do ARM

Incluir o JSON a seguir para atualizar o status exportPolicy e definir a propriedade publicNetworkAccess como disabled. Saiba mais sobre como implantar recursos a partir de um modelo do ARM.

{
[...]
"resources": [
    {
    "type": "Microsoft.ContainerRegistry/registries",
    "apiVersion": "2021-06-01-preview",
    "name": "myregistry",
    [...]
    "properties": {
      "publicNetworkAccess": "disabled",
      "policies": {
        "exportPolicy": {
          "status": "disabled"
         }
      }
      }
    }
]
[...]
}

CLI do Azure

Executar az resource update para definir o status exportPolicy em um registro existente como disabled. Substitua os nomes do registro e do grupo de recursos.

Conforme mostrado neste exemplo, ao desabilitar a propriedade exportPolicy defina também a propriedade publicNetworkAccess 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": "2023-07-20T23:20:30.9985256+00:00",
        "status": "disabled"
      },
      "trustPolicy": {
        "status": "disabled",
        "type": "Notary"
      },
    "privateEndpointConnections": [],
    "provisioningState": "Succeeded",
    "publicNetworkAccess": "Disabled",
    "zoneRedundancy": "Disabled"
[...]
}

Habilitar política de exportação

Após desabilitar o status exportPolicy no registro, é possível habilitá-lo novamente a qualquer momento usando um modelo do ARM ou o comando az resource update.

modelo do ARM

Incluir o JSON a seguir para atualizar o status exportPolicy como enabled. Saiba mais sobre como implantar recursos a partir de modelos do ARM

{
[...]
"resources": [
    {
    "type": "Microsoft.ContainerRegistry/registries",
    "apiVersion": "2021-06-01-preview",
    "name": "myregistry",
    [...]
    "properties": {
     "policies": {
        "exportPolicy": {
          "status": "enabled"
         }
      }
      }
    }
]
[...]
}

CLI do Azure

Executar az resource update para definir o status exportPolicy como enabled. Substitua os nomes do seu registro e do seu 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óximas etapas