Einführung
Contoso Retail führt Azure Functions aus, um die ereignisgesteuerte Auftragsverarbeitung und die Bestandssynchronisierung zu ermöglichen. Hierbei handelt es sich um HTTP-ausgelöste Funktionen, die externe Partnersysteme direkt aufrufen und die durch eingehende Webhooks ausgelöst werden, wenn eine Bestellung bestätigt wird oder sich der Lagerbestand ändert. Bei einer Sicherheitsüberprüfung wurden vier Kontrolllücken angezeigt, die seit der erstbereitstellung nicht mehr behoben wurden. Mehrere Produktivfunktionen akzeptieren nicht authentifizierte Anfragen – jeder, der über die URL verfügt, kann sie aufrufen. Cosmos DB-Verbindungszeichenfolgen werden als Nur-Text-Anwendungseinstellungen gespeichert, die für jeden sichtbar sind, der Lesezugriff auf den App Service-Konfigurationsbildschirm hat. Es gibt keine Einschränkungen für eingehende Netzwerke, sodass die Funktionsendpunkte Datenverkehr von überall im Internet akzeptieren. Ihre Logic Apps-Integrationsworkflows offenbaren eine vierte Lücke: Verbindungsressourcen, die von mehreren Apps gemeinsam genutzt werden, enthalten hartcodierte Anmeldeinformationen, für die sich niemand verantwortlich fühlt und die niemand rotiert.
Keine dieser Lücken verursacht einen sofortigen Fehler. Ein nicht authentifizierter HTTP-Trigger funktioniert weiterhin. Eine Klartext-Verbindungszeichenfolge wird weiterhin zur Authentifizierung bei der Datenbank verwendet. Das Risiko bleibt unbemerkt, bis Anmeldedaten gestohlen, eine Funktion missbraucht oder bei der Untersuchung einer Sicherheitsverletzung offengelegt wird, dass jeder Endpunkt die ganze Zeit über zum Internet hin offen war.
Serverlose Workloads erfordern das gleiche dreistufige Sicherheitsmodell, das Sie auf jede API-Oberfläche anwenden. Die erste Ebene steuert, wer die Funktion aufrufen kann – Authentifizierung und Autorisierung. Auf der zweiten Ebene wird gesteuert, wie die Funktion bei nachgeschalteten Aufrufen – verwalteter Identität – fungiert. Die dritte Ebene steuert, was den Funktionsendpunkt an erster Stelle erreichen kann – Netzwerkisolation.
Dieses Modul behandelt jede Ebene sowohl für Azure Functions als auch für Azure Logic Apps. Für Function Apps konfigurieren Sie die Azure App Service-Authentifizierung mit Microsoft Entra ID, weisen eine verwaltete Identität zu, um Verbindungszeichenfolgen zu vermeiden, und verwenden eingehende IP-Einschränkungen, private Endpunkte, die Integration in virtuelle Netzwerke und Key Vault-Verweise. Bei Logik-Apps wenden Sie dieselben verwalteten Identitäts- und Netzwerkmuster an, wählen den richtigen Hostingplan basierend auf den Netzwerkfunktionenanforderungen und schützen vertrauliche Daten, die über den Ausführungsverlauf verfügbar gemacht werden.
Am Ende dieses Moduls können Sie Authentifizierung, verwaltete Identität und Netzwerkisolation für Azure Funktions-Apps und Logik-Apps in einem Produktionssicherheitsstatus konfigurieren.
Lernziele
Nach Abschluss dieses Moduls werden Sie zu Folgendem in der Lage sein:
- Konfigurieren von Authentifizierungs- und Autorisierungssteuerelementen für Azure Funktions-Apps
- Implementieren von Netzwerkzugriffssteuerungen für Funktions-Apps, einschließlich der Integration virtueller Netzwerke und privater Endpunkte
- Anwenden von verwalteter Identität, Connectorsicherheit und Netzwerkisolation für Azure Logik-Apps