Partager via


Ajouter et gérer des certificats TLS/SSL dans Azure App Service

Remarque

Depuis le 1er juin 2024, toutes les applications App Service nouvellement créées ont la possibilité de générer un nom d’hôte par défaut unique en utilisant la convention d’affectation de noms <app-name>-<random-hash>.<region>.azurewebsites.net. Les noms d’application existants restent inchangés.

Exemple : myapp-ds27dh7271aah175.westus-01.azurewebsites.net

Pour plus d’informations, reportez-vous à Nom d’hôte par défaut unique pour les ressources App Service.

Vous pouvez ajouter des certificats de sécurité numérique à utiliser dans votre code d’application ou pour sécuriser des noms DNS personnalisés dans Azure App Service, ce qui fournit un service d’hébergement web hautement évolutif et avec des mises à jour correctives automatiques. Actuellement appelés certificats TLS (Transport Layer Security), et certificats SSL (Secure Socket Layer) précédemment, ces certificats privés ou publics vous aident à sécuriser les connexions Internet en chiffrant les données envoyées entre votre navigateur, les sites web que vous visitez et le serveur de site web.

Le tableau suivant répertorie les options permettant d’ajouter des certificats dans App Service :

Option Description
Créer un certificat managé App Service gratuit Un certificat privé qui est gratuit et facile à utiliser si vous devez simplement améliorer la sécurité de votre domaine personnalisé dans App Service.
Importer un App Service Certificate Certificat privé managé par Azure. Il combine la simplicité d’une gestion automatisée et la flexibilité des options de renouvellement et d’exportation.
Importer un certificat à partir de Key Vault Utile si vous utilisez Azure Key Vault pour gérer vos certificats PKCS12. Consultez Exigences concernant les certificats privés.
Téléchargement d’un certificat privé Si vous disposez déjà d’un certificat privé provenant d’un fournisseur tiers, vous pouvez le charger. Consultez Exigences concernant les certificats privés.
Téléchargement d’un certificat public Les certificats publics ne sont pas utilisés pour sécuriser les domaines personnalisés, mais vous pouvez les charger dans votre code si vous en avez besoin pour accéder aux ressources distantes.

Prérequis

Exigences concernant les certificats privés

Le certificat managé App Service gratuit et le certificat App Service répondent déjà aux exigences d’App Service. Si vous choisissez de charger ou d’importer un certificat privé dans App Service, votre certificat doit :

  • Exporté en tant que fichier PFX protégé par mot de passe, chiffré en utilisant 3DES.
  • Contient une clé privée d’au moins 2048 bits
  • Contient tous les certificats intermédiaires et le certificat racine dans la chaîne de certificats.

Si vous voulez sécuriser un domaine personnalisé dans une liaison TLS, le certificat doit répondre à ces exigences supplémentaires :

Notes

Les certificats de chiffrement à courbe elliptique (ECC) sont compatibles avec App Service, mais ce sujet sort du cadre de cet article. Pour connaître les étapes exactes de création de certificats ECC, collaborez avec votre autorité de certification.

Remarque

Une fois que vous avez ajouté un certificat privé dans une application, le certificat est stocké dans une unité de déploiement liée à la combinaison du groupe de ressources, de la région et du système d’exploitation du plan App Service, appelée en interne un espace web. De cette façon, le certificat est accessible aux autres applications qui sont associées à la même combinaison Groupe de ressources/Région et de système d’exploitation. Les certificats privés chargés ou importés dans App Service sont partagés avec App Services dans la même unité de déploiement.

Vous pouvez ajouter jusqu’à 1 000 certificats privés par espace web.

Créer un certificat managé gratuit

Le certificat managé App Service gratuit est une solution clé en main pour faciliter la sécurisation de votre nom DNS personnalisé dans App Service. Sans aucune action de votre part, ce certificat de serveur TLS/SSL est entièrement géré par App Service et est automatiquement renouvelé en continu par incréments de six mois, 45 jours avant l’expiration, tant que les conditions préalables que vous configurez demeurent. Toutes les liaisons associées seront mises à jour avec le certificat renouvelé. Vous créez le certificat, vous le liez à un domaine personnalisé et vous laissez App Service faire le reste.

Important

Avant de créer un certificat managé gratuit, assurez-vous que vous avez rempli les conditions préalables pour votre application.

