Mapper un domaine personnalisé existant à Azure Spring Apps

Remarque

Les plans Essentiel, Standard et Entreprise seront déconseillés à compter de la mi-mars 2025, avec une période de mise hors service de 3 ans. Nous vous recommandons de passer à Azure Container Apps. Pour plus d’informations, consultez l’annonce de mise hors service d’Azure Spring Apps.

Le plan de consommation standard et dédiée sera déconseillé à compter du 30 septembre 2024, avec un arrêt complet après six mois. Nous vous recommandons de passer à Azure Container Apps. Pour plus d’informations, consultez Migrer le plan de consommation standard et dédiée Azure Spring Apps vers Azure Container Apps.

Cet article s’applique à : ✔️ Java ✔️ C#

Cet article s’applique à : ✔️ Standard ✔️ Entreprise

DNS (Domain Name Service) est une technique de stockage des noms de nœuds réseau à l’échelle d’un réseau. Cet article mappe un domaine, tel que www.contoso.com, à l’aide d’un enregistrement CNAME. Il sécurise le domaine personnalisé avec un certificat et montre comment mettre en œuvre le protocole TLS (Transport Layer Security), également connu sous le nom de protocole SSL (Secure Sockets Layer).

Les certificats chiffrent le trafic web. Ces certificats TLS/SSL peuvent être stockés dans Azure Key Vault.

Prérequis

  • Un abonnement Azure. Si vous n’avez pas d’abonnement, créez un compte gratuit avant de commencer.
  • (Facultatif) Azure CLI 2.45.0 ou une version ultérieure. Installez l’extension Azure Spring Apps avec la commande suivante : az extension add --name spring
  • Une application déployée sur Azure Spring Apps (consultez Démarrage rapide : Lancer une application existante dans Azure Spring Apps à l’aide du portail Azure ou utilisez une application existante). Si votre application est déployée à l’aide du plan de base, veillez à effectuer une mise à niveau vers le plan Standard.
  • Un nom de domaine avec un accès au registre DNS pour un fournisseur de domaine, par exemple GoDaddy.
  • Un certificat privé (autrement dit, votre certificat auto-signé) d’un fournisseur tiers. Le certificat doit correspondre au domaine.
  • Une instance déployée d’Azure Key Vault. Pour plus d’informations, consultez À propos d’Azure Key Vault.

Les adresses IP de gestion d’Azure Spring Apps ne font pas encore partie des services Microsoft Azure approuvés. Par conséquent, pour permettre à Azure Spring Apps de charger des certificats à partir d’un coffre de clés protégé avec des connexions de points de terminaisons privés, vous devez ajouter les adresses IP suivantes au pare-feu Azure Key Vault :

  • 20.99.204.111
  • 20.201.9.97
  • 20.74.97.5
  • 52.235.25.35
  • 20.194.10.0
  • 20.59.204.46
  • 104.214.186.86
  • 52.153.221.222
  • 52.160.137.39
  • 20.39.142.56
  • 20.199.190.222
  • 20.79.64.6
  • 20.211.128.96
  • 52.149.104.144
  • 20.197.121.209
  • 40.119.175.77
  • 20.108.108.22
  • 102.133.143.38
  • 52.226.244.150
  • 20.84.171.169
  • 20.93.48.108
  • 20.75.4.46
  • 20.78.29.213
  • 20.106.86.34
  • 20.193.151.132

Importation d’un certificat

Préparer votre fichier de certificat en PFX (facultatif)

Azure Key Vault prend en charge l’importation d’un certificat privé au format PEM et PFX. Si le fichier PEM que vous avez obtenu de votre fournisseur de certificats ne fonctionne pas dans la section Enregistrer le certificat dans le Key Vault, suivez les étapes indiquées ici pour générer un fichier PFX pour Azure Key Vault.

Fusionner les certificats intermédiaires

Si votre autorité de certification vous donne plusieurs certificats dans la chaîne, vous devez les fusionner dans l’ordre.

Pour ce faire, ouvrez chaque certificat reçu dans un éditeur de texte.

Créez un fichier pour le certificat fusionné, appelé mergedcertificate.crt. Dans un éditeur de texte, copiez le contenu de chaque certificat dans ce fichier. L’ordre de vos certificats devrait suivre l’ordre dans la chaîne d’approbation, commençant par votre certificat et finissant par le certificat racine. Cela ressemble à l’exemple suivant :

-----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-----

Exportation du certificat vers PFX

Exportez votre certificat TLS/SSL fusionné avec la clé privée ayant servi à 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. Pour exporter votre certificat au format 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>

Lorsque vous y êtes invité, définissez un mot de passe d’exportation. utilisez ce mot de passe au moment de charger votre certificat TLS/SSL dans Azure Key Vault.

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 au format PFX.

