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.
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.
Laden Sie eine Visio-Datei dieser Architektur herunter.
Datenfluss
- Die Anwendung sendet während des Debuggens in Visual Studio eine Authentifizierungsanforderung oder authentifiziert sich über die MSI in Azure.
- Nach erfolgreicher Authentifizierung gibt Microsoft Entra ID ein Zugriffstoken zurück.
- 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.
- Nach erfolgreicher Autorisierung sendet App Configuration den Konfigurationswert.
- 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.
- 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:
- Sowmyan Soman | Principal Cloud Solution Architect
Nächste Schritte
Erfahren Sie mehr über die Komponententechnologien:
- Azure App Configuration
- Azure Key Vault
- Verwenden von Key Vault-Verweisen für App Service und Azure Functions
- Verwenden verwalteter Identitäten für den Zugriff auf App Configuration
- Sicheres Speichern von App-Geheimnissen in Entwicklungsumgebungen in ASP.NET Core