Heute werde ich zeigen, wie man Konfigurationsgeheimnisse speichert Azure App ServiceAzure App Service ist eine Plattform von Microsoft, die die Entwicklung und das Hosting von Web- und mobilen Anwendungen in der Cloud ermöglicht. Es bietet Unterstützung für verschiedene Programmiersprachen, wie .NET, Java, PHP und Python. Mit Funktionen wie automatischer Skalierung, kontinuierlicher Integration und erweiterter Sicherheit, Azure App Service erleichtert es Entwicklern, robuste und skalierbare Anwendungen zu erstellen, ohne sich um die zugrunde liegende Infrastruktur kümmern zu müssen.... In Azure Key VaultAzure Key Vault ist ein Dienst von Microsoft Azure, der zum sicheren Speichern und Verwalten von Geheimnissen, Verschlüsselungsschlüsseln und Zertifikaten entwickelt wurde. Er ermöglicht es Organisationen, sensible Informationen zu schützen, indem der Zugriff über Richtlinien und Authentifizierung kontrolliert wird. Mit der Integration von Azure Active Directory, erleichtert die Verwaltung von Identitäten und Berechtigungen, und stellt sicher, dass nur autorisierte Benutzer auf kritische Daten zugreifen können. Ideal zur Verbesserung der Sicherheit.... In diesem Beispiel, Ich werde a . verwenden Plataforma DNN Website basierend auf Azure App Service unter Verwendung eines DatenbankEine Datenbank ist ein organisierter Satz von Informationen, mit dem Sie, Effizientes Verwalten und Abrufen von Daten. Einsatz in verschiedenen Anwendungen, Von Unternehmenssystemen bis hin zu Online-Plattformen, Datenbanken können relational oder nicht-relational sein. Das richtige Design ist entscheidend für die Optimierung der Leistung und die Gewährleistung der Informationsintegrität, und erleichtert so eine fundierte Entscheidungsfindung in verschiedenen Kontexten.... SQL, die die Verbindungszeichenfolge der SQL-Datenbank in Azure Key Vault speichert. Ich werde die Anwendungscodebasis für den Zugriff auf Azure Key Vault in keiner Weise ändern. Wir werden die Managed Identity-Funktion von App Service nutzen, um automatisch Geheimnisse aus Key Vault abzurufen.
Aprovisionar Azure Key Vault
-
Aprovisionar Azure Key Vault
-
Für diese Demo, Wir werden das Berechtigungsmodell auf die neue rollenbasierte Zugriffssteuerung von Azure umstellen (RBAC). Es befindet sich derzeit in der Vorschau.
-
Abhängig von Ihrer Implementierung, ändere das Netzwerk nach Belieben. Für diese Demo, wir belassen es als öffentlichen Endpunkt, um den App Service-Einstellungen zu entsprechen.
- Klicken Sie auf die Überprüfung + Erschaffen Schaltfläche zum Starten der Bereitstellung
-
Einmal erstellt, füge dich der Funktion hinzu „Key Vault-Administrator (Vorschauversion)“ durch Zugangskontrolle (ICH BIN). Jetzt können Sie mit der Verwaltung von Geheimnissen beginnen.
Verbindungszeichenfolge zu Key Vault-Geheimnissen hinzufügen
-
Fügen Sie Key Vault ein neues Geheimnis hinzu
-
Geben Sie den Typ Geheimnis an „Handbuch“, Geben Sie ihm einen Namen und setzen Sie den Wert auf die aktuelle SQL-Datenbank-Verbindungszeichenfolge, die in der Webanwendung.config gespeichert ist
- Klicken Sie auf Erstellen. Einmal erstellt, Klicken Sie auf das Geheimnis, um die Details des Geheimnisses anzuzeigen, und klicken Sie dann erneut auf die aktuelle Version
-
Neben der geheimen Kennung, Klicken Sie auf die Schaltfläche In die Zwischenablage kopieren
Fügen Sie der Azure App Service-Konfiguration den Verweis auf den geheimen Bezeichner hinzu
- Öffnen Sie die App Service-Einstellungen und fügen Sie eine neue Einstellung für die Verbindungszeichenfolge hinzu.
- Geben Sie den Namen der Verbindungszeichenfolge ein („SiteSqlServer“ für die DNN-Plattform) und den Wert einstellen „@ Microsoft.KeyVault (SecretUri = VALUE_FROM_CLIPBOARD)“, wobei VALUE_FROM_CLIPBOARD das des Schrittes ist 4 aus dem vorherigen Abschnitt.
-
Klicken Sie auf Speichern, um die Anwendungseinstellungen zu speichern.
App Service den Zugriff auf Key Vault erlauben
- Wieder im App Service, Klicken Sie auf Identität, um die vom System zugewiesene Identität zu aktivieren.
-
Klicken Sie nach der Aktivierung auf Speichern „Aktiviert“ der Staat
-
Drück den Knopf „Rollenzuweisungen“ und dann klick „Rollenzuweisung hinzufügen (Vorschau)“
-
Bei der Rollenvergabe, Umfang wählen „Schlüsseltresor“, abonnieren Sie das Abonnement, in dem Sie Key Vault in den vorherigen Schritten erstellt haben, und den Namen der Key Vault-Ressource. Für die Rolle, einfach auswählen „Key Vault Secrets-Benutzer (Vorschau)“
-
Schließlich, Rufen Sie die Datei web.config Ihrer DNN-Plattform-Website auf und löschen Sie den Inhalt der Verbindungszeichenfolge.
- Besuchen Sie die Website und überprüfen Sie, ob sie richtig geladen wird. Jetzt, Die Verbindungszeichenfolge wird sicher in Azure Key Vault gespeichert und nicht mehr im Dateisystem gespeichert.
Bekannte Probleme
-
ERROR: Ein Fehler wird angezeigt „Schlüsselwort nicht unterstützt: ‚@ microsoft.keyvault (secreturi'“. Ich habe die Erfahrung gemacht, dass die Beantragung von RBAC-Berechtigungen ein oder zwei Minuten dauern kann, Also versuche es nach ein paar Minuten. Versuchen Sie auch, den App-Gedanken im App Service-Portal neu zu starten, also wird nichts zwischengespeichert.
- Beim Überprüfen von DNN log4net-Protokollen, Sie sehen viele Fehler von einem Prozess, der versucht, eine Datenbankverbindung mit einer ungültigen Verbindungszeichenfolge während des DNN-Initialisierungsprozesses zu initialisieren. Dieser Fehler tritt derzeit in Versionen auf 9.7.2 oder früher mit einem ausstehenden Pull-Request, um das Problem zu beheben https://github.com/dnnsoftware/Dnn.Platform/issues/4227
- WICHTIG: wenn Sie die Sicherungsfunktion von Azure App Service verwenden möchten, Verwenden Sie diese Methode nicht zum Speichern von SQL-Datenbankverbindungszeichenfolgen in Azure Key Vault, da sie von der App Service Backup-Funktion nicht unterstützt werden. https://stackoverflow.com/questions/56101504/backingup-azure-webapp-when-connection-string-is-injected-through-keyvault
ich hoffe das hilft!


