0Pricing
Azure Fundamentals · Leçon

Authentification et mise en réseau App Service

Activez les fournisseurs d’authentification intégrés (Entra ID, Google, GitHub) pour votre application web et limitez le trafic entrant grâce à l’intégration VNet et aux restrictions d’accès.

Authentification et mise en réseau App Service est une leçon Azure Fundamentals gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Azure Fundamentals, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Azure Fundamentals comprend 4 leçons au total.

Authentification intégrée dans App Service

Azure App Service fournit un module intégré d’authentification et d’autorisation (parfois appelé EasyAuth) qui gère les processus de connexion, la validation des jetons et la gestion des sessions sans modifier le code de votre application. Vous pouvez l’activer directement dans le portail Azure et choisir parmi plusieurs fournisseurs d’identité. Cette solution est idéale pour ajouter rapidement une authentification à une API ou à un outil interne sans implémenter vous-même les flux OAuth.

Fournisseurs d’identité pris en charge

L’authentification App Service prend en charge plusieurs fournisseurs d’identité prêts à l’emploi : Microsoft Entra ID (pour les connexions d’entreprise), Google, Facebook, Twitter/X, GitHub et tout fournisseur compatible avec OpenID Connect. Vous inscrivez votre application auprès du fournisseur choisi afin d’obtenir un ID client et un secret, puis vous les configurez dans App Service. Plusieurs fournisseurs peuvent être activés simultanément, ce qui permet aux utilisateurs de choisir leur mode de connexion.

# Enable Microsoft Entra ID authentication via CLI
az webapp auth microsoft update \
  --name MyUniqueWebApp \
  --resource-group MyRG \
  --client-id '<Entra-App-Client-ID>' \
  --client-secret '<Client-Secret>' \
  --issuer 'https://sts.windows.net/<TenantId>/'

# Set action when unauthenticated (redirect or 401)
az webapp auth update \
  --name MyUniqueWebApp \
  --resource-group MyRG \
  --unauthenticated-client-action RedirectToLoginPage

Magasin de jetons et accès aux revendications utilisateur

Lorsque l’authentification est activée, App Service stocke les jetons validés dans le magasin de jetons — un stockage persistant pour chaque session utilisateur. Le code de votre application peut accéder aux revendications de l’utilisateur authentifié via des en-têtes de requête HTTP spéciaux injectés par le module EasyAuth : X-MS-CLIENT-PRINCIPAL-NAME (adresse e-mail/UPN), X-MS-CLIENT-PRINCIPAL-ID (ID d’objet) et X-MS-TOKEN-AAD-ACCESS-TOKEN pour le jeton d’accès brut.

// Node.js: read user identity from EasyAuth headers
app.get('/profile', (req, res) => {
  const userName = req.headers['x-ms-client-principal-name'];
  const userId = req.headers['x-ms-client-principal-id'];
  res.json({ name: userName, id: userId });
});

// Or decode the full claims JSON from the header
const principalHeader = req.headers['x-ms-client-principal'];
const claims = JSON.parse(Buffer.from(principalHeader, 'base64').toString());

Intégration VNet pour le trafic sortant

VNet Integration permet à une application App Service d’effectuer des appels sortants vers des ressources situées dans un réseau virtuel Azure, telles que des machines virtuelles, des bases de données SQL et des API internes, sans exposer ces ressources à l’Internet public. L’application obtient une interface réseau virtuelle dans un sous-réseau délégué du VNet et peut atteindre toutes les ressources accessibles depuis ce VNet, y compris les ressources locales via VPN ou ExpressRoute. VNet Integration est disponible à partir du niveau Standard.

# Enable VNet Integration
az webapp vnet-integration add \
  --name MyUniqueWebApp \
  --resource-group MyRG \
  --vnet MyVNet \
  --subnet AppServiceSubnet

# Route ALL traffic through the VNet (including internet)
az webapp config appsettings set \
  --name MyUniqueWebApp \
  --resource-group MyRG \
  --settings WEBSITE_VNET_ROUTE_ALL=1

Points de terminaison privés pour le trafic entrant

Alors que VNet Integration gère le trafic sortant, un point de terminaison privé gère le trafic entrant : il rend votre App Service accessible uniquement depuis votre VNet via une adresse IP privée. L’accès Internet externe à azurewebsites.net est bloqué lorsqu’un point de terminaison privé constitue le seul mode d’accès. Cette solution est utilisée pour les API internes et les portails d’administration qui ne doivent jamais être exposés à l’Internet public.

# Create a private endpoint for the web app
az network private-endpoint create \
  --name MyWebAppPE \
  --resource-group MyRG \
  --vnet-name MyVNet \
  --subnet PrivateEndpointSubnet \
  --private-connection-resource-id \
    '/subscriptions/.../providers/Microsoft.Web/sites/MyUniqueWebApp' \
  --group-id sites \
  --connection-name MyWebAppConnection

Restrictions d’accès

Les restrictions d’accès dans App Service vous permettent de définir une liste d’adresses IP autorisées ou refusées pour le trafic entrant. Les règles sont évaluées par ordre de priorité (un nombre plus faible correspond à une priorité plus élevée). Vous pouvez limiter l’accès à des plages d’adresses IP spécifiques (par exemple, l’adresse IP de sortie de votre VPN de bureau), à des balises de service Azure (par exemple, AzureLoadBalancer) ou à des sous-réseaux VNet spécifiques. Utilisez les restrictions d’accès pour verrouiller votre emplacement de préproduction afin que seule la plage d’adresses IP de votre équipe puisse y accéder.

# Allow only a specific IP range
az webapp config access-restriction add \
  --name MyUniqueWebApp \
  --resource-group MyRG \
  --priority 100 \
  --action Allow \
  --ip-address 203.0.113.0/24 \
  --rule-name 'OfficeRange'

# Allow Azure Front Door service tag
az webapp config access-restriction add \
  --name MyUniqueWebApp \
  --resource-group MyRG \
  --priority 200 \
  --action Allow \
  --service-tag AzureFrontDoor.Backend \
  --rule-name 'FrontDoor'

Connexions hybrides

Les connexions hybrides (issues de BizTalk) permettent à App Service d’atteindre des ressources locales sans nécessiter VNet Integration ni passerelle VPN. Un agent relais léger installé sur site établit une connexion sortante vers Azure Service Bus ; votre application se connecte par l’intermédiaire de ce relais. Les connexions hybrides fonctionnent au niveau TCP et prennent en charge n’importe quel port, ce qui est utile pour se connecter à des bases de données ou à des API locales existantes qui ne peuvent pas être déplacées vers Azure.

# Add a Hybrid Connection to reach on-prem SQL
az webapp hybrid-connection add \
  --name MyUniqueWebApp \
  --resource-group MyRG \
  --namespace myServiceBusNS \
  --hybrid-connection on-prem-sql-relay

# The Hybrid Connection Manager agent must be installed
# and configured on the on-premises server to complete the relay

Identité managée pour App Service

Attribuez une identité managée à votre application App Service afin qu’elle puisse s’authentifier auprès d’autres services Azure (Key Vault, Blob Storage, SQL Database) sans stocker d’informations d’identification. Azure gère automatiquement les informations d’identification de l’identité. Utilisez une identité attribuée par le système (liée au cycle de vie de l’application) ou une identité attribuée par l’utilisateur (partagée entre plusieurs applications). Attribuez à l’identité des rôles RBAC sur les ressources cibles.

# Enable system-assigned managed identity
az webapp identity assign \
  --name MyUniqueWebApp \
  --resource-group MyRG

# Grant the identity access to Key Vault secrets
az keyvault set-policy \
  --name MyKeyVault \
  --object-id $(az webapp identity show \
      --name MyUniqueWebApp \
      --resource-group MyRG \
      --query principalId -o tsv) \
  --secret-permissions get list

Activer CORS

