Zentralisierte App-Konfiguration und -Sicherheit

Microsoft Entra ID
Azure App Configuration
Azure-Schlüsseltresor

Lösungsmöglichkeiten

In diesem Artikel ist ein Lösungsvorschlag beschrieben. Ihr Cloudarchitekt kann diesen Leitfaden verwenden, um die Hauptkomponenten einer typischen Implementierung dieser Architektur zu visualisieren. Verwenden Sie diesen Artikel als Ausgangspunkt, um eine gut durchdachte Lösung zu entwerfen, die den spezifischen Anforderungen Ihrer Workload entspricht.

In diesem Artikel wird eine Lösung zum Erstellen einer robusten und skalierbaren Anwendung in einer verteilten Umgebung beschrieben. Die Lösung verwendet Azure App Configuration und Azure Key Vault zum Verwalten und Speichern von App-Konfigurationseinstellungen, Featureflags und Einstellungen für den sicheren Zugriff an einer zentralen Stelle.

Aufbau

In den folgenden Abbildungen sehen Sie, wie App Configuration und Key Vault zusammen verwendet werden können, um Apps in Entwicklungs- und Azure-Umgebungen zu verwalten und zu schützen.

Entwicklungsumgebung

In der Entwicklungsumgebung verwendet die App eine Identität über Visual Studio oder Version 2.0 der Azure-Befehlszeilenschnittstelle für Anmeldungen und um eine Authentifizierungsanforderung an Microsoft Entra ID zu senden.

Architekturdiagramm der Anmeldung und Authentifizierung einer App in einer Entwicklungsumgebung

Laden Sie eine Visio-Datei dieser Architektur herunter.

Staging- oder Produktionsumgebung in Azure

Die Azure Staging- und Produktionsumgebungen verwenden eine verwaltete Identität für die Anmeldung und Authentifizierung.

Architekturdiagramm der Anmeldung und Authentifizierung einer App in einer Staging- oder Produktionsumgebung

Laden Sie eine Visio-Datei dieser Architektur herunter.

Datenfluss

  1. Die Anwendung sendet während des Debuggens in Visual Studio eine Authentifizierungsanforderung oder authentifiziert sich über die MSI in Azure.
  2. Nach erfolgreicher Authentifizierung gibt Microsoft Entra ID ein Zugriffstoken zurück.
  3. Das App Configuration SDK sendet eine Anforderung mit dem Zugriffstoken, um den Key Vault-Wert secretURI der App für den Schlüsseltresor der App zu lesen.
  4. Nach erfolgreicher Autorisierung sendet App Configuration den Konfigurationswert.
  5. Mithilfe der Anmeldeidentität sendet die App eine Anforderung an Key Vault, um das Anwendungsgeheimnis für den secretURI abzurufen, der von App Configuration gesendet wurde.
  6. Nach erfolgreicher Autorisierung gibt Key Vault den Geheimniswert zurück.

Komponenten

  • Microsoft Entra ID ist eine universelle Plattform zum Verwalten und Schützen von Identitäten.
  • App Configuration ermöglicht das Speichern von Konfigurationen aller Ihrer Azure-Apps an einem universellen, gehosteten Speicherort.
  • Verwaltete Identitäten stellen eine Identität bereit, mit deren Hilfe Anwendungen eine Verbindung mit Ressourcen herstellen können, die die Microsoft Entra-Authentifizierung unterstützen.
  • Key Vault schützt kryptografische Schlüssel und andere Geheimnisse, die von Cloud-Apps und -diensten verwendet werden.

Szenariodetails

Cloudbasierte Anwendungen werden häufig auf mehreren VMs oder in Containern in mehreren Regionen ausgeführt, und es werden mehrere externe Dienste verwendet. Das Erstellen einer stabilen und skalierbaren Anwendung in einer verteilten Umgebung stellt eine große Herausforderung dar.

Mithilfe von App Configuration können Sie alle Konfigurationseinstellungen und Featureflags sowie die Einstellungen für den sicheren Zugriff Ihrer App an einem Ort verwalten und speichern. App Configuration kann nahtlos mit Key Vault verwendet werden. Bei diesem Dienst werden Kennwörter, Schlüssel und Geheimnisse für den sicheren Zugriff gespeichert.

Mögliche Anwendungsfälle

Prinzipiell kann zwar jede Anwendung App Configuration verwenden. Die folgenden Anwendungstypen können jedoch den meisten Nutzen daraus ziehen:

  • Microservices in Azure Kubernetes Service (AKS) oder andere Container-Apps, die in einer oder mehreren Regionen bereitgestellt werden.
  • Serverlose Apps, z. B. Azure Functions oder andere ereignisgesteuerte zustandslose Compute-Apps.
  • Apps, die eine Continuous Deployment-Pipeline (CD) verwenden.

Überlegungen

Diese Überlegungen beruhen auf den Säulen des Azure Well-Architected Frameworks, d. h. einer Reihe von Grundsätzen, mit denen die Qualität von Workloads verbessert werden kann. Weitere Informationen finden Sie unter Microsoft Azure Well-Architected Framework.

  • Am besten verwenden Sie pro Anwendung und je Umgebung jeweils einen anderen Schlüsseltresor: Entwicklung, Präproduktion in Azure und Produktion in Azure. Wenn verschiedene Schlüsseltresore verwendet werden, verhindert dies die umgebungsübergreifende Schlüsselfreigabe und reduziert damit Gefahren im Falle einer Sicherheitsverletzung.

  • Zur Verwendung dieser Szenarien muss die Anmeldeidentität über die Rolle App Configuration-Datenleser in der App Configuration-Ressource verfügen. Außerdem sind explizite Zugriffsrichtlinien für den Abruf der Geheimnisse in Key Vault erforderlich.

Beitragende

Dieser Artikel wird von Microsoft gepflegt. Er wurde ursprünglich von folgenden Mitwirkenden geschrieben:

Hauptautor:

Nächste Schritte

Erfahren Sie mehr über die Komponententechnologien: