2017-04-26 4 views
3

Wir verwenden VSTS zum Erstellen verschiedener Azure-Webanwendungen und zum Bereitstellen dieser in verschiedenen Umgebungen. Während des Releaseprozesses führen wir Transformationen für Web.config-Dateien durch. Dabei werden in VSTS gespeicherte Variablen für Verbindungszeichenfolgen pro Umgebung verwendet.Festlegen der Azure Function-App-Einstellungen mit VSTS ohne Verfügbarmachen im Azure-Portal

Wir möchten eine ähnliche Sache mit Azure-Funktionen tun, aber wir hatten Probleme. Wir haben festgestellt, dass das Ausführen von Transformationen in die Datei appsettings.json nicht funktioniert. Neue hinzugefügte Schlüssel/Wert-Paare funktionieren nicht in Azure und Änderungen an vorhandenen werden nicht in Azure geladen.

Ich habe unzählige Dokumente durchgesehen und nur die Dokumentation gefunden, dass die App-Einstellungen für Azure-Funktionen im Azure-Portal gespeichert oder während des Freigabeprozesses mithilfe eines PowerShell-Skripts festgelegt werden müssen. Diese Lösungen stellen jedoch Verbindungszeichenfolgen und andere Geheimnisse für jeden offen, der Zugriff auf das Azure-Portal hat. Dies ist nicht das, was wir wollen.

Wie kann ich App-Einstellungen für Azure-Funktionen wie AzureWebJobsStorage- und AzureWebJobsDashboard-Werte bereitstellen, ohne sie im Azure-Portal verfügbar zu machen?

Antwort

5

Diese Lösungen stellen jedoch Verbindungszeichenfolgen und andere Geheimnisse für jeden offen, der Zugriff auf das Azure-Portal hat. Dies ist nicht das, was wir wollen.

Das ist keine korrekte Annahme. Nur Benutzer, die Beiträge oder Admins in dieser Funktions-App sind, können die App-Einstellungen sehen. Und dieselben Benutzer können alle bereitgestellten Dateien sehen. Wenn Sie also geheime Dateien in bereitgestellten Dateien haben, sind sie gleichermaßen sichtbar.

Der Nutzen App verwenden Ihre Geheimnisse in Dateien Einstellung über aufweisen, sind:

  • Die Geheimnisse App Einstellungen und verschlüsselt in Ruhe
  • sind Sie weniger wahrscheinlich, dass versehentlich ein Geheimnis Leck durch das Herunterladen bereitgestellt Dateien ohne zu realisieren, dass sie Geheimnisse haben.
+0

Vielen Dank, das ist sehr aufschlussreich! Ich werde den Rest meines Teams darauf aufmerksam machen, dass wir App-Einstellungen anstelle von Geheimnissen in Dateien verwenden sollten. Als Referenz: Gibt es eine Möglichkeit, Geheimnisse in Dateien für Azure-Funktions-Apps bereitzustellen, oder muss dies über die App-Einstellungen geschehen? Wenn das so ist, wie? Wir wollen sicherstellen, dass wir alle möglichen Lösungen berücksichtigen. Vielen Dank! –

+0

@DavidOmid Ich habe mit anderen überprüft, und es ist nicht möglich, Geheimnisse in function.json fest zu codieren. Sie werden nur in Azure App Settings (oder allgemein in Umgebungsvariablen) unterstützt. Beachten Sie, dass bei "appsettings.json" nur die für die clientseitige Entwicklung verwendeten Geheimnisse enthalten sind. Diese Datei selbst wird nicht in Azure verwendet. –

+0

Ok großartig, vielen Dank, dass ich dies bestätigt habe. Ich werde diese Informationen an mein Team weiterleiten, da die allgemeine Sorge war, dass dies nicht im Einklang mit unseren App-Einstellungen für Bereitstellungen für unsere anderen Azure-Apps steht . Wir sind sehr erfahren mit .NET, aber Azure-Funktionen sind für uns brandneu und wir lernen immer noch, also vielen Dank für Ihre Geduld. –

Verwandte Themen