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 sécuriser des noms DNS personnalisés dans Azure App Service, ce qui fournit un service d’hébergement web hautement évolutif et à 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 | Certificat privé gratuit et facile à utiliser si vous devez simplement sécuriser 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. |
Notes
Une fois que vous avez chargé un certificat 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. Les certificats chargés ou importés dans App Service sont partagés avec App Services dans la même unité de déploiement.
Prérequis
Créez une application App Service. Le plan App Service de l’application doit être au niveau De base, Standard, Premium ou Isolé. Consultez Effectuer le scale-up d’une application pour mettre à jour le niveau.
Pour un certificat privé, assurez-vous qu’il répond à toutes les exigences d’App Service.
Certificat gratuit uniquement :
Mappez le domaine où vous souhaitez que le certificat soit attribué à App Service. Pour plus d’informations, consultez Tutoriel : Mapper un nom DNS personnalisé existant à Azure App Service.
Pour un domaine racine (par exemple, contoso.com), assurez-vous que votre application n’a aucune restriction d’adresse IP configurée. La création du certificat et son renouvellement périodique pour un domaine racine dépendent de l’accessibilité de votre application depuis l’Internet.
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 :
- Être exporté en tant que fichier PFX protégé par mot de passe, chiffré par Triple-DES.
- Contenir une clé privée d’au moins 2048 bits de long
- Contient tous les certificats intermédiaires et le certificat racine dans la chaîne de certificats.
Pour sécuriser un domaine personnalisé dans une liaison TLS/SSL, votre certificat doit répondre à des exigences supplémentaires :
- Contenir une utilisation améliorée 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
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.
Créer un certificat managé gratuit
Le certificat managé App Service gratuit est une solution clé en main pour 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 (ASE).
- Prend uniquement en charge les caractères alphanumériques, les tirets (-) et les points (.).
- Doit avoir un enregistrement A pointant vers l’adresse IP de votre application web.
- N’est pas pris en charge pour les applications non accessibles à tous.
- N’est pas pris en charge avec les domaines racine intégrés à Traffic Manager.
- Doit respecter tous les critères ci-dessus pour réussir les émissions et renouvellements de certificats.
Sur le portail Azure, dans le menu de gauche, sélectionnez App Services><nom-application>.
Dans le menu de navigation de votre application, sélectionnez Certificats. Dans le volet Certificats managés, sélectionnez Ajouter un certificat.
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.
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 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.
Sur le portail Azure, dans le menu de gauche, sélectionnez App Services><nom-application>.
Dans le menu de navigation de votre application, sélectionnez Certificats>Apporter vos propres certificats (.pfx)>Ajouter un certificat.
Dans Source, sélectionnez Importer un certificat App Service.
Dans Certificat App Service, sélectionnez le certificat que vous venez de créer.
Dans Nom convivial du certificat, donnez un nom au certificat dans votre application.
Sélectionnez Valider. Une fois la validation réussie, sélectionnez Ajouter.
Une fois l’opération terminée, le certificat s’affiche dans la liste Apportez vos propres certificats.
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.
Notes
Actuellement, un certificat Key Vault ne prend en charge que la stratégie d’accès Key Vault, et non le modèle RBAC.
Fournisseur de ressources | AppId du principal de service | Autorisations d’accès au secret du coffre de clés | Autorisations de certificat Key Vault |
---|---|---|---|
Microsoft Azure App Service ou Microsoft.Azure.WebSites | - abfa0a7c-a6b6-4736-8310-5855508787cd , le même pour tous les abonnements Azure- Pour l’environnement cloud Azure Government, utilisez 6a02c803-dafd-4136-b4c3-5a6f318b4714 . |
Obtenir | Obtenir |
Microsoft.Azure.CertificateRegistration | Obtenir List Définissez DELETE |
Obtenir List |
Importer un certificat dans votre application à partir de votre coffre
Sur le portail Azure, dans le menu de gauche, sélectionnez App Services><nom-application>.
Dans le menu de navigation de votre application, sélectionnez Certificats>Apporter vos propres certificats (.pfx)>Ajouter un certificat.
Dans Source, sélectionnez Importer à partir de Key Vault.
Choisissez Sélectionner un certificat du coffre de clés.
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. Une fois votre sélection terminée, choisir 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.
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.
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.
Dans un éditeur de texte, ouvrez chaque certificat reçu.
Pour stocker le certificat fusionné, créez un fichier nommé mergedcertificate.crt.
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 un 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.
Notes
Le chiffrement par défaut d’OpenSSL v3 est passé de 3DES à AES256, mais vous pouvez le remplacer 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.
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>
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.
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.
Sur le portail Azure, dans le menu de gauche, sélectionnez App Services><nom-application>.
Dans le menu de navigation de votre application, sélectionnez Certificats>Apporter vos propres certificats (.pfx)>Charger le certificat.
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. Une fois votre sélection terminée, choisir Sélectionner, Valider, puis Ajouter.
Une fois l’opération terminée, le certificat s’affiche dans la liste Apportez vos propres certificats.
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 public
Les certificats publics sont pris en charge au format .cer.
Sur le portail Azure, dans le menu de gauche, sélectionnez App Services><nom-application>.
Dans le menu de navigation de votre application, sélectionnez Certificats>Certificats de clé publique (.cer)>Ajouter un certificat.
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. Une fois que vous avez terminé, sélectionnez Ajouter.
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é
- Renouveler un certificat App Service
- Renouveler un certificat importé d’Azure Key Vault
Renouveler le certificat chargé
Pour remplacer 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 :
Accédez à la page Domaines personnalisés de votre application, sélectionnez le bouton d’actions ..., puis sélectionnez Mettre à jour la liaison.
Sélectionnez le nouveau certificat, puis Mettre à jour.
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 toute liaison de certificat applicable sous 24 heures. Pour effectuer une synchronisation manuelle, procédez comme suit :
Accédez à la page Certificat de votre application.
Sous Apporter vos propres certificats (.pfx), sélectionnez le bouton détails ... pour le certificat de coffre de clés importé, ensuite Synchroniser.
Forum aux questions
- Comment puis-je automatiser l’ajout d’un bring-your-owncertificate à une application ?
- Forum aux questions sur les certificats App Service
Comment puis-je automatiser l’ajout d’un certificat bring-your-own-own à une application ?
- Azure CLI : Lier un certificat TLS/SSL personnalisé à une application web
- Azure PowerShell Lier un certificat TLS/SSL personnalisé à une application web à l’aide de PowerShell