Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Das Verschlüsseln der Anwendungsdaten Ihrer Funktions-App im Ruhezustand erfordert ein Azure Storage-Konto und einen Azure Key Vault. Diese Dienste werden verwendet, wenn Sie Ihre App über ein Bereitstellungspaket ausführen.
-
Azure Storage bietet ruhende Verschlüsselung. Sie können vom System bereitgestellte Schlüssel oder Ihre eigenen vom Kunden verwalteten Schlüssel verwenden. Hier werden deine Anwendungsdaten gespeichert, wenn sie nicht in einer Funktions-App in Azure laufen.
- Das Ausführen eines externen Deployment-Pakets ist eine Bereitstellungsfunktion von App Service. Sie können Ihre Websiteinhalte über ein Azure Storage-Konto mithilfe einer SAS-URL (Shared Access Signature) bereitstellen.
- Key Vault-Verweise sind ein Sicherheitsfeature von App Service. Damit können Sie Geheimnisse zur Laufzeit als App-Einstellungen importieren. Verwenden Sie diese Option, um die SAS-URL Ihres Azure Storage-Kontos zu verschlüsseln.
Verschlüsselung im Ruhezustand einrichten
Erstellen eines Azure-Speicherkontos
Erstelle zuerst ein Azure Storage-Konto und verschlüssele es mit vom Kunden verwalteten Schlüsseln. Nachdem das Speicherkonto erstellt wurde, verwenden Sie den Azure Storage-Explorer , um Paketdateien hochzuladen.
Als Nächstes verwenden Sie den Storage-Explorer, um ein SAS zu generieren.
Note
Speichern Sie diese SAS-URL, die später verwendet wird, um den sicheren Zugriff auf das Bereitstellungspaket zur Laufzeit zu ermöglichen.
Konfigurieren der Ausführung aus einem Paket aus Ihrem Speicherkonto
Nachdem Sie Ihre Datei in Blob Storage hochgeladen haben und über eine SAS-URL für die Datei verfügen, legen Sie die WEBSITE_RUN_FROM_PACKAGE Anwendungseinstellung auf die SAS-URL fest. Im folgenden Beispiel wird dies mithilfe von Azure CLI ausgeführt:
az webapp config appsettings set --name <app-name> --resource-group <resource-group-name> --settings WEBSITE_RUN_FROM_PACKAGE="<your-SAS-URL>"
Wenn du diese Anwendungseinstellung hinzufügst, startet deine Funktions-App neu. Nachdem die App neu gestartet wurde, navigieren Sie zu der App, und stellen Sie sicher, dass die App ordnungsgemäß mit dem Bereitstellungspaket gestartet wurde. Wenn die Anwendung nicht richtig gestartet ist, siehe die Überlegungen zur Paketbereitstellung.
Verschlüsseln der Anwendungseinstellung mithilfe von Key Vault-Verweisen
Jetzt können Sie den Wert der WEBSITE_RUN_FROM_PACKAGE Anwendungseinstellung durch einen Key Vault-Verweis auf die SAS-codierte URL ersetzen. Dadurch wird die SAS-URL im Key Vault verschlüsselt, was eine zusätzliche Sicherheitsebene bietet.
Verwenden Sie den folgenden
az keyvault createBefehl, um eine Key Vault-Instanz zu erstellen.az keyvault create --name "Contoso-Vault" --resource-group <group-name> --location eastusBefolgen Sie die Anweisungen, um Ihrer App Zugriff auf Ihr Key Vault zu gewähren:
Verwenden Sie den folgenden
az keyvault secret setBefehl, um Ihre externe URL als geheimer Schlüssel in Ihrem Schlüsseltresor hinzuzufügen:az keyvault secret set --vault-name "Contoso-Vault" --name "external-url" --value "<SAS-URL>"Verwenden Sie den folgenden
az webapp config appsettings setBefehl, um dieWEBSITE_RUN_FROM_PACKAGEAnwendungseinstellung mit dem Wert als Key Vault-Verweis auf die externe URL zu erstellen:az webapp config appsettings set --settings WEBSITE_RUN_FROM_PACKAGE="@Microsoft.KeyVault(SecretUri=https://Contoso-Vault.vault.azure.net/secrets/external-url/<secret-version>"Der
<secret-version>Befehl wird in der Ausgabe des vorherigenaz keyvault secret setBefehls angezeigt.
Das Aktualisieren dieser Anwendungseinstellung führt dazu, dass deine Funktions-App neu startet. Nachdem die App neu gestartet wurde, navigieren Sie zu der App, und stellen Sie sicher, dass die App ordnungsgemäß mit dem Key Vault-Verweis gestartet wurde.
So drehen Sie das Zugriffstoken
Es empfiehlt sich, den SAS-Schlüssel Ihres Speicherkontos regelmäßig zu drehen. Um sicherzustellen, dass die Funktions-App nicht versehentlich den Zugriff verliert, müssen Sie auch die SAS-URL in Key Vault aktualisieren.
Drehen Sie den SAS-Schlüssel, indem Sie im Azure-Portal zu Ihrem Speicherkonto navigieren. Wählen Sie unter"Zugriffstasten für Einstellungen>" das Symbol aus, um den SAS-Schlüssel zu drehen.
Kopieren Sie die neue SAS-URL, und verwenden Sie den folgenden Befehl, um die aktualisierte SAS-URL in Ihrem Schlüsseltresor festzulegen:
az keyvault secret set --vault-name "Contoso-Vault" --name "external-url" --value "<SAS-URL>"Aktualisieren Sie den Key Vault-Verweis in der Anwendungseinstellung auf die neue Geheimnisversion:
az webapp config appsettings set --settings WEBSITE_RUN_FROM_PACKAGE="@Microsoft.KeyVault(SecretUri=https://Contoso-Vault.vault.azure.net/secrets/external-url/<secret-version>"Der
<secret-version>Befehl wird in der Ausgabe des vorherigenaz keyvault secret setBefehls angezeigt.
Wie man den Datenzugriff der Funktions-App widerruft
Es gibt zwei Methoden, um der Funktions-App den Zugriff auf das Speicherkonto zu entziehen.
Drehen des SAS-Schlüssels für das Azure Storage-Konto
Wenn der SAS-Schlüssel für das Speicherkonto rotiert wird, hat die Funktions-App keinen Zugriff mehr auf das Speicherkonto, läuft aber weiterhin mit der zuletzt heruntergeladenen Version der Paketdatei. Neustarte die Funktions-App, um die zuletzt heruntergeladene Version zu löschen.
Entferne den Zugriff der Funktions-App auf Key Vault
Sie können den Zugriff der Funktions-App auf die Standortdaten widerrufen, indem Sie den Zugriff der Funktions-App auf Key Vault deaktivieren. Dazu entferne die Zugriffsrichtlinie für die Identität der Funktions-App. Dies ist dieselbe Identität, die Sie zuvor bei der Konfiguration von Key Vault-Verweisen erstellt haben.
Zusammenfassung
Ihre Anwendungsdateien werden jetzt im Ruhezustand in Ihrem Speicherkonto verschlüsselt. Wenn deine Funktions-App startet, ruft sie die SAS-URL aus deinem Key Vault ab. Schließlich lädt die Funktions-App die Anwendungsdateien vom Speicherkonto.
Wenn du den Zugriff der Funktions-App auf dein Speicherkonto widerrufen musst, kannst du entweder den Zugriff auf den Schlüsseltresor widerrufen oder die Speicherkontoschlüssel rotieren, beides macht die SAS-URL ungültig.
Häufig gestellte Fragen
Gibt es zusätzliche Kosten für das Ausführen meiner Funktions-App aus dem Deployment-Paket?
Nur die Kosten, die dem Azure Storage-Konto zugeordnet sind, und alle anwendbaren Ausstiegsgebühren.
Wie wirkt sich das Ausführen aus dem Deployment-Paket auf meine Funktions-App aus?
- Wenn Sie Ihre App aus dem Bereitstellungspaket ausführen, wird
wwwroot/schreibgeschützt. Ihre App erhält eine Fehlermeldung, wenn versucht wird, in dieses Verzeichnis zu schreiben. - Das TAR- und das GZIP-Format werden nicht unterstützt.
- Dieses Feature ist nicht mit dem lokalen Cache kompatibel.