Enregistrer le certificat dans Key Vault

La procédure d’importation d’un certificat exige la présence du fichier PEM ou PFX encodé sur le disque, et vous devez disposer de la clé privée.

Suivez les étapes suivantes pour charger votre certificat dans le coffre de clés :

  1. Accédez à votre instance de coffre de clés.

  2. Dans le volet de navigation, sélectionnez Certificats.

  3. Dans le menu du haut, sélectionnez Générer/importer.

  4. Dans la page Créer un certificat, sélectionnez Importer pour méthode de création de certificat, puis fournissez une valeur pour nom de certificat.

  5. Sous Charger le fichier de certificat, accédez à emplacement du certificat et sélectionnez-le.

  6. Sous Mot de passe, si vous chargez un fichier de certificat protégé par mot de passe, indiquez ce mot de passe ici. Autrement, laissez le champ vide. Une fois le fichier de certificat correctement importé, le coffre de clés supprime ce mot de passe.

  7. Sélectionnez Créer.

    Capture d’écran de la boîte de dialogue Créer un certificat dans le portail Azure.

Accorder à Azure Spring Apps un accès à votre coffre de clés

Vous devez octroyer à Azure Spring Apps un accès à votre coffre de clés avant d’importer le certificat.

Utilisez les étapes suivantes pour octroyer l’accès à l’aide du portail Azure :

  1. Accédez à votre instance de coffre de clés.

  2. Dans le volet de navigation, sélectionnez Stratégies d’accès.

  3. Dans le menu supérieur, sélectionnez Créer.

  4. Renseignez les informations, sélectionnez le bouton Ajouter, puis Enregistrer la stratégie d’accès.

    Autorisation de secret Autorisation de certificat Sélectionner le principal
    Obtenir, Lister Obtenir, Lister Azure Spring Apps Domain-Management

    Notes

    Si vous ne trouvez pas « Gestion de domaine Azure Spring Apps », recherchez « Gestion de domaine Azure Spring Cloud ».

    Capture d’écran de la page Ajouter une stratégie d’accès dans le portail Azure avec Obtenir et Lister sélectionnés dans Autorisations du secret et Autorisations du certificat.

    Capture d’écran de la page Créer une stratégie d’accès dans le portail Azure avec Gestion de domaine Azure Spring Apps sélectionné dans la liste déroulante Sélectionner un principal.

Importer le certificat dans Azure Spring Apps

Utilisez les étapes suivantes pour importer un certificat :

  1. Accédez à votre instance Azure Spring Apps.

  2. Dans le volet de navigation, sélectionnez Paramètres TLS/SSL.

  3. Sélectionnez Importer un certificat Key Vault.

    Capture d’écran du portail Azure montrant la page des paramètres TLS/SSL avec le bouton Importer le certificat du coffre de clés mis en surbrillance.

  4. Dans la page Sélectionner un certificat dans Azure, sélectionnez l'abonnement, Key Vault et Certificat dans les options de liste déroulante, puis choisissez Sélectionner.

    Capture d’écran du portail Azure montrant la page Sélectionner un certificat dans Azure.

  5. Dans la page Définir le nom du certificat ouverte, entrez le nom de votre certificat, sélectionnez Activer la synchronisation automatique si nécessaire, puis sélectionnez Appliquer. Pour plus d’informations, consultez la section Certificat de synchronisation automatique.

    Capture d’écran de la boîte de dialogue Définir le nom du certificat dans le portail Azure.

  6. Une fois votre certificat correctement importé, il apparaît dans la liste des certificats à clé privée.

    Capture d’écran du portail Azure montrant l’onglet Certificats à clé privée.

Important

Pour sécuriser un domaine personnalisé avec ce certificat, veillez à lier le certificat au domaine spécifique. Pour plus d’informations, consultez la section Ajouter une liaison SSL.

Certificat de synchronisation automatique

Un certificat stocké dans Azure Key Vault est parfois renouvelé avant son expiration. De même, les stratégies de sécurité de votre organisation pour la gestion des certificats peuvent nécessiter que votre équipe DevOps remplace régulièrement les certificats par de nouveaux certificats. Après avoir activé la synchronisation automatique pour un certificat, Azure Spring Apps commence à synchroniser votre coffre de clés pour une nouvelle version régulièrement , généralement toutes les 24 heures. Si une nouvelle version est disponible, Azure Spring Apps l’importe, puis la recharge pour différents composants à l’aide du certificat sans provoquer de temps d’arrêt. La liste suivante présente les composants affectés et les scénarios pertinents :

Quand Azure Spring Apps importe ou recharge un certificat, un journal d’activité est généré. Pour afficher les journaux d’activité, accédez à votre instance Azure Spring Apps dans le portail Azure et sélectionnez journal d’activité dans le volet de navigation.

Remarque

La fonctionnalité de synchronisation automatique de certificat fonctionne avec des certificats privés et des certificats publics importés à partir d’Azure Key Vault. Cette fonctionnalité n’est pas disponible pour les certificats de contenu que le client charge.

Vous pouvez activer ou désactiver la fonctionnalité de synchronisation automatique de certificat lorsque vous importez un certificat à partir de votre coffre de clés dans Azure Spring Apps. Pour plus d’informations, consultez la section Importer un certificat dans Azure Spring Apps.

Vous pouvez également activer ou désactiver cette fonctionnalité pour un certificat qui a déjà été importé dans Azure Spring Apps.

Pour activer ou désactiver la synchronisation automatique pour un certificat importé, procédez comme suit :

  1. Accédez à la liste des certificats de clé privée ou certificats de clé publique.

  2. Sélectionnez le bouton de sélection (...) après la colonne de synchronisation automatique, puis sélectionnez Activer la synchronisation automatique ou Désactiver la synchronisation automatique.

    Capture d’écran du portail Azure montrant une liste de certificats avec le menu bouton de sélection ouvert et l’option Activer la synchronisation automatique sélectionnée.

Ajouter un domaine personnalisé

Vous pouvez utiliser un enregistrement CNAME pour mapper un nom DNS personnalisé à Azure Spring Apps.

Notes

L’enregistrement A n’est pas pris en charge.

Créer un enregistrement CNAME

Accédez à votre fournisseur DNS et ajoutez un enregistrement CNAME pour mapper votre domaine à <service-name>.azuremicroservices.io. Ici <service-name> est le nom de votre instance Azure Spring Apps. Nous prenons en charge les domaines et sous-domaines génériques.

Après avoir ajouté l’enregistrement CNAME, la page d’enregistrements DNS ressemble à l’exemple suivant :

Capture d’écran de la page Enregistrements DNS montrant l’instance Azure Spring Apps.

Mapper votre domaine personnalisé à l’application Azure Spring Apps

Si vous n’avez pas d’application dans Azure Spring Apps, suivez les instructions de Démarrage rapide : Déployer votre première application sur Azure Spring Apps.

Utilisez les étapes suivantes pour lier un domaine personnalisé à l’application :

  1. Accédez à la page de l’application.

  2. Sélectionner Domaine personnalisé.

  3. Sélectionnez Ajouter un domaine personnalisé.

    Capture d’écran du portail Azure montrant la page Domaine personnalisé.

  4. Tapez le nom de domaine complet pour lequel vous avez ajouté un enregistrement CNAME, tel que www.contoso.com. Assurez-vous que le type d’enregistrement du nom d’hôte est défini sur CNAME - <service-name>.azuremicroservices.io.

  5. Sélectionnez Valider pour activer le bouton Ajouter.

  6. Sélectionnez Ajouter.

    Capture d’écran de la boîte de dialogue Ajouter un domaine personnalisé dans le portail Azure.

Une application peut avoir plusieurs domaines, mais seul un domaine peut être mappé à une même application. Une fois que vous avez correctement mappé votre domaine personnalisé à l’application, il apparaît dans le tableau du domaine personnalisé.

Capture d’écran du portail Azure montrant un tableau de domaine personnalisé.

Notes

Si votre domaine personnalisé présente le libellé Non sécurisé, cela signifie que n’est pas encore lié à un certificat SSL. Toute requête HTTPS d’un navigateur à votre domaine personnalisé génère une erreur ou un avertissement.

Ajouter une liaison SSL

Utilisez les étapes suivantes pour mettre à jour un domaine personnalisé de l’application :

  1. Dans le tableau du domaine personnalisé, sélectionnez Ajouter une liaison SSL comme illustré dans la figure précédente.

  2. Sélectionnez votre Certificat ou importez-le.

  3. Cliquez sur Enregistrer.

    Capture d’écran du portail Azure montrant le volet Liaison TLS/SSL.

Une fois la liaison SSL correctement ajoutée, le domaine passe à un état sécurisé : Sain.

Capture d’écran d’une liaison SSL montrant l’état de domaine Sain.

Appliquer le protocole HTTPS

Par défaut, n’importe qui peut accéder à votre application en HTTP, mais vous pouvez rediriger toutes les requêtes HTTP vers le port HTTPS.

Dans la page de votre application, dans le volet de navigation, sélectionnez Domaine personnalisé. Ensuite, définissez HTTPS uniquement sur Yes.

Capture d’écran d’une liaison SSL avec l’option Https mise en surbrillance.

Une fois l’opération terminée, accédez à une des URL HTTPS qui pointent vers votre application. Notez que les URL HTTP ne fonctionnent pas.

Étapes suivantes