Partager via


Azure Container Registry atténuation de l’exfiltration des données avec des points de terminaison de données dédiés

Azure Container Registry introduit des points de terminaison de données dédiés. La fonctionnalité active des règles de pare-feu client étroitement délimitées pour des registres spécifiques, réduisant ainsi les problèmes d’exfiltration des données.

La fonctionnalité points de terminaison de données dédiés est disponible dans le niveau de service Premium . Pour plus d’informations sur la tarification, consultez container-registry-pricing.

L’extraction de contenu à partir d’un Registre implique deux points de terminaison :

Point de terminaison du Registre, souvent appelé URL de connexion, utilisé pour l’authentification et la découverte de contenu. Une commande comme docker pull contoso.azurecr.io/hello-world effectue une requête REST, qui authentifie et négocie les couches, qui représentent l’artefact demandé. Les points de terminaison de données servent des objets blob représentant des couches de contenu.

Diagramme pour illustrer les points de terminaison.

Comptes de stockage managés du Registre

Azure Container Registry est un service multi-locataire. Le service du Registre gère les comptes de stockage de point de terminaison de données. Les avantages des comptes de stockage managés incluent l’équilibrage de charge, le fractionnement de contenu litigieux, plusieurs copies pour une distribution de contenu simultanée plus élevée et la prise en charge multi-région avec la géo-réplication.

La prise en charge du réseau virtuel Azure Private Link active les points de terminaison privés pour le service de registre managé à partir de réseaux virtuels Azure. Dans ce cas, les points de terminaison de registre et de données sont accessibles à partir du réseau virtuel, à l’aide d’adresses IP privées.

Une fois que le service de registre managé et les comptes de stockage sont tous deux sécurisés pour l’accès à partir du réseau virtuel, les points de terminaison publics sont supprimés.

Diagramme illustrant la prise en charge des réseaux virtuels.

Malheureusement, la connexion au réseau virtuel n’est pas toujours une option.

Important

Azure Private Link est le moyen le plus sécurisé de contrôler l’accès réseau entre les clients et le Registre, car le trafic réseau est limité aux Réseau virtuel Azure, à l’aide d’adresses IP privées. Lorsque Private Link n’est pas une option, les points de terminaison de données dédiés peuvent fournir des informations sécurisées sur les ressources accessibles à partir de chaque client.

Règles de pare-feu client et risques d’exfiltration des données

Les règles de pare-feu client limitent l’accès à des ressources spécifiques. Les règles de pare-feu s’appliquent lors de la connexion à un registre à partir d’hôtes locaux, d’appareils IoT et d’agents de build personnalisés. Les règles s’appliquent également lorsque la prise en charge Private Link n’est pas une option.

Diagramme illustrant les règles de pare-feu client.

Lorsque les clients ont verrouillé leurs configurations de pare-feu client, ils se sont rendu compte qu’ils doivent créer une règle avec un caractère générique pour tous les comptes de stockage, ce qui soulève des préoccupations en matière d’exfiltration des données. Un acteur défectueux peut déployer du code capable d’écrire dans son compte de stockage.

Diagramme illustrant les risques d’exfiltration des données clientes.

Par conséquent, pour répondre aux problèmes d’exfiltration des données, Azure Container Registry met à disposition des points de terminaison de données dédiés.

Points de terminaison de données dédiés

Les points de terminaison de données dédiés aident à récupérer des couches du service Azure Container Registry, avec des noms de domaine complets représentant le domaine du Registre.

Comme n’importe quel registre peut devenir géo-répliqué, un modèle régional est utilisé : [registry].[region].data.azurecr.io.

Pour l’exemple Contoso, plusieurs points de terminaison de données régionaux sont ajoutés prenant en charge la région locale avec un réplica à proximité.

Avec des points de terminaison de données dédiés, l’acteur défectueux ne peut pas écrire dans d’autres comptes de stockage.

Diagramme illustrant l’exemple contoso avec des points de terminaison de données dédiés.

Activation des points de terminaison de données dédiés

Notes

Le passage à des points de terminaison de données dédiés aura un impact sur les clients qui ont configuré l’accès pare-feu aux points de terminaison existants *.blob.core.windows.net, ce qui entraîne des échecs d’extraction. Pour que les clients bénéficient d'un accès cohérent, ajoutez les nouveaux points d'accès aux données aux règles du pare-feu du client. Une fois terminés, les registres existants peuvent activer des points de terminaison de données dédiés viaaz cli.

Pour utiliser les étapes Azure CLI décrites dans cet article, vous devez disposer d’Azure CLI version 2.4.0 ou ultérieure. Si vous devez installer ou mettre à niveau, consultez Installer Azure CLI ou exécuter dans Azure Cloud Shell.

  • Exécutez la commande az acr update pour activer le point de terminaison de données dédié.
az acr update --name contoso --data-endpoint-enabled
  • Exécutez la commande az acr show pour afficher les points de terminaison de données, y compris les points de terminaison régionaux pour les registres géo-répliqués.
az acr show-endpoints --name contoso

Exemple de sortie :

{
  "loginServer": "contoso.azurecr.io",
  "dataEndpoints": [
    {
      "region": "eastus",
      "endpoint": "contoso.eastus.data.azurecr.io",
    },
    {
     "region": "westus",
      "endpoint": "contoso.westus.data.azurecr.io",
    }
  ]
}
     

Étapes suivantes