Partager via


Ajouter et gérer des certificats TLS/SSL dans Azure 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 (Domain Name System) personnalisés dans Azure App Service. App Service fournit un service d’hébergement web très évolutif et auto-correctif. Les certificats sont actuellement appelés certificats TLS (Transport Layer Security). Ils étaient précédemment appelés certificats SSL (Secure Sockets Layer). Ces certificats privés ou publics vous aident à sécuriser les connexions Internet. Les certificats chiffrent 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.

Choix Descriptif
Créer un certificat géré de l'App Service gratuit Certificat privé gratuit et facile à utiliser si vous devez améliorer la sécurité de votre domaine personnalisé dans App Service.
Importer un App Service Certificate Azure gère le certificat privé. Il combine la simplicité d’une gestion automatisée et la flexibilité des options de renouvellement et d’exportation.
Importer un certificat à partir d’Azure Key Vault Utile si vous utilisez 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é à partir d’un fournisseur non-Microsoft, 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 :

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

  • Contiennent une utilisation étendue de la clé pour l’authentification du serveur (OID = 1.3.6.1.5.5.7.3.1).
  • Être signé par une autorité de certification approuvée.

Remarque

Les certificats ECC (Elliptic Curve Cryptography) fonctionnent avec App Service lorsqu’ils sont chargés en tant que PFX, mais ne peuvent pas être importés à partir de Key Vault. Ils ne sont pas couverts par cet article. Pour connaître les étapes exactes de création de certificats ECC, collaborez avec votre autorité de certification.

Après avoir ajouté un certificat privé à une application, le certificat est stocké dans une unité de déploiement liée au groupe de ressources, à la région et au système d’exploitation du plan App Service. En interne, il est appelé 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 les services d’application 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 qui permet de sécuriser votre nom DNS personnalisé dans App Service. App Service gère ce certificat de serveur TLS/SSL sans aucune action de votre part.

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

DigiCert émet des certificats gratuits. Pour certains domaines, vous devez autoriser explicitement DigiCert en tant qu’émetteur de certificat en créant un enregistrement de domaine d’autorisation d’autorité de certification (CAA) avec la valeur 0 issue digicert.com.

Azure gère entièrement les certificats pour vous, de sorte que tout aspect du certificat managé, y compris l’émetteur racine, puisse changer à tout moment. Les renouvellements de certificat modifient les parties de clé publique et privée. Toutes ces modifications de certificat 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 de la fonctionnalité d’épinglage du certificat, ajoutez un certificat à votre domaine personnalisé en utilisant l'une des autres méthodes disponibles dans cet article.

Le certificat gratuit comprend les limitations suivantes :

  • Ne prend pas en charge les certificats wildcard.
  • Ne prend pas en charge l’utilisation en tant que certificat client avec les empreintes numériques 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 (.).
  • Prend en charge les domaines personnalisés d’une longueur allant jusqu’à 64 caractères.
  • Il est nécessaire d'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 racines intégrés à Azure Traffic Manager.
  • Doit respecter tous les critères précédents pour les émission et renouvellements de certificats réussis.
  1. Dans le portail Azure, dans le volet gauche, sélectionnez App Services><app-name>.

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

    Capture d’écran montrant le volet d’application avec certificats, certificats managés et ajouter un certificat sélectionné.

  3. Sélectionnez le domaine personnalisé pour le certificat gratuit, puis Valider. Une fois la validation 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 apparaît dans la liste des certificats managés .

    Capture d’écran montrant le volet Certificats managés avec le nouveau certificat répertorié.

  4. Pour assurer la sécurité d’un domaine personnalisé avec ce certificat, vous devez 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. Dans le portail Azure, dans le volet gauche, sélectionnez App Services><app-name>.

  2. Dans le volet gauche de votre application, sélectionnez Certificats>apportez vos propres certificats (.pfx)>Ajouter un certificat.

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

  4. Sous certificat App Service, sélectionnez le certificat que vous avez créé.

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

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

    Capture d’écran montrant la page de gestion des applications avec certificats, apportez vos propres certificats (.pfx) et importez le certificat App Service sélectionné. Le volet Ajouter un certificat de clé privée affiche Validate.

    Une fois l’opération terminée, le certificat apparaît dans la liste Bring your own certificates (.pfx).

    Capture d’écran montrant le volet Apporter vos propres certificats (.pfx) avec le certificat acheté répertorié.

  7. Pour sécuriser un domaine personnalisé avec ce certificat, vous devez 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 Key Vault pour gérer vos certificats, vous pouvez importer un certificat PKCS12 dans App Service à partir de Key Vault si 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 un contrôle d’accès en fonction du rôle (RBAC).

Fournisseur de ressources ID d’application du principal de service/du destinataire Rôle RBAC du coffre de clés
Azure App Service ou Microsoft.Azure.WebSites - abfa0a7c-a6b6-4736-8310-5855508787cd pour les services cloud Azure

- 6a02c803-dafd-4136-b4c3-5a6f318b4714 pour les Services Cloud Azure pour le Gouvernement
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. Lorsque l’accès est accordé à l’aide de RBAC, l’ID d’objet correspondant de l’ID d’application du principal de service est spécifique au locataire. Pour savoir comment autoriser les autorisations Key Vault pour le fournisseur de ressources App Service à l’aide d’une stratégie d’accès, consultez Fournir l’accès aux clés, certificats et secrets Key Vault avec le contrôle d’accès en fonction du rôle Azure.

az role assignment create --role "Key Vault Certificate User" --assignee "abfa0a7c-a6b6-4736-8310-5855508787cd" --scope "/subscriptions/{subscriptionid}/resourcegroups/{resource-group-name}/providers/Microsoft.KeyVault/vaults/{key-vault-name}"

