Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
L’environnement App Service Environment est un déploiement d’Azure App Service qui s’exécute dans votre réseau virtuel Azure. Il peut être déployé avec un point de terminaison d’application accessible sur Internet ou un point de terminaison d’application dans votre réseau virtuel. Si vous déployez l’environnement App Service Environment avec un point de terminaison accessible par Internet, ce déploiement est appelé environnement App Service Environment externe. Si vous déployez l’environnement App Service Environment avec un point de terminaison dans votre réseau virtuel, ce déploiement est appelé environnement App Service Environment ILB. Pour en savoir plus sur l’environnement App Service Environment ILB, consultez le document Créer et utiliser un environnement App Service Environment ILB.
Certificats d’application
Les applications hébergées dans un App Service Environment prennent en charge les fonctionnalités de certificat suivantes centrées sur les applications, qui sont également disponibles dans l’instance App Service multilocataire. Pour connaître la configuration requise et les instructions permettant de charger et de gérer ces certificats, consultez Ajouter un certificat TLS/SSL dans Azure App Service.
Une fois que vous avez ajouté le certificat à votre application App Service ou à votre application de fonction, vous pouvez l’utiliser pour sécuriser un nom de domaine personnalisé ou l’utiliser dans votre code d’application.
Limites
Les certificats gérés par App Service ne sont pas pris en charge par les applications qui sont hébergées dans un environnement App Service Environment.
Paramètres TLS
Vous pouvez configurer le paramètre TLS au niveau de l’application.
Certificats racines pour les scénarios de client privé
Lorsque votre application agit en tant que client se connectant à des services sécurisés avec des certificats d'autorité de certification (AC) privée, vous devez ajouter des certificats racine pour établir la confiance. App Service Environment v3 fournit deux méthodes pour gérer les certificats racines :
- API de certificat racine (recommandé) : gestion à l’échelle de l’environnement pour toutes les applications
- Certificat client privé : configuration par application à l’aide des paramètres d’application
Choix de la méthode appropriée
| Méthode | Scope | À utiliser lorsque | Limites |
|---|---|---|---|
| API de certificat racine | Toutes les applications dans l’environnement App Service | - Vous gérez plusieurs applications qui ont besoin des mêmes certificats racines - Vous souhaitez centraliser la gestion des certificats - Vous déployez de nouveaux environnements avec l’infrastructure en tant que code |
- Nécessite l’arrêt et le démarrage d’applications existantes pour récupérer de nouveaux certificats - Nécessite des outils API/CLI/IaC (non disponibles dans le portail Azure pour l’instant) |
| Certificat client privé | Applications dans un seul plan App Service | - Vous avez besoin de certificats pour seulement quelques applications - Vous préférez la configuration basée sur le portail - Différentes applications ont besoin de différents certificats racines |
- Applications de code Windows uniquement - Doit configurer chaque plan App Service séparément - Les certificats non disponibles en dehors du code d’application (ne peuvent pas être utilisés pour l’authentification du registre de conteneurs ou la validation TLS frontale) |
La recommandation générale est d’utiliser l’API certificat racine pour les nouveaux déploiements et lors de la gestion des certificats sur plusieurs applications. Il offre une meilleure scalabilité, la prise en charge de l’automatisation et fonctionne pour les applications Windows et Linux.
API de certificat racine
L’API de certificat racine vous permet d’ajouter par programmation des certificats racines à votre environnement App Service Environment v3, ce qui les rend disponibles pour toutes les applications au démarrage. Les certificats racines sont des certificats publics qui identifient une autorité de certification racine et sont essentiels pour établir l’approbation dans les communications sécurisées. En ajoutant des certificats racines à votre environnement App Service, toutes les applications hébergées dans cet environnement les ont installées dans leur magasin racine, garantissant ainsi une communication sécurisée avec des services internes ou des API qui utilisent des certificats émis par des autorités de certification privées ou d’entreprise.
Cette fonctionnalité est disponible pour les applications Windows et Linux dans App Service Environment v3. Les certificats racines ajoutés via cette API sont automatiquement injectés dans le magasin d’approbation des applications au démarrage, ce qui élimine la nécessité de configurations par application et la simplification de la gestion du cycle de vie des certificats.
Considérations importantes
- Les certificats peuvent être ajoutés à un environnement App Service à l’aide de l’API REST, d’Azure CLI, de modèles ARM, de Bicep ou de Terraform.
- Si vous ajoutez un certificat à un environnement App Service avec des applications existantes ou en cours d’exécution, vous devez arrêter et démarrer chaque application du magasin de certificats à mettre à jour avec le nouveau certificat racine. L’ajout de tous les certificats avant de créer vos applications est recommandé pour éliminer la nécessité d’arrêter et de démarrer des applications individuellement.
- Les opérations d’arrêt et de démarrage diffèrent du redémarrage de votre application. Vous devez utiliser les commandes d’arrêt et de démarrage dédiées disponibles dans le portail Azure, Azure CLI ou l’API REST.
- Le démarrage et l’arrêt des applications entraînent des pannes temporaires pendant l’arrêt des applications.
- Si vous avez plusieurs applications et que vous souhaitez automatiser ce processus, vous pouvez utiliser l’interface de ligne de commande Azure ou l’API REST.
- Pendant le processus d’ajout de certificat, vous devez fournir l’intégralité du blob du certificat dans la demande. Vous ne pouvez pas charger directement un fichier .cer .
Ajouter un certificat racine
Pour ajouter un certificat racine à votre environnement App Service, utilisez l’une des méthodes suivantes :
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{aseName}/publicCertificates/{certificateName}?api-version=2024-04-01
Content-Type: application/json
{
"location": "{location}",
"properties": {
"blob": "{raw certificate blob}",
"isRoot": true
}
}
Remplacez les espaces réservés suivants :
-
{subscriptionId}: VOTRE ID d’abonnement Azure -
{resourceGroupName}: groupe de ressources contenant votre environnement App Service -
{aseName}: nom de votre environnement App Service -
{certificateName}: nom de votre ressource de certificat -
{location}: région Azure où votre environnement App Service est déployé -
{raw certificate blob}: le contenu brut du certificat à partir de votre certificat racine
Supprimer un certificat racine
Pour supprimer un certificat racine de votre environnement App Service :
DELETE https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{aseName}/publicCertificates/{certificateName}?api-version=2024-04-01
Récupérer un certificat spécifique
Pour récupérer un certificat racine spécifique à partir de votre environnement App Service :
GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{aseName}/publicCertificates/{certificateName}?api-version=2024-04-01
Récupérer tous les certificats publics
Pour récupérer tous les certificats publics de votre environnement App Service :
GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{aseName}/publicCertificates?api-version=2024-04-01
Arrêter et démarrer des applications
Après avoir ajouté un certificat racine à un environnement App Service avec des applications existantes, vous devez arrêter et démarrer chaque application pour mettre à jour le magasin de certificats.
- Accédez à votre application dans le portail Azure.
- Sélectionnez Arrêter dans la page de vue d’ensemble.
- Attendez que l’application s’arrête complètement.
- Sélectionnez Démarrer pour redémarrer l’application.
Certificat client privé (configuration par application)
Remarque
Pour la plupart des scénarios, utilisez l’API certificat racine au lieu de cette méthode. L’API certificat racine fournit une gestion des certificats à l’échelle de l’environnement pour les applications Windows et Linux, tandis que cette méthode est limitée aux applications de code Windows au sein d’un seul plan App Service.
Si vous devez configurer des certificats racines pour des applications spécifiques uniquement ou si vous préférez utiliser le portail Azure, vous pouvez utiliser la méthode de certificat client privé. Cette approche charge les certificats dans des applications individuelles et les met à la disposition des applications dans le même plan App Service.
Important
Les certificats de clients privés ne sont pris en charge qu’à partir de code personnalisé dans les applications de code Windows. Les certificats clients privés ne sont pas pris en charge en dehors de l’application. Cela limite l’utilisation à des scénarios de type : tirage de l’image conteneur de l’application à partir d’un registre en utilisant un certificat privé et validation TLS avec les serveurs front-end en utilisant un certificat privé.
Suivez ces étapes pour charger le certificat (fichier .cer) dans votre application dans votre environnement App Service Environment. Le fichier .cer peut être exporté à partir de votre certificat. Pour les tests, un exemple PowerShell vous est proposé à la fin pour générer un certificat auto-signé temporaire :
Accédez à l’application qui nécessite le certificat dans le portail Azure.
Accédez à l’option Certificats dans l’application. Sélectionnez Certificat à clé publique (.cer). Sélectionnez Ajouter un certificat. Donnez-lui un nom. Recherchez et sélectionnez votre fichier .cer. Sélectionnez Télécharger.
Copiez l’empreinte numérique.
Accédez Configuration>Paramètres de l’application. Créez le paramètre d’application WEBSITE_LOAD_ROOT_CERTIFICATES avec l’empreinte comme valeur. Si vous avez plusieurs certificats, vous pouvez les placer dans le même paramètre, séparés par des virgules et sans espace comme
84EC242A4EC7957817B8E48913E50953552DAFA6,6A5C65DC9247F762FE17BF8D4906E04FE6B31819
Le certificat est disponible par toutes les applications du même plan App Service que l’application, qui a configuré ce paramètre, mais toutes les applications qui dépendent du certificat d’autorité de certification privée doivent avoir le paramètre d’application configuré pour éviter les problèmes de minutage.
Si vous souhaitez qu’il soit disponible pour les applications d’un autre plan App Service, vous devez répéter l’opération sur le paramètre d’application pour les applications dudit plan. Pour vérifier que le certificat est défini, accédez à la console Kudu et émettez la commande suivante dans la console de débogage de PowerShell :
dir Cert:\LocalMachine\Root
Pour effectuer le test, vous pouvez créer un certificat auto-signé et générer un fichier .cer avec le code PowerShell suivant :
$certificate = New-SelfSignedCertificate -CertStoreLocation "Cert:\LocalMachine\My" -DnsName "*.internal.contoso.com","*.scm.internal.contoso.com"
$certThumbprint = "Cert:\LocalMachine\My\" + $certificate.Thumbprint
$fileName = "exportedcert.cer"
Export-Certificate -Cert $certThumbprint -FilePath $fileName -Type CERT
Certificat de serveur privé (liaison TLS/SSL)
Remarque
Cette section traite des certificats de serveur pour les liaisons TLS/SSL, qui sont différents des certificats racines décrits précédemment. Les certificats de serveur sont utilisés pour sécuriser le domaine personnalisé de votre application avec HTTPS, tandis que les certificats racines établissent une approbation pour les connexions clientes sortantes.
Si votre application fait office de serveur dans un modèle client-serveur (derrière un proxy inverse ou directement avec un client privé) et vous utilisez le certificat d’une autorité de certification privée, vous devez charger le certificat de serveur (fichier .pfx) avec la chaîne complète de certificats sur votre application et lier le certificat au domaine personnalisé. L’infrastructure étant dédiée à votre environnement App Service Environment, la chaîne de certificats complète est ajoutée au magasin de confiance des serveurs. Vous ne devez charger le certificat qu’une seule fois pour l’utiliser avec les applications se trouvant dans le même environnement App Service Environment.
Remarque
Si vous avez chargé votre certificat avant le 1er octobre 2023, vous devez recharger et rebiner le certificat pour que la chaîne de certificats complète soit ajoutée aux serveurs.
Suivez le tutoriel Sécuriser un domaine personnalisé avec TLS/SSL pour charger/lier votre certificat racine de l’autorité de certification privée à l’application dans votre environnement App Service Environment.
Étapes suivantes
- Informations sur l’utilisation des certificats dans le code d’application