Authentifizierung und Netzwerk in App Service
Aktivieren Sie integrierte Authentifizierungsanbieter (Entra ID, Google, GitHub) für Ihre Web-App und schränken Sie eingehenden Datenverkehr mit VNet Integration und Zugriffsbeschränkungen ein.
Authentifizierung und Netzwerk in App Service ist eine kostenlose Azure Fundamentals-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Azure Fundamentals-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Azure Fundamentals-Kurs umfasst insgesamt 4 Lektionen.
Integrierte Authentifizierung in App Service
Azure App Service bietet ein integriertes Authentifizierungs- und Autorisierungsmodul (manchmal als EasyAuth bezeichnet), das Anmeldeabläufe, die Tokenvalidierung und die Sitzungsverwaltung ohne Änderungen am Code Ihrer Anwendung übernimmt. Sie können es direkt im Azure-Portal aktivieren und aus mehreren Identitätsanbietern auswählen. Dies ist ideal, um schnell eine Authentifizierung für eine API oder ein internes Tool hinzuzufügen, ohne OAuth-Abläufe selbst implementieren zu müssen.
Unterstützte Identitätsanbieter
Die App-Service-Authentifizierung unterstützt standardmäßig mehrere Identitätsanbieter: Microsoft Entra ID (für Unternehmens- und Firmenanmeldungen), Google, Facebook, Twitter/X, GitHub sowie alle mit OpenID Connect kompatiblen Anbieter. Sie registrieren Ihre App beim ausgewählten Anbieter, um eine Client-ID und ein Geheimnis zu erhalten, und konfigurieren diese anschließend in App Service. Mehrere Anbieter können gleichzeitig aktiviert werden, sodass Benutzer auswählen können, wie sie sich anmelden.
# 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 RedirectToLoginPageTokenspeicher und Zugriff auf Benutzerclaims
Wenn die Authentifizierung aktiviert ist, speichert App Service validierte Token im Tokenspeicher – einem dauerhaften Speicher pro Benutzersitzung. Ihr Anwendungscode kann über spezielle HTTP-Anforderungsheader, die vom EasyAuth-Modul eingefügt werden, auf die Claims des authentifizierten Benutzers zugreifen: X-MS-CLIENT-PRINCIPAL-NAME (E-Mail/UPN), X-MS-CLIENT-PRINCIPAL-ID (Objekt-ID) und X-MS-TOKEN-AAD-ACCESS-TOKEN für das unverarbeitete Zugriffstoken.
// 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-Integration für ausgehenden Datenverkehr
VNet-Integration ermöglicht einer App-Service-App, ausgehende Aufrufe an Ressourcen innerhalb eines Azure Virtual Network zu senden – beispielsweise an VMs, SQL-Datenbanken und interne APIs –, ohne diese Ressourcen im öffentlichen Internet bereitzustellen. Die App erhält eine virtuelle Netzwerkschnittstelle in einem delegierten Subnetz des VNet und kann jede Ressource erreichen, die auch das VNet erreichen kann, einschließlich lokaler Ressourcen über VPN oder ExpressRoute. Die VNet-Integration ist ab der Standard-Tarifstufe verfügbar.
# 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=1Private Endpoints für eingehenden Datenverkehr
Während die VNet-Integration den ausgehenden Datenverkehr verarbeitet, übernimmt ein privater Endpunkt den eingehenden Datenverkehr. Dadurch ist Ihre App Service-App nur innerhalb Ihres VNet über eine private IP-Adresse zugänglich. Der externe Internetzugriff auf azurewebsites.net wird blockiert, wenn ein privater Endpunkt die einzige Zugriffsmethode ist. Dies wird für interne APIs und Administratorportale verwendet, die niemals im öffentlichen Internet verfügbar sein sollen.
# 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 MyWebAppConnectionZugriffsbeschränkungen
Mit Zugriffsbeschränkungen in App Service können Sie eine IP-Zulassungs- oder -Sperrliste für eingehenden Datenverkehr definieren. Regeln werden in der Reihenfolge ihrer Priorität ausgewertet (kleinere Zahl = höhere Priorität). Sie können den Zugriff auf bestimmte IP-Adressbereiche (z. B. die ausgehende IP-Adresse Ihres Office-VPN), Azure-Diensttags (z. B. AzureLoadBalancer) oder bestimmte VNet-Subnetze beschränken. Verwenden Sie Zugriffsbeschränkungen, um Ihren Stagingslot abzusichern, sodass nur der IP-Adressbereich Ihres Teams darauf zugreifen kann.
# 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'Hybrid Connections
Hybrid Connections (aus BizTalk) ermöglichen App Service den Zugriff auf lokale Ressourcen, ohne dass eine VNet-Integration oder ein VPN-Gateway erforderlich ist. Ein lokal installierter, ressourcenschonender Relay-Agent stellt eine ausgehende Verbindung zu Azure Service Bus her, und Ihre App verbindet sich über dieses Relay. Hybrid Connections arbeiten auf TCP-Ebene und unterstützen jeden Port. Sie eignen sich daher für die Verbindung mit älteren lokalen Datenbanken oder APIs, die nicht zu Azure migriert werden können.
# 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 relayVerwaltete Identität für App Service
Weisen Sie Ihrer App-Service-App eine verwaltete Identität zu, damit sie sich bei anderen Azure-Diensten (Key Vault, Blob Storage, SQL Database) authentifizieren kann, ohne Anmeldeinformationen irgendwo speichern zu müssen. Azure verwaltet die Anmeldeinformationen der Identität automatisch. Verwenden Sie eine systemseitig zugewiesene Identität (an den Lebenszyklus der App gebunden) oder eine benutzerseitig zugewiesene Identität (von mehreren Apps gemeinsam genutzt). Weisen Sie der Identität RBAC-Rollen für die Zielressourcen zu.
# 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 aktivieren
Cross-Origin Resource Sharing (CORS) steuert, welche Domänen browserbasierte API-Aufrufe an Ihre App-Service-App senden dürfen. Konfigurieren Sie die zulässigen Ursprünge in den CORS-Einstellungen. Geben Sie in Produktionsumgebungen für authentifizierte APIs keinen Platzhalter (*) zurück. Die integrierte CORS-Unterstützung von App Service fügt die Antwortheader Access-Control-Allow-Origin automatisch hinzu. In einfachen Fällen ist daher keine CORS-Middleware in Ihrem Anwendungscode erforderlich.
# 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-Umgebungen (ASE)
Eine App-Service-Umgebung (ASE) ist eine vollständig isolierte, dedizierte App-Service-Bereitstellung, die in Ihrem eigenen VNet ausgeführt wird. Sie bietet das höchste Maß an Netzwerkisolierung, Skalierbarkeit (bis zu 200 Instanzen) und Compliance-Ausrichtung. ASE v3 macht keine dedizierte öffentliche IP-Adresse mehr erforderlich und unterstützt private Endpunkte nativ. Der Nachteil sind deutlich höhere Kosten. ASE ist für Unternehmensworkloads mit strengen Anforderungen an die Isolation vorgesehen.
Zusammenfassung der bewährten Sicherheitsmethoden
Für eine sichere App-Service-Bereitstellung sollten Sie Folgendes tun: Nur-HTTPS erzwingen, Zugriffsbeschränkungen verwenden, um eingehende IP-Adressen zu begrenzen, eine verwaltete Identität aktivieren, um Geheimnisse in der Konfiguration zu vermeiden, Geheimnisse mit Key Vault-Referenzen in Key Vault speichern, die minimale TLS-Version 1.2 anwenden, Defender for App Service zur Bedrohungserkennung aktivieren und regelmäßig die Empfehlungen von Azure Security Center für die App-Ressource überprüfen.
# 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 DisabledKurze Überprüfung
Testen Sie Ihr Verständnis der Konzepte aus Microsoft Azure Fundamentals (AZ-900), die in dieser Lektion behandelt wurden.
Zusammenfassung der Lektion
In dieser Lektion haben Sie Folgendes gelernt: Die integrierte Authentifizierung (EasyAuth) fügt die Anmeldung über Identitätsanbieter ohne Codeänderungen hinzu, die VNet-Integration leitet ausgehenden Datenverkehr über Ihr virtuelles Netzwerk, während private Endpunkte den eingehenden Datenverkehr absichern, und eine verwaltete Identität ermöglicht die kennwortlose Authentifizierung bei anderen Azure-Diensten. Als Nächstes befassen wir uns mit Azure Container Registry.
Häufig gestellte Fragen
Ist die Lektion „Authentifizierung und Netzwerk in App Service“ kostenlos?
Ja — der vollständige Text von „Authentifizierung und Netzwerk in App Service“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Azure Fundamentals-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Azure Fundamentals-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Authentifizierung und Netzwerk in App Service“?
Aktivieren Sie integrierte Authentifizierungsanbieter (Entra ID, Google, GitHub) für Ihre Web-App und schränken Sie eingehenden Datenverkehr mit VNet Integration und Zugriffsbeschränkungen ein. Du übst Azure Fundamentals mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Azure Fundamentals zu starten?
Keine Vorkenntnisse erforderlich. Azure Fundamentals auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.
Wie lange dauert die Lektion „Authentifizierung und Netzwerk in App Service“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Azure Fundamentals-Lektion Code schreiben und ausführen?
Ja. Jede Azure Fundamentals-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- App-Service-Plan und Web-App erstellen
- Bereitstellungsslots und Austausch
- Automatische Skalierung und benutzerdefinierte Domänen
- Authentifizierung und Netzwerk in App Service