App Service-authenticatie en netwerken
Schakel ingebouwde authenticatieproviders (Entra ID, Google, GitHub) in voor uw webapp en beperk inkomend verkeer met VNet Integration en toegangsbeperkingen.
App Service-authenticatie en netwerken is een gratis Cloud & IT Cert Prep-les op CoddyKit. Dit is les 4 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Cloud & IT Cert Prep. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Cloud & IT Cert Prep bevat in totaal 4 lessen.
Ingebouwde verificatie in App Service
Azure App Service biedt een ingebouwde module voor verificatie en autorisatie (soms EasyAuth genoemd) die aanmeldingsstromen, tokenvalidatie en sessiebeheer afhandelt zonder wijzigingen in de code van je toepassing. Je kunt deze rechtstreeks inschakelen in de Azure-portal en kiezen uit meerdere identiteitsproviders. Dit is ideaal om snel verificatie toe te voegen aan een API of interne toepassing zonder OAuth-stromen zelf te implementeren.
Ondersteunde identiteitsproviders
Verificatie in App Service ondersteunt standaard verschillende identiteitsproviders: Microsoft Entra ID (voor bedrijfs- of zakelijke aanmeldingen), Google, Facebook, Twitter/X, GitHub en elke provider die compatibel is met OpenID Connect. Je registreert je toepassing bij de gekozen provider om een client-ID en geheim te verkrijgen en configureert deze vervolgens in App Service. Je kunt meerdere providers tegelijk inschakelen, zodat gebruikers kunnen kiezen hoe ze zich aanmelden.
# 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 RedirectToLoginPageTokenopslag en claims van gebruikers benaderen
Wanneer verificatie is ingeschakeld, slaat App Service gevalideerde tokens op in de tokenopslag — een persistente opslag per gebruikerssessie. Je toepassingscode kan de claims van de geverifieerde gebruiker benaderen via speciale HTTP-aanvraagheaders die door de EasyAuth-module worden toegevoegd: X-MS-CLIENT-PRINCIPAL-NAME (e-mailadres/UPN), X-MS-CLIENT-PRINCIPAL-ID (object-ID) en X-MS-TOKEN-AAD-ACCESS-TOKEN voor het onbewerkte toegangstoken.
// 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());VNet-integratie voor uitgaand verkeer
Met VNet Integration kan een App Service-app uitgaande aanroepen doen naar resources binnen een Azure Virtual Network, zoals VM's, SQL-databases en interne API's, zonder deze resources bloot te stellen aan het openbare internet. De app krijgt een virtuele NIC in een gedelegeerd subnet van het VNet en kan elke resource bereiken die het VNet kan bereiken, inclusief resources in je on-premises omgeving via VPN of ExpressRoute. VNet Integration is beschikbaar vanaf de Standard-laag.
# 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=1Privé-eindpunten voor inkomend verkeer
Terwijl VNet Integration uitgaand verkeer afhandelt, verwerkt een privé-eindpunt inkomend verkeer — hiermee is je App Service alleen toegankelijk vanuit je VNet via een privé-IP-adres. Externe internettoegang tot azurewebsites.net wordt geblokkeerd wanneer een privé-eindpunt de enige toegangsmethode is. Dit wordt gebruikt voor interne API's en beheerportalen die nooit aan het openbare internet mogen worden blootgesteld.
# 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 MyWebAppConnectionToegangsbeperkingen
Met toegangsbeperkingen in App Service kun je een lijst met toegestane of geweigerde IP-adressen voor inkomend verkeer definiëren. Regels worden geëvalueerd in volgorde van prioriteit (een lager getal betekent een hogere prioriteit). Je kunt de toegang beperken tot specifieke IP-bereiken (bijvoorbeeld het uitgaande IP-adres van de VPN op kantoor), Azure-servicetags (bijvoorbeeld AzureLoadBalancer) of specifieke VNet-subnets. Gebruik toegangsbeperkingen om je staging-slot af te schermen, zodat alleen het IP-bereik van je team toegang heeft.
# 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'Hybride verbindingen
Met Hybrid Connections (uit BizTalk) kan App Service on-premises resources bereiken zonder VNet Integration of een VPN-gateway. Een lichtgewicht relay-agent die on-premises is geïnstalleerd, maakt een uitgaande verbinding met Azure Service Bus; je app maakt verbinding via de relay. Hybrid Connections werken op TCP-niveau en ondersteunen elke poort. Ze zijn nuttig voor verbindingen met verouderde on-premises databases of API's die niet naar Azure kunnen worden verplaatst.
# 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 relayBeheerde identiteit voor App Service
Wijs een beheerde identiteit toe aan je App Service-app, zodat deze zich kan verifiëren bij andere Azure-services (Key Vault, Blob Storage, SQL Database) zonder ergens referenties op te slaan. Azure beheert de referenties van de identiteit automatisch. Gebruik een door het systeem toegewezen identiteit (gekoppeld aan de levenscyclus van de app) of een door de gebruiker toegewezen identiteit (gedeeld door meerdere apps). Ken RBAC-rollen toe aan de identiteit op de doelresources.
# 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 listCORS inschakelen
Cross-Origin Resource Sharing (CORS) bepaalt welke domeinen vanuit een browser API-aanroepen naar je App Service-app mogen doen. Configureer toegestane origins in de CORS-instellingen — retourneer in productie geen jokerteken (*) voor API's waarvoor verificatie vereist is. De ingebouwde CORS-ondersteuning van App Service voegt automatisch de antwoordheaders Access-Control-Allow-Origin toe. Daardoor heb je voor eenvoudige gevallen geen CORS-middleware in je toepassingscode nodig.
# 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.comApp Service-omgevingen (ASE)
Een App Service Environment (ASE) is een volledig geïsoleerde, toegewezen implementatie van App Service die binnen je eigen VNet wordt uitgevoerd. Deze biedt het hoogste niveau van netwerkisolatie, schaalbaarheid (maximaal 200 instanties) en afstemming op nalevingsvereisten. ASE v3 maakt een toegewezen openbaar IP-adres overbodig en ondersteunt standaard privé-eindpunten. De keerzijde zijn de aanzienlijk hogere kosten — ASE is bedoeld voor bedrijfsbelastingen met strenge isolatievereisten.
Samenvatting van aanbevolen beveiligingspraktijken
Voor een veilige App Service-implementatie: dwing alleen HTTPS af, gebruik toegangsbeperkingen om inkomende IP-adressen te beperken, schakel beheerde identiteit in om geheimen uit configuratie te houden, sla geheimen op in Key Vault met Key Vault-verwijzingen, pas minimale TLS-versie 1.2 toe, schakel Defender for App Service in voor bedreigingsdetectie en controleer regelmatig de aanbevelingen van Azure Security Center voor de app-resource.
# 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 DisabledKorte controle
Test je kennis van de concepten uit Microsoft Azure Fundamentals (AZ-900) die in deze les aan bod kwamen.
Samenvatting van de les
In deze les heb je geleerd dat ingebouwde verificatie (EasyAuth) aanmelding via identiteitsproviders toevoegt zonder wijzigingen in de code, dat VNet Integration uitgaand verkeer via je virtuele netwerk routeert terwijl privé-eindpunten inkomend verkeer afschermen, en dat beheerde identiteit verificatie zonder wachtwoord bij andere Azure-services mogelijk maakt. Hierna verkennen we Azure Container Registry.
Leer Cloud & IT Cert Prep met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 150
- Lessen
- 600
Veelgestelde vragen
Is de les “App Service-authenticatie en netwerken” gratis?
Ja — de volledige tekst van “App Service-authenticatie en netwerken” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus Cloud & IT Cert Prep wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus Cloud & IT Cert Prep bevat in totaal 4 lessen.
Wat leer ik in “App Service-authenticatie en netwerken”?
Schakel ingebouwde authenticatieproviders (Entra ID, Google, GitHub) in voor uw webapp en beperk inkomend verkeer met VNet Integration en toegangsbeperkingen. Je oefent met Cloud & IT Cert Prep door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met Cloud & IT Cert Prep te beginnen?
Ervaring vooraf is niet nodig. Cloud & IT Cert Prep op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 4 van 4.
Hoe lang duurt de les “App Service-authenticatie en netwerken”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over Cloud & IT Cert Prep?
Ja. Elke les over Cloud & IT Cert Prep bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- Een App Service-plan en webapp maken
- Deploymentslots en swappen
- Autoscaling en aangepaste domeinen
- App Service-authenticatie en netwerken