Freigeben über


Verschlüsseln ruhender Daten mithilfe von vom Kunden verwalteten Schlüsseln

Das Verschlüsseln der ruhenden Anwendungsdaten Ihrer Web-App 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 Ihre Anwendungsdaten gespeichert, wenn sie nicht in einer Web-App in Azure ausgeführt wird.
  • Das Ausführen aus einem Bereitstellungspaket ist ein Bereitstellungsfeature 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. Sie können geheime Schlüssel zur Laufzeit als Anwendungseinstellungen importieren. Verwenden Sie diese Option, um die SAS-URL Ihres Azure Storage-Kontos zu verschlüsseln.

Einrichten der ruhenden Verschlüsselung

Erstellen eines Azure Storage-Kontos

Erstellen Sie zunächst ein Speicherkonto.

  1. Erstellen Sie ein Azure Storage-Konto , und verschlüsseln Sie es mit vom Kunden verwalteten Schlüsseln. Nachdem das Speicherkonto erstellt wurde, verwenden Sie den Azure Storage-Explorer , um Paketdateien hochzuladen.

  2. Verwenden Sie den Speicher-Explorer, um eine SAS zu generieren.

Hinweis

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 der 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 Sie diese Anwendungseinstellung hinzufügen, wird die Web-App neu gestartet. 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 ordnungsgemäß gestartet wurde, lesen Sie das Handbuch zur Problembehandlung bei Paketen.

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.

  1. Verwenden Sie den folgenden az keyvault create Befehl, um eine Key Vault-Instanz zu erstellen.

    az keyvault create --name "Contoso-Vault" --resource-group <group-name> --location eastus    
    
  2. Befolgen Sie die folgenden Anweisungen, um Ihrer App Zugriff auf Ihren Schlüsseltresor zu gewähren:

  3. Verwenden Sie den folgenden az keyvault secret set Befehl, 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>"    
    
  4. Verwenden Sie den folgenden az webapp config appsettings set Befehl, um die WEBSITE_RUN_FROM_PACKAGE Anwendungseinstellung 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 vorherigen az keyvault secret set Befehls angezeigt.

Durch das Aktualisieren dieser Anwendungseinstellung wird die Web-App neu gestartet. Nachdem die App neu gestartet wurde, navigieren Sie zu der App, um sicherzustellen, dass sie 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 Web-App nicht versehentlich den Zugriff verliert, müssen Sie auch die SAS-URL im Key Vault aktualisieren.

  1. 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.

  2. 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>"    
    
  3. Aktualisieren Sie den Schlüsseltresorverweis in Ihrer Anwendungseinstellung auf die neue geheime Version:

    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 vorherigen az keyvault secret set Befehls angezeigt.

So widerrufen Sie den Datenzugriff der Web-App

Es gibt zwei Methoden, um den Zugriff der Web-App auf das Speicherkonto zu widerrufen.

Drehen des SAS-Schlüssels für das Azure Storage-Konto

Wenn der SAS-Schlüssel für das Speicherkonto gedreht wird, hat die Web-App keinen Zugriff mehr auf das Speicherkonto, wird aber weiterhin mit der letzten heruntergeladenen Version der Paketdatei ausgeführt. Starten Sie die Web-App neu, um die letzte heruntergeladene Version zu löschen.

Entfernen des Zugriffs der Web-App auf Key Vault

Sie können den Zugriff der Web-App auf die Websitedaten widerrufen, indem Sie den Zugriff der Web-App auf Key Vault deaktivieren. Entfernen Sie dazu die Zugriffsrichtlinie für die Identität der Web-App. Dies ist die gleiche Identität, die Sie zuvor erstellt haben, während Sie Schlüsseltresorverweise konfigurieren.

Zusammenfassung

Ihre Anwendungsdateien werden jetzt im Ruhezustand in Ihrem Speicherkonto verschlüsselt. Wenn Ihre Web-App gestartet wird, ruft sie die SAS-URL aus Ihrem Schlüsseltresor ab. Schließlich lädt die Web-App die Anwendungsdateien aus dem Speicherkonto.

Wenn Sie den Zugriff der Web-App auf Ihr Speicherkonto widerrufen müssen, können Sie entweder den Zugriff auf den Schlüsseltresor widerrufen oder die Speicherkontoschlüssel drehen, von denen beide die SAS-URL ungültig machen.

Häufig gestellte Fragen

Gibt es zusätzliche Gebühren für die Ausführung meiner Web-App aus dem Bereitstellungspaket?

Nur die Kosten, die dem Azure Storage-Konto zugeordnet sind, und alle anwendbaren Ausstiegsgebühren.

Wie wirkt sich die Ausführung aus dem Bereitstellungspaket auf meine Web-App aus?

  • Wenn Sie Ihre App über das Bereitstellungspaket ausführen, ist wwwroot/ schreibgeschützt. Ihre App erhält eine Fehlermeldung, wenn versucht wird, in dieses Verzeichnis zu schreiben.
  • TAR- und GZIP-Formate werden nicht unterstützt.
  • Dieses Feature ist nicht mit dem lokalen Cache kompatibel.