Les certificats gratuits sont émis par DigiCert. Pour certains domaines, vous devez autoriser explicitement DigiCert comme émetteur de certificat en créant un enregistrement de domaine CAA avec la valeur : 0 issue digicert.com.

Azure gérant entièrement les certificats en votre nom, tout aspect du certificat managé, y compris l’émetteur racine, peut être modifié à tout moment. Ces modifications sont en dehors de votre contrôle. Veillez à éviter les dépendances matérielles et d’« épingler » des certificats d’entraînement au certificat managé ou à toute partie de la hiérarchie de certificats. Si vous avez besoin du comportement d’épinglage de certificat, ajoutez un certificat à votre domaine personnalisé à l’aide de toute autre méthode disponible décrite dans cet article.

Le certificat gratuit comprend les limitations suivantes :

  • Ne prend pas en charge les certificats génériques.
  • Ne prend pas en charge l’utilisation en tant que certificat client avec l’empreinte numérique du certificat, qui sera prochainement dépréciée et supprimée.
  • Ne prend pas en charge le DNS privé.
  • N’est pas exportable.
  • N’est pas pris en charge dans App Service Environment.
  • Prend uniquement en charge les caractères alphanumériques, les tirets (-) et les points (.).
  • Seuls les domaines personnalisés d’une longueur maximale de 64 caractères sont pris en charge.
  • Doit avoir un enregistrement A pointant vers l’adresse IP de votre application web.
  • Doit se trouver sur des applications accessibles au public.
  • N’est pas pris en charge avec les domaines racine intégrés à Traffic Manager.
  • Doit respecter tous les critères ci-dessus pour que les émissions et les renouvellements de certificats réussissent.
  1. Sur le portail Azure, dans le menu de gauche, sélectionnez App Services><nom-application>.

  2. Dans le menu de navigation de votre application, sélectionnez Certificats. Dans le volet Certificats managés, sélectionnez Ajouter un certificat.

    Capture d’écran du menu d’application avec les options « Certificats », « Certificats managés » et « Ajouter un certificat » sélectionnées.

  3. Sélectionnez le domaine personnalisé pour le certificat gratuit, puis Valider. Lorsque la validation est terminée, sélectionnez Ajouter. Vous ne pouvez créer qu’un seul certificat managé pour chaque domaine personnalisé pris en charge.

    Une fois l’opération terminée, le certificat s’affiche dans la liste Certificats managés.

    Capture d’écran du volet Certificats managés avec le nouveau certificat listé.

  4. Pour assurer la sécurité d’un domaine personnalisé avec ce certificat, vous devez quand même créer une liaison de certificat. Suivez ces étapes pour apprendre à Sécuriser un nom DNS personnalisé avec une liaison TLS/SSL dans Azure App Service.

Importer un App Service Certificate

Pour importer un certificat App Service, commencez par acheter et configurer un certificat App Service, puis suivez les étapes décrites ici.

  1. Sur le portail Azure, dans le menu de gauche, sélectionnez App Services><nom-application>.

  2. Dans le menu de navigation de votre application, sélectionnez Certificats>Apporter vos propres certificats (.pfx)>Ajouter un certificat.

  3. Dans Source, sélectionnez Importer un certificat App Service.

  4. Dans Certificat App Service, sélectionnez le certificat que vous venez de créer.

  5. Dans Nom convivial du certificat, donnez un nom au certificat dans votre application.

  6. Sélectionnez Valider. Une fois la validation réussie, sélectionnez Ajouter.

    Capture d’écran de la page de gestion des applications avec les options « Certificats », « Apportez vos propres certificats (.pfx) » et « Importer un certificat App Service » sélectionnées, ainsi que la page entière « Ajoutez un certificat de clé privée » avec le bouton **Valider**.

    Une fois l’opération terminée, le certificat s’affiche dans la liste Apportez vos propres certificats.

    Capture d’écran du volet « Apportez vos propres certificats (.pfx) » avec le certificat acheté répertorié.

  7. Pour sécuriser un domaine personnalisé avec ce certificat, vous devez quand même créer une liaison de certificat. Suivez ces étapes pour apprendre à Sécuriser un nom DNS personnalisé avec une liaison TLS/SSL dans Azure App Service.

Importer un certificat à partir de Key Vault

Si vous utilisez Azure Key Vault pour gérer vos certificats, vous pouvez importer un certificat PKCS12 à partir de Key Vault dans App Service tant que vous répondez aux exigences.