Importer un certificat dans votre application à partir de votre coffre

  1. Dans le portail Azure, dans le volet gauche, sélectionnez App Services><app-name>.

  2. Dans le volet gauche de votre application, sélectionnez Certificats>apportez vos propres certificats (.pfx)>Ajouter un certificat.

  3. Sous Source, sélectionnez Importer dans Key Vault.

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

    Capture d’écran montrant la page de gestion des applications avec certificats, apportez vos propres certificats (.pfx) et importez à partir de Key Vault sélectionnés.

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

    Réglage Descriptif
    Abonnement Abonnement associé au coffre de clés.
    Coffre-fort de clés Le coffre de clés qui contient le certificat que vous voulez importer.
    Certificat 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 sélectionnez Ajouter.

    Une fois l’opération terminée, le certificat apparaît dans la liste Bring your own certificates (.pfx). Si l’importation échoue avec une erreur, c’est que le certificat ne répond pas aux exigences App Service.

    Capture d’écran montrant le volet Apporter vos propres certificats (.pfx) avec le certificat importé répertorié.

    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 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 donne plusieurs certificats dans la chaîne de certificats, vous devez fusionner les certificats en suivant 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. Commencez par votre certificat et terminez 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.

OpenSSL v3 a changé le chiffrement par défaut de 3DES en AES256. Utilisez la ligne -keypbe PBE-SHA1-3DES -certpbe PBE-SHA1-3DES -macalg SHA1 de commande pour remplacer la modification.

OpenSSL v1 utilise 3DES comme valeur par défaut. Par conséquent, les fichiers .pfx générés sont pris en charge sans aucune modification particulière.

  1. Pour exporter votre certificat vers un fichier .pfx, exécutez la commande suivante. Remplacez les espaces réservés <fichier de clé privée> et <fichier de certificat fusionné> par les chemins d’accès menant à 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. Dans le portail Azure, dans le volet gauche, sélectionnez App Services><app-name>.

  2. Dans le volet gauche de votre application, sélectionnez Certificats>apportez vos propres certificats (.pfx)>Charger le certificat (.pfx).

    Capture d’écran montrant la page de gestion des applications avec certificats, apportez vos propres certificats (.pfx) et chargez le certificat .pfx sélectionné.

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

    Réglage Descriptif
    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 Nom du certificat qui apparaît dans votre application web.
  4. Une fois votre sélection terminée, sélectionnez Sélectionner>valider, puis sélectionnez Ajouter.

    Une fois l’opération terminée, le certificat apparaît dans la liste Bring your own certificates (.pfx).

    Capture d’écran montrant le volet Apporter vos propres certificats avec le certificat chargé répertorié.

  5. Pour assurer la sécurité d’un domaine personnalisé avec ce certificat, vous devez 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.

Une fois que vous avez chargé un certificat public dans une application, il est accessible uniquement par l’application à laquelle elle est chargée. Les certificats publics doivent être téléchargés dans chaque application web qui a besoin d’un accès. Pour les 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. Dans le portail Azure, dans le volet gauche, sélectionnez App Services><app-name>.

  2. Dans le volet gauche 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 :

    Réglage Descriptif
    fichier de certificat .cer Sélectionnez votre fichier .cer.
    Nom convivial du certificat Nom du certificat qui apparaît dans votre application web.
  4. Une fois que vous avez terminé, sélectionnez Ajouter.

    Capture d’écran montrant la page de gestion des applications. Il affiche 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, veillez à ajouter le certificat renouvelé à App Service. Mettez à jour toutes les liaisons de certificat dans lesquelles le processus dépend 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 télé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 changer lorsque vous supprimez une liaison, même si cette liaison est basée sur IP. Ce résultat est particulièrement efficace lorsque vous renouvelez un certificat déjà dans une liaison IP.

Pour éviter toute modification de l’adresse IP de votre application et éviter les temps d’arrêt de votre application en raison d’erreurs HTTPS, procédez comme suit :

  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 sélectionnez Mettre à jour.

  4. Supprimez le certificat existant.

Renouveler un certificat importé d’Azure Key Vault

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.

Foire aux questions

Comment puis-je automatiser le processus d’ajout d’un certificat bring-your-own à une application ?

Puis-je utiliser un certificat d’autorité de certification 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. Cette action n’est pas possible dans App Service (multitenant). Pour plus d’informations sur la comparaison entre l'App Service en mode multitenant et l'App Service en mode locataire unique, consultez la comparaison entre l'App Service Environment v3 et l'App Service public multitenant.

Puis-je effectuer des appels sortants à l’aide d’un certificat client d’autorité de certification privé à partir de mon application ?

Cette fonctionnalité est prise en charge pour les applications conteneur Windows uniquement dans App Service multilocataire. Vous pouvez effectuer des appels sortants à l’aide d’un certificat client d’autorité de certification privée avec des applications basées sur du code et basées sur des conteneurs dans App Service Environment version 3. Pour plus d’informations sur la comparaison entre l'App Service en mode multitenant et l'App Service en mode locataire unique, consultez la comparaison entre l'App Service Environment v3 et l'App Service public multitenant.

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 la comparaison entre l'App Service en mode multitenant et l'App Service en mode locataire unique, consultez la comparaison entre l'App Service Environment v3 et l'App Service public multitenant.

Les certificats App Service peuvent-ils être utilisés pour d’autres services ?

Oui. Vous pouvez exporter et utiliser des certificats App Service avec Azure Application Gateway ou d’autres services. Pour plus d’informations, consultez l’article de blog Création d’une copie PFX locale du certificat App Service.