Cross-Origin Resource Sharing (CORS) contrôle les domaines autorisés à effectuer des appels d’API depuis un navigateur vers votre application App Service. Configurez les origines autorisées dans les paramètres CORS — ne renvoyez pas de caractère générique (*) en production pour les API authentifiées. La prise en charge intégrée de CORS dans App Service ajoute automatiquement les en-têtes de réponse Access-Control-Allow-Origin, ce qui évite d’avoir besoin d’un intergiciel CORS dans le code de votre application pour les cas simples.

# Allow specific origin
az webapp cors add \
  --name MyUniqueWebApp \
  --resource-group MyRG \
  --allowed-origins https://www.contoso.com

# View current CORS settings
az webapp cors show \
  --name MyUniqueWebApp \
  --resource-group MyRG

# Remove a CORS origin
az webapp cors remove \
  --name MyUniqueWebApp \
  --resource-group MyRG \
  --allowed-origins https://old.contoso.com

Environnements App Service (ASE)

Un environnement App Service (ASE) est un déploiement App Service entièrement isolé et dédié, exécuté dans votre propre VNet. Il fournit le plus haut niveau d’isolation réseau, une grande évolutivité (jusqu’à 200 instances) et un meilleur alignement avec les exigences de conformité. ASE v3 supprime le besoin d’une adresse IP publique dédiée et prend nativement en charge les points de terminaison privés. En contrepartie, son coût est nettement plus élevé : ASE est destiné aux charges de travail d’entreprise soumises à des exigences strictes d’isolation.

Résumé des bonnes pratiques de sécurité

Pour sécuriser un déploiement App Service : imposez l’utilisation exclusive de HTTPS, utilisez les restrictions d’accès pour limiter les adresses IP entrantes, activez l’identité managée afin d’éviter les secrets dans la configuration, stockez les secrets dans Key Vault avec des références Key Vault, appliquez une version TLS minimale de 1.2, activez Defender for App Service pour détecter les menaces et examinez régulièrement les recommandations d’Azure Security Center pour la ressource d’application.

# Enforce HTTPS and minimum TLS version
az webapp update \
  --name MyUniqueWebApp \
  --resource-group MyRG \
  --https-only true

az webapp config set \
  --name MyUniqueWebApp \
  --resource-group MyRG \
  --min-tls-version '1.2' \
  --ftps-state Disabled

Vérification rapide

Vérifiez votre compréhension des concepts de Microsoft Azure Fundamentals (AZ-900) abordés dans cette leçon.

Récapitulatif de la leçon

Dans cette leçon, vous avez appris que l’authentification intégrée (EasyAuth) ajoute la connexion via un fournisseur d’identité sans modification du code, que VNet Integration achemine le trafic sortant via votre réseau virtuel tandis que les points de terminaison privés sécurisent le trafic entrant, et que l’identité managée permet une authentification sans mot de passe auprès d’autres services Azure. Nous allons maintenant découvrir Azure Container Registry.

Questions Fréquemment Posées

La leçon « Authentification et mise en réseau App Service » est-elle gratuite ?

Oui — le texte complet de « Authentification et mise en réseau App Service » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Azure Fundamentals, passe à CoddyKit PRO. Le cours Azure Fundamentals comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Authentification et mise en réseau App Service » ?

Activez les fournisseurs d’authentification intégrés (Entra ID, Google, GitHub) pour votre application web et limitez le trafic entrant grâce à l’intégration VNet et aux restrictions d’accès. Tu pratiques Azure Fundamentals avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Azure Fundamentals ?

Aucune expérience préalable n'est requise. Azure Fundamentals sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.

Combien de temps prend la leçon « Authentification et mise en réseau App Service » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Azure Fundamentals ?

Oui. Chaque leçon Azure Fundamentals inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Création d’un plan App Service et d’une application web
  2. Emplacements de déploiement et permutation
  3. Mise à l’échelle automatique et domaines personnalisés
  4. Authentification et mise en réseau App Service
← Retour à Azure Fundamentals