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.
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.
Azure Private Link prise en charge des réseaux virtuels
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.
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.
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.
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.
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
- Configurer pour accéder à un registre de conteneurs Azure derrière des règles de pare-feu.
- Connecter Azure Container Registry à l’aide de Azure Private Link