Autoriser App Service à lire les données du coffre

Par défaut, le fournisseur de ressources App Service n’a pas accès à votre coffre de clés. Pour utiliser un coffre de clés pour un déploiement de certificat, vous devez autoriser l’accès en lecture au coffre de clés pour le fournisseur de ressources (App Service). Vous pouvez accorder l’accès avec une stratégie d’accès ou RBAC.

Fournisseur de ressources ID d’application du principal de service/du destinataire Rôle RBAC Key Vault
Microsoft Azure App Service ou Microsoft.Azure.WebSites - abfa0a7c-a6b6-4736-8310-5855508787cd pour un environnement cloud Azure

- 6a02c803-dafd-4136-b4c3-5a6f318b4714 pour un environnement cloud Azure Government
Utilisateur du certificat

La valeur de l’ID d’application ou du destinataire du principal de service est l’ID du fournisseur de ressources App Service. Pour savoir comment autoriser les autorisations de coffre de clés pour le fournisseur de ressources App Service en utilisant la stratégie d’accès, consultez la documentation expliquant comment fournir l’accès aux clés, certificats et secrets Key Vault avec un contrôle d’accès en fonction du rôle Azure.

Remarque

Ne supprimez pas ces autorisations RBAC du coffre de clés. Si vous le faites, App Service ne pourra pas synchroniser votre application web avec la dernière version du certificat du coffre de clés.

Importer un certificat dans votre application à partir de votre coffre

  1. Sur le portail Azure, dans le menu de gauche, sélectionnez App Services><nom-application>.

  2. Dans le menu de navigation de votre application, sélectionnez Certificats>Apporter vos propres certificats (.pfx)>Ajouter un certificat.

  3. Dans Source, sélectionnez Importer à partir de Key Vault.

  4. Choisissez Sélectionner un certificat du coffre de clés.

    Capture d’écran de la page de gestion des applications avec les options « Certificats », « Apportez vos propres certificats (.pfx) » et « Importer depuis Key Vault » sélectionnées.

  5. Pour vous aider à sélectionner le certificat, utilisez le tableau suivant :

    Paramètre Description
    Abonnement Abonnement associé au coffre de clés.
    Key vault Le coffre de clés qui contient le certificat que vous voulez importer.
    Certificate Dans cette liste, sélectionnez un certificat PKCS12 qui se trouve dans le coffre. Tous les certificats PKCS12 du coffre sont listés avec leurs empreintes numériques, mais tous ne sont pas pris en charge dans App Service.
  6. Une fois votre sélection terminée, sélectionnez Sélectionner, Valider, puis Ajouter.

    Une fois l’opération terminée, le certificat s’affiche dans la liste Apportez vos propres certificats. Si l’importation échoue avec une erreur, c’est que le certificat ne répond pas aux exigences App Service.

    Capture d’écran du volet « Apportez vos propres certificats (.pfx) » avec le certificat importé répertorié.

    Notes

    Si vous remplacez votre certificat par un nouveau certificat dans le coffre de clés, App Service synchronise automatiquement votre certificat sous 24 heures.

  7. Pour sécuriser un domaine personnalisé avec ce certificat, vous devez quand même créer une liaison de certificat. Suivez ces étapes pour apprendre à Sécuriser un nom DNS personnalisé avec une liaison TLS/SSL dans Azure App Service.

Téléchargement d’un certificat privé

Une fois que vous avez obtenu un certificat auprès de votre fournisseur de certificats, préparez le certificat pour App Service en suivant les étapes décrites dans cette section.

Fusionner les certificats intermédiaires

Si votre autorité de certification vous fournit plusieurs certificats dans la chaîne, vous devez les fusionner dans le même ordre.

  1. Dans un éditeur de texte, ouvrez chaque certificat reçu.

  2. Pour stocker le certificat fusionné, créez un fichier nommé mergedcertificate.crt.

  3. Copiez le contenu de chaque certificat dans ce fichier. Veillez à suivre la séquence de certificats spécifiée par la chaîne de certificats, en commençant par votre certificat et en terminant par le certificat racine, par exemple :

    -----BEGIN CERTIFICATE-----
    <your entire Base64 encoded SSL certificate>
    -----END CERTIFICATE-----
    
    -----BEGIN CERTIFICATE-----
    <The entire Base64 encoded intermediate certificate 1>
    -----END CERTIFICATE-----
    
    -----BEGIN CERTIFICATE-----
    <The entire Base64 encoded intermediate certificate 2>
    -----END CERTIFICATE-----
    
    -----BEGIN CERTIFICATE-----
    <The entire Base64 encoded root certificate>
    -----END CERTIFICATE-----
    

Exporter le certificat privé fusionné vers PFX

À présent, exportez votre certificat TLS/SSL fusionné avec la clé privée utilisée pour générer votre demande de certificat. Si vous avez généré votre demande de certificat à l’aide d’OpenSSL, vous avez créé un fichier de clé privée.

Remarque

Le chiffrement par défaut d’OpenSSL v3 est passé de 3DES à AES256, mais vous pouvez remplacer cela sur la ligne de commande : -keypbe PBE-SHA1-3DES -certpbe PBE-SHA1-3DES -macalg SHA1. OpenSSL v1 utilise 3DES par défaut, de sorte que les fichiers PFX générés sont pris en charge sans aucune modification spéciale.

  1. Pour exporter votre certificat vers un fichier PFX, exécutez la commande suivante, mais remplacez les espaces réservés <private-key-file> et <merged-certificate-file> avec les chemins d’accès vers votre clé privée et votre fichier de certificat fusionné.

    openssl pkcs12 -export -out myserver.pfx -inkey <private-key-file> -in <merged-certificate-file>  
    
  2. Lorsque vous y êtes invité, spécifiez un mot de passe pour l’opération d’exportation. Lorsque vous chargez ultérieurement votre certificat TLS/SSL vers App Service, vous devez fournir ce mot de passe.

  3. Si vous avez utilisé IIS ou Certreq.exe pour générer votre demande de certificat, installez le certificat sur votre ordinateur local, puis exportez le certificat dans un fichier PFX.

Charger le certificat dans App Service

Vous êtes maintenant prêt à charger le certificat dans App Service.

  1. Sur le portail Azure, dans le menu de gauche, sélectionnez App Services><nom-application>.

  2. Dans le menu de navigation de votre application, sélectionnez Certificats>Apporter vos propres certificats (.pfx)>Charger le certificat.

    Capture d’écran de la page de gestion des applications avec les options « Certificats », « Apportez vos propres certificats (.pfx) » et « Télécharger un certificat » sélectionnées.

  3. Pour vous aider à charger le certificat .pfx, utilisez le tableau suivant :

    Paramètre Description
    Fichier de certificat PFX Sélectionnez votre fichier .pfx.
    Mot de passe du certificat Entrez le mot de passe que vous avez créé lors de l’exportation du fichier PFX.
    Nom convivial du certificat Le nom du certificat à afficher dans votre application web.
  4. Une fois votre sélection terminée, sélectionnez Sélectionner, Valider, puis Ajouter.

    Une fois l’opération terminée, le certificat s’affiche dans la liste Apportez vos propres certificats.

    Capture d’écran du volet « Apportez vos propres certificats » avec le certificat chargé listé.

  5. Pour assurer la sécurité d’un domaine personnalisé avec ce certificat, vous devez quand même créer une liaison de certificat. Suivez ces étapes pour apprendre à Sécuriser un nom DNS personnalisé avec une liaison TLS/SSL dans Azure App Service.

Téléchargement d’un certificat public

Les certificats publics sont pris en charge au format .cer.

Remarque

Une fois que vous avez chargé un certificat public dans une application, il est accessible seulement par l’application où il a été chargé. Les certificats publics doivent être téléchargés dans chaque application web qui a besoin d’un accès. Pour des scénarios spécifiques à App Service Environment, reportez-vous à la documentation relative aux certificats et à l’environnement App Service.

Vous pouvez charger jusqu’à 1 000 certificats publics par plan App Service.

  1. Sur le portail Azure, dans le menu de gauche, sélectionnez App Services><nom-application>.

  2. Dans le menu de navigation de votre application, sélectionnez Certificats>Certificats de clé publique (.cer)>Ajouter un certificat.

  3. Pour vous aider à charger le certificat .cer, utilisez le tableau suivant :

    Paramètre Description
    Fichier de certificat CER Sélectionnez votre fichier .cer.
    Nom convivial du certificat Le nom du certificat à afficher dans votre application web.
  4. Une fois que vous avez terminé, sélectionnez Ajouter.

    Capture d’écran de la page Gestion des applications. Elle montre le certificat de clé publique à charger et son nom.

  5. Une fois le certificat chargé, copiez l’empreinte du certificat, puis reportez-vous à Rendre le certificat accessible.

Renouveler un certificat sur le point d’expirer

Avant l’expiration d’un certificat, assurez-vous d’ajouter le certificat renouvelé à App Service et à mettre à jour toutes les liaisons de certificat pour le processus dépendant du type de certificat. Par exemple, un certificat importé à partir de Key Vault, y compris un certificat App Service, se synchronise automatiquement avec App Service toutes les 24 heures et met à jour la liaison TLS/SSL lorsque vous renouvelez le certificat. Pour un certificat chargé, il n’existe aucune mise à jour de liaison automatique. En fonction de votre scénario, passez en revue la section correspondante :

Renouveler un certificat chargé

Quand vous remplacez un certificat arrivant à expiration, la façon dont vous mettez à jour la liaison de certificat avec le nouveau certificat peut nuire à l’expérience utilisateur. Par exemple, votre adresse IP entrante peut être modifiée lorsque vous supprimez une liaison, même si cette liaison repose sur une adresse IP. Ce résultat est particulièrement important lorsque vous renouvelez un certificat qui se trouve déjà dans une liaison reposant sur une adresse IP. Pour éviter une modification de l’adresse IP de votre application, et éviter les temps d’arrêt de votre application en raison d’erreurs HTTPS, suivez ces étapes dans la séquence spécifiée :

  1. Chargez le nouveau certificat.

  2. Accédez à la page Domaines personnalisés de votre application, sélectionnez le bouton ..., puis sélectionnez Mettre à jour la liaison.

  3. Sélectionnez le nouveau certificat, puis Mettre à jour.

  4. Supprimez le certificat existant.

Renouveler un certificat importé d’Azure Key Vault

Notes

Pour renouveler un certificat App Service, consultez Renouveler un certificat App Service.

Pour renouveler un certificat que vous avez importé dans App Service à partir de Key Vault, consultez Renouveler votre certificat Azure Key Vault.

Une fois le certificat renouvelé dans votre coffre de clés, App Service synchronise automatiquement le nouveau certificat et met à jour dans les 24 heures les liaisons de certificat applicables. Pour effectuer une synchronisation manuelle, procédez comme suit :

  1. Accédez à la page Certificat de votre application.

  2. Sous Apporter vos propres certificats (.pfx), sélectionnez le bouton ... pour le certificat de coffre de clés importé, puis Synchroniser.

Forum aux questions

Comment puis-je automatiser l’ajout d’un certificat de type BYO (bring-your-own) à une application ?

Puis-je utiliser un certificat d’autorité de certification (CA) privée pour le protocole TLS entrant sur mon application ?

Vous pouvez utiliser un certificat d’autorité de certification privée pour le protocole TLS entrant dans App Service Environment version 3. Cela n’est pas possible dans App Service (multitenant). Pour plus d’informations sur App Service multitenant comparé à App Service à tenant unique, consultez la comparaison App Service Environment v3 et App Service multitenant public.

Puis-je effectuer des appels sortants en utilisant un certificat client d’autorité de certification privée depuis mon application ?

Ceci n’est pris en charge que pour les applications conteneur Windows dans App Service multitenant. En outre, vous pouvez effectuer des appels sortants en utilisant un certificat client d’autorité de certification privée avec les applications basées sur du code et les applications basées sur des conteneurs dans App Service Environment version 3. Pour plus d’informations sur App Service multitenant comparé à App Service à tenant unique, consultez la comparaison App Service Environment v3 et App Service multitenant public.

Puis-je charger un certificat d’autorité de certification privée dans mon magasin racine approuvé App Service ?

Vous pouvez charger votre propre certificat d’autorité de certification dans le magasin racine approuvé dans App Service Environment version 3. Vous ne pouvez pas modifier la liste des certificats racines de confiance dans App Service (multitenant). Pour plus d’informations sur App Service multitenant comparé à App Service à tenant unique, consultez la comparaison App Service Environment v3 et App Service multitenant public.

App Service Certificate peut-il être utilisé pour d’autres services ?

Oui, les certificats achetés via le App Service Certificate peuvent être exportés et utilisés avec Application Gateway ou d’autres services. Pour plus d’informations, consultez l’article de blog suivant :Création d’une copie PFX locale d’App Service Certificate.

Plus de ressources