Suffixe de domaine personnalisé pour App Service Environment
Azure App Service Environment est une fonctionnalité d’Azure App Service qui fournit un environnement totalement isolé et dédié dans le cadre de l’exécution sécurisée à grande échelle de vos applications App Service. Les paramètres DNS pour le suffixe de domaine par défaut de votre App Service Environment ne restreignent pas l’accès à vos applications uniquement à l’aide de ces noms. Le suffixe de domaine personnalisé est une fonctionnalité App Service Environment de l’équilibreur de charge interne (ILB) qui vous permet d’utiliser votre propre suffixe de domaine pour accéder aux applications de votre App Service Environment.
Si vous n’avez pas d’App Service Environment, consultez Comment créer un App Service Environment v3.
Notes
Cet article aborde les fonctionnalités, les avantages et les cas d’utilisation d’App Service Environment v3, qui est utilisé avec les plans App Service Isolé v2.
Le suffixe de domaine personnalisé définit un domaine racine utilisé par App Service Environment. Dans la version publique d’Azure App Service, le domaine racine par défaut pour toutes les applications web est azurewebsites.net. Pour les App Service Environments ILB, le domaine racine par défaut est appserviceenvironment.net. Toutefois, étant donné qu’un App Service Environment ILB est interne au réseau virtuel d’un client, les clients peuvent utiliser un domaine racine en plus de celui par défaut qui est logique à utiliser dans le réseau virtuel interne d’une entreprise. Par exemple, une société fictive Contoso Corporation peut utiliser le domaine racine par défaut internal.contoso.com pour les applications destinées à être résolues et accessibles uniquement au sein du réseau virtuel de Contoso. Il est possible d’accéder à une application de ce réseau par APP-NAME.internal.contoso.com.
Le suffixe de domaine personnalisé est destiné à l’App Service Environment. Cette fonctionnalité est différente d’une liaison de domaine personnalisée sur un App Service. Pour plus d’informations sur les liaisons de domaine personnalisées, consultez Mapper un nom DNS personnalisé existant à Azure App Service.
Si le certificat utilisé pour le suffixe de domaine personnalisé contient une entrée SAN (Subject Alternate Name) pour *.scm.CUSTOM-DOMAIN, le site scm est également accessible à partir de APP-NAME.scm.CUSTOM-DOMAIN. Vous pouvez uniquement accéder à scm sur un domaine personnalisé à l’aide de l’authentification de base. L’authentification unique n’est possible qu’avec le domaine racine par défaut.
Contrairement aux versions antérieures, les points de terminaison FTPS de vos services App Services sur votre fonctionnalité App Service Environment v3 sont uniquement accessibles à l’aide du suffixe de domaine par défaut.
La connexion au point de terminaison de suffixe de domaine personnalisé doit utiliser l’indication du nom de serveur (SNI) pour les connexions TLS.
Prérequis
- Variation ILB de l’App Service Environment v3.
- Le certificat SSL/TLS valide doit être stocké dans un Azure Key Vault au format .PFX. Pour plus d’informations sur l’utilisation de certificats avec App Service, consultez Ajouter un certificat TLS/SSL dans Azure App Service.
- Le certificat ne doit pas dépasser 20 Ko.
Identité managée
Une identité managée est utilisée pour s’authentifier auprès d’Azure Key Vault où le certificat SSL/TLS est stocké. Si vous n’avez pas d’identité managée associée à votre App Service Environment, vous devez en configurer une.
Spécifiez l’identité managée affectée par le système ou par l’utilisateur. Pour créer une identité managée affectée par l’utilisateur, consultezgérer les identités managées affectées par l’utilisateur. Si vous souhaitez utiliser une identité managée affectée par le système et que vous n’en avez pas encore affectée à votre App Service Environment, l’expérience du portail de suffixe de domaine personnalisé vous guide tout au long du processus de création. Vous pouvez également accéder à la page Identité de votre App Service Environment pour y configurer et affecter vos identités managées.
Pour activer une identité managée affectée par le système, définissez l’état sur Activé.
Pour affecter une identité managée affectée par l’utilisateur, sélectionnez « Ajouter », puis recherchez l’identité managée que vous souhaitez utiliser.
Une fois que vous avez affecté l’identité managée à votre App Service Environment, vérifiez que l’identité managée dispose des autorisations suffisantes pour Azure Key Vault. Vous pouvez utiliser une stratégie d’accès au coffre ou un contrôle d’accès en fonction du rôle Azure.
Si vous utilisez une stratégie d’accès au coffre, l’identité managée a besoin au minimum de l’autorisation « Obtenir » les secrets pour le coffre de clés.
Si vous choisissez d’utiliser le contrôle d’accès en fonction du rôle Azure pour gérer l’accès à votre coffre de clés, vous devez donner à votre identité managée au minimum le rôle d’« Utilisateur des secrets Key Vault ».
Certificat
Le certificat pour le suffixe de domaine personnalisé doit être stocké dans un Azure Key Vault. Le certificat doit être chargé au format .PFX et ne pas dépasser 20 Ko. Les certificats dans le format .PEM ne sont pas pris en charge pour l’instant. App Service Environment utilise l’identité managée que vous avez sélectionnée pour obtenir le certificat.
Votre certificat doit être un certificat générique pour le nom de domaine personnalisé sélectionné. Par exemple, internal.contoso.com aurait besoin d’un certificat couvrant *.internal.contoso.com. Si le certificat utilisé pour le suffixe du domaine personnalisé contient un SAN (Subject Alternate Name) pour scm (par exemple *.scm.internal.contoso.com), le site scm est également disponible à l’aide du suffixe du domaine personnalisé.
Si vous faites pivoter votre certificat dans Azure Key Vault, l’App Service Environment récupère la modification dans les 24 heures.
Accès réseau au coffre de clés
Le coffre de clés est accessible publiquement ou via un point de terminaison privé accessible à partir du sous-réseau sur lequel App Service Environnement est déployé. Pour savoir comment configurer un point de terminaison privé, consultez Intégrer Key Vault à Azure Private Link. Si vous utilisez un accès public, vous pouvez sécuriser votre coffre de clés pour accepter uniquement le trafic à partir des adresses IP sortantes d’App Service Environnement. App Service Environment utilise l’adresse IP sortante de la plateforme comme adresse source pour accéder au coffre de clés. Vous trouverez l’adresse IP dans la page Adresses IP dans le portail Azure.
Utilisez le Portail Azure pour configurer le suffixe de domaine personnalisé
- À partir du Portail Azure, accédez à la page suffixe de domaine personnalisé de votre App Service Environment.
- entrez votre nom de domaine personnalisé.
- Sélectionnez l’identité managée que vous définissez pour votre instance App Service Environment. Spécifiez l’identité managée affectée par le système ou par l’utilisateur. Vous pouvez configurer votre identité managée si vous ne l’avez pas déjà fait. Vous pouvez configurer l’identité managée directement à partir de la page de suffixe de domaine personnalisé à l’aide de l’option « Ajouter une identité » dans la zone de sélection d’identité managée.
- Sélectionnez le certificat pour le suffixe de domaine personnalisé.
- Si vous utilisez un point de terminaison privé pour accéder au coffre de clés, étant donné que l’accès réseau est limité au point de terminaison privé, vous ne pouvez pas utiliser l’interface du portail pour sélectionner le certificat. Vous devez entrer manuellement l’URL du certificat.
- En haut de la page, sélectionnez « Enregistrer ». Pour afficher les dernières mises à jour de configuration, actualisez la page.
- La définition de la configuration du suffixe de domaine personnalisé prend quelques minutes. Vérifiez l’état en sélectionnant « Actualiser » en haut de la page. La bannière est mise à jour avec la dernière progression. Une fois terminé, la bannière indique que le suffixe de domaine personnalisé est configuré.
Utiliser Azure Resource Manager pour configurer le suffixe de domaine personnalisé
Pour configurer un suffixe de domaine personnalisé pour votre App Service Environment à l’aide d’un modèle Azure Resource Manager, vous devez inclure les propriétés ci-dessous. Veillez à répondre aux prérequis et assurez-vous que votre identité managée et votre certificat sont accessibles et ont les autorisations appropriées pour le coffre de clés Azure.
Vous devez configurer l’identité managée et vous assurer qu’elle existe avant de l’affecter dans votre modèle. Pour plus d’informations sur les identités managées, consultez Vue d’ensemble des identités managées.
Utiliser une identité managée affectée par l’utilisateur
"resources": [
{
"apiVersion": "2022-03-01",
"type": "Microsoft.Web/hostingEnvironments",
"name": ...,
"location": ...,
"identity": {
"type": "UserAssigned",
"userAssignedIdentities": {
"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asev3-cdns-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ase-cdns-managed-identity"
}
},
"properties": {
"customDnsSuffixConfiguration": {
"dnsSuffix": "antares-test.net",
"certificateUrl": "https://kv-sample-key-vault.vault.azure.net/secrets/wildcard-antares-test-net",
"keyVaultReferenceIdentity": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asev3-cdns-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ase-cdns-managed-identity"
},
"internalLoadBalancingMode": "Web, Publishing",
etc...
}
}
Utiliser une identité managée affectée par le système
"resources": [
{
"apiVersion": "2022-03-01",
"type": "Microsoft.Web/hostingEnvironments",
"name": ...,
"location": ...,
"identity": {
"type": "SystemAssigned"
}
"properties": {
"customDnsSuffixConfiguration": {
"dnsSuffix": "antares-test.net",
"certificateUrl": "https://kv-sample-key-vault.vault.azure.net/secrets/wildcard-antares-test-net",
"keyVaultReferenceIdentity": "systemassigned"
},
"internalLoadBalancingMode": "Web, Publishing",
etc...
}
}
Utiliser Azure Resource Manager pour configurer le suffixe de domaine personnalisé
Vous pouvez également mettre à jour votre App Service Environment existant à l’aide d’Azure Resource Explorer.
- Dans Explorateur de ressources, accédez au nœud de l’environnement App Service (subscriptions>{votre abonnement}>resourceGroups>{votre groupe de ressources}>providers>Microsoft.Web>hostingEnvironments). Cliquez ensuite sur l’App Service Environment spécifique que vous souhaitez mettre à jour.
- Dans la barre d’outils en haut, cliquez sur Lecture/écriture pour autoriser la modification interactive dans l’Explorateur de ressources.
- Sélectionnez le bouton bleu Modifier pour permettre la modification du modèle Resource Manager.
- Faites défiler jusqu'au bas du panneau de droite. L’attribut customDnsSuffixConfiguration se trouve en bas.
- Entrez vos valeurs pour dnsSuffix, certificateUrlet keyVaultReferenceIdentity.
- Accédez à l’attribut d’identité et entrez les détails associés à l’identité managée que vous utilisez.
- Sélectionnez le bouton PUT en haut pour valider la modification apportée à l’instance App Service Environment.
- Le provisioningState sous customDnsSuffixConfiguration fournit un état sur la mise à jour de configuration.
Configuration DNS
Pour accéder à vos applications dans votre App Service Environment à l’aide de votre suffixe de domaine personnalisé, vous devez configurer votre propre serveur DNS ou configurer DNS dans une zone DNS privée Azure pour votre domaine personnalisé.
Si vous souhaitez utiliser votre propre serveur DNS, vous devez ajouter les enregistrements suivants :
- Création d’une zone pour votre domaine personnalisé.
- Créez un enregistrement A dans cette zone, qui pointe * vers l’adresse IP entrante qu’utilise votre App Service Environment.
- Créez un enregistrement A dans cette zone, qui pointe @ vers l’adresse IP entrante qu’utilise votre App Service Environment.
- Créez éventuellement une zone pour le sous-domaine scm avec un enregistrement A * qui pointe vers l’adresse IP entrante utilisée par votre App Service Environment.
Pour configurer DNS dans des zones privées Azure DNS :
- Créez une zone privée Azure DNS nommée pour votre domaine personnalisé. Dans l’exemple suivant, le domaine personnalisé est internal.contoso.com.
- Créez un enregistrement A dans cette zone, qui pointe * vers l’adresse IP entrante qu’utilise votre App Service Environment.
- Créez un enregistrement A dans cette zone, qui pointe @ vers l’adresse IP entrante qu’utilise votre App Service Environment.
- Liez votre zone privée Azure DNS au réseau virtuel de votre App Service Environment.
- Créez éventuellement un enregistrement A dans cette zone, qui pointe *.scm vers l’adresse IP entrante utilisée par votre App Service Environment.
Pour plus d’informations sur la configuration du DNS pour votre domaine, consultez Utiliser un App Service Environment.
Remarque
En plus de configurer DNS pour votre suffixe de domaine personnalisé, vous devriez aussi envisager de configurer DNS pour le suffixe de domaine par défaut pour garantir que toutes les fonctionnalités App Service s’exécutent comme prévu.
Accéder à vos applications
Après avoir configuré le suffixe de domaine personnalisé et le DNS pour votre App Service Environment, vous pouvez accéder à la page Domaines personnalisés de l’une de vos applications App Service dans votre App Service Environment et confirmer l’ajout du domaine personnalisé attribué pour l’application.
Les applications sur l’équilibreur de charge interne App Service Environment sont accessibles en toute sécurité via HTTPS en accédant au domaine personnalisé que vous avez configuré ou au domaine par défaut appserviceenvironment.net comme dans l’image précédente. La possibilité d’accéder à vos applications à l’aide du domaine App Service Environment par défaut et de votre domaine personnalisé est une fonctionnalité unique prise en charge uniquement sur App Service Environment v3.
Cependant, à l’instar des applications qui s’exécutent sur le service multilocataire public, vous pouvez aussi configurer des noms d’hôte personnalisés pour des applications individuelles, puis configurer des liaisons de certificat SNI TLS/SSL uniques pour des applications individuelles.
Dépannage
La plateforme App Service vérifie régulièrement si votre instance App Service Environment peut accéder à votre coffre de clés et si votre certificat est valide. Si les autorisations ou paramètres réseau de votre identité managée, coffre de clés ou instance App Service Environment ne sont pas définis correctement ou ont changé récemment, vous ne pouvez pas configurer un suffixe de domaine personnalisé. Vous recevez une erreur similaire à l’exemple montré dans la capture d’écran. Passez en revue les conditions préalables pour vous assurer que vous avez configuré les autorisations nécessaires. Un message d’erreur similaire s’affiche si la plateforme App Service détecte que votre certificat est détérioré ou expiré.