Gibt es für Azure-Funktionen und WebJobs einen Vorteil darin, Verbindungszeichenfolgen als Geheimnisse in Key Vault einzufügen, anstatt sie direkt in den Anwendungseinstellungen abzulegen (und sie mit ConfigurationManager.ConnectionStrings zu referenzieren)? Sind Azure Key Vault-Geheimnisse in erster Linie für VMs und dergleichen gedacht und nicht für Azure-Funktionen und WebJobs?
Es scheint, als würde nur ein zusätzlicher Schritt in der Entwicklung (Aktualisierung des Geheimnisses in Key Vault und der geheimen Kennung in den Anwendungseinstellungen) und ein zusätzlicher Schritt in der Laufzeit (zusätzlicher Abruf aus Key Vault) hinzugefügt, wobei der einzige Vorteil darin besteht, dass das Geheimnis In den Anwendungseinstellungen befindet sich eine Kennung anstelle des eigentlichen Geheimnisses. Ich sehe den Sicherheitsvorteil hier nicht, obwohl es Nachteile gibt.
Antworten:
Die Vorteile, wie ich sie sehe, sind die allgemeinen Gründe für die Verwendung von Azure Key Vault
quelle
Ich bin der gleichen Meinung wie Sie, ich sehe keinen Sinn darin, den Schlüsseltresor in solchen Szenarien zu verwenden.
Stattdessen verwende ich die Azure-App-Konfiguration https://docs.microsoft.com/en-us/azure/azure-app-configuration/overview , in der ich einfach alle Anwendungseinstellungen speichere. Die einzige Zeichenfolge, die ich zusammen im eigentlichen App-Dienst / Funk / Web-Job speichere, ist die Verbindungszeichenfolge für den Zugriff auf die Azure-App-Konfiguration.
In meinem Start, in dem die Konfigurationseinstellungen angewendet werden, lese ich entweder aus ..settings.json und suche, falls nicht vorhanden (was bei Azure nicht der Fall sein sollte), nach der Verbindungszeichenfolge zur Azure-App-Konfiguration.
Wenn ..settings.json gefunden wird, bedeutet dies, dass ich lokal ausgeführt werde.
..settings.json wird verschlüsselt, wenn es sich nicht in der Gitignore-Datei befindet.
Es sieht ungefähr so aus:
quelle
Das Abrufen des Schlüsseldepots kann ein Leistungsproblem sein. Das Lesen aus dem Schlüsseldepot dauert einige Sekunden. Das Azure SLA gibt nur an, dass es in 99,9% der Fälle weniger als 5 Sekunden dauert . Es garantiert nicht die durchschnittliche Zeit, aber nach meiner Erfahrung und meinem Hörensagen beträgt der Durchschnitt ungefähr 2 Sekunden.
Sofern Ihre Web-App nicht "immer aktiviert" ist, wird sie im Leerlauf für 5 bis 20 Minuten entladen. Das bedeutet, dass die Antwortzeiten Ihrer Website häufig schlecht sind, es sei denn, Sie haben viel Verkehr.
quelle
Wir planen, unten zu verwenden
Geheimnisse - Azure Key-Vault
Konfigurationen - Azure App-Konfigurationen (noch in der Vorschau)
quelle