Partager via


Configurer HTTPS lors du déploiement d’applications conteneurisées sur Azure

Lorsque vous déployez une application conteneurisée, vous utilisez généralement le protocole HTTPS pour les communications chiffrées et sécurisées. La communication sécurisée est implémentée par le protocole TLS (Transport Layer Security), qui remplace la méthode précédente à l’aide du protocole SSL (Secure Sockets Layer).

Prerequisites

Prerequisites

  • Docker Desktop.
  • Visual Studio avec la charge de travail de développement ASP.NET et web, la charge de travail de développement Azure et/ou la charge de travail de développement de bureau .NET installée.

Certificats Devtest

Au cours du développement, Visual Studio utilise un certificat auto-signé, parfois appelé certificat devtest. Vous recevez une invite vous demandant d’approuver le certificat lorsque vous lancez l’application sur votre ordinateur local pour la première fois. Cela est acceptable pour le développement et le test, mais lorsque vous déployez sur Azure et exposez votre application sur un domaine personnalisé, vous devez basculer vers un certificat émis par une autorité de certification(CA), Azure ou une autorité de certification tierce.

Sécurité des options de déploiement dans Azure

De nombreux services Azure simplifient la configuration et la charge de gestion en gérant automatiquement la gestion des certificats. La configuration et la procédure de configuration de TLS pour les conteneurs dans Azure dépendent du service sur lequel vous déployez.

En général, les services Azure peuvent prendre en charge plusieurs façons d’obtenir et de stocker des certificats. Vous pouvez obtenir des certificats approuvés auprès de l’autorité de certification d’Azure ou charger des certificats approuvés privés émis par une autorité de certification tierce. Vous pouvez utiliser le propre magasin de certificats du service ou utiliser Azure Key Vault pour stocker le certificat, ainsi que d’autres secrets.

Le tableau suivant présente les services et inclut des liens qui expliquent le fonctionnement de la sécurité HTTPS lorsque vous déployez sur ces services et des guides pratiques pour gérer les certificats.

Service Azure Notes
Service d'applications Azure Azure App Service est un service de déploiement approprié pour un seul conteneur qui offre une expérience par défaut, ce qui signifie que vous obtenez un point de terminaison sécurisé avec un certificat approuvé fourni par Azure sans surcharge supplémentaire. Pour un meilleur contrôle, vous pouvez choisir parmi plusieurs options pour obtenir et stocker le certificat. Vous pouvez utiliser votre propre certificat approuvé obtenu auprès d’une autorité de certification tierce au lieu du certificat approuvé par défaut fourni par Azure. Si vous le souhaitez, vous pouvez stocker des certificats dans Azure Key Vault. Consultez la vue d’ensemble du protocole TLS pour le service d’applications .
Azure Container Apps Azure Container Apps est un service d’hébergement approprié pour les applications conteneurisées à l’aide d’un ou plusieurs conteneurs. Comme Azure App Service, il fournit une expérience par défaut qui utilise automatiquement des certificats fournis par Azure approuvés, mais fournit également une gamme d’options d’architecture réseau pour prendre en charge différents scénarios. Consultez Mise en réseau dans Azure Container Apps.
Azure Container Instances Pour configurer un point de terminaison public HTTPS pour un conteneur hébergé dans Azure Container Instances, consultez Activer un point de terminaison TLS dans un conteneur sidecar. Cette option réduit l’impact sur le conteneur lui-même.
Azure Kubernetes Service (AKS) Consultez les conseils dans la documentation AKS pour configurer TLS pour une entrée vers votre cluster. AKS fournit les fonctionnalités de gestion les plus avancées, la gestion de la rotation et le renouvellement des certificats avec une flexibilité maximale.
Service Azure Notes
Service d'applications Azure Azure App Service est un service de déploiement approprié pour un seul conteneur qui offre une expérience par défaut, ce qui signifie que vous obtenez un point de terminaison sécurisé avec un certificat approuvé fourni par Azure sans surcharge supplémentaire. Pour un meilleur contrôle, vous pouvez choisir parmi plusieurs options pour obtenir et stocker le certificat. Vous pouvez utiliser votre propre certificat approuvé obtenu auprès d’une autorité de certification tierce au lieu du certificat approuvé par défaut fourni par Azure. Si vous le souhaitez, vous pouvez stocker des certificats dans Azure Key Vault. Consultez la vue d’ensemble du protocole TLS pour le service d’applications .
Azure Container Apps Azure Container Apps est un service d’hébergement approprié pour les applications conteneurisées à l’aide d’un ou plusieurs conteneurs. Comme Azure App Service, il fournit une expérience par défaut qui utilise automatiquement des certificats fournis par Azure approuvés, mais fournit également une gamme d’options d’architecture réseau pour prendre en charge différents scénarios. Consultez Mise en réseau dans Azure Container Apps.
Azure Container Instances Pour configurer un point de terminaison public HTTPS pour un conteneur hébergé dans Azure Container Instances, consultez Activer un point de terminaison TLS dans un conteneur sidecar. Cette option réduit l’impact sur le conteneur lui-même.
Service Fabric Consultez la sécurité des applications et des services Service Fabric . Vous configurez généralement un proxy inverse pour gérer la sécurité des requêtes entrantes. Consultez Proxy inverse dans Azure Service Fabric.
Azure Kubernetes Service (AKS) Consultez les conseils dans la documentation AKS pour configurer TLS pour une entrée vers votre cluster. AKS fournit les fonctionnalités de gestion les plus avancées, la gestion de la rotation et le renouvellement des certificats avec une flexibilité maximale.

Options de sécurité réseau pour plusieurs conteneurs

Si votre scénario implique plusieurs conteneurs, vous avez la possibilité de sécuriser le trafic d’entrée uniquement (autrement dit, à l’équilibreur de charge externe ou au proxy inverse) ou d’appliquer des communications sécurisées entre chaque conteneur de l’application. Cette dernière option offre une sécurité pour les couches plus profondes du système, même s’il existe une violation dans la couche externe. L’utilisation de HTTPS pour toutes les communications conteneur-à-conteneur est en dehors de l’étendue de cet article.

Pour Azure Container Apps, vous pouvez configurer l’entrée qui utilise HTTPS pour les appelants externes et au sein du réseau de plusieurs conteneurs, utiliser HTTP ou TCP. Pour une communication sécurisée entre des conteneurs, vous pouvez utiliser mTLS (TLS mutuel), qui nécessite des certificats des deux côtés d’une requête, d’un client et d’un serveur ou entre des microservices. Consultez Entrée dans Azure Container Apps et Configurer l’authentification par certificat client dans Azure Container Apps.