Szyfrowanie magazynowane przy użyciu kluczy zarządzanych przez klienta
Szyfrowanie danych aplikacji internetowej magazynowanych wymaga konta usługi Azure Storage i Key Vault platformy Azure. Te usługi są używane podczas uruchamiania aplikacji z pakietu wdrożeniowego.
- Usługa Azure Storage zapewnia szyfrowanie magazynowane. Możesz użyć kluczy dostarczonych przez system lub własnych kluczy zarządzanych przez klienta. Jest to miejsce, w którym dane aplikacji są przechowywane, gdy nie są uruchomione w aplikacji internetowej na platformie Azure.
- Uruchamianie z pakietu wdrożeniowego to funkcja wdrażania App Service. Umożliwia ona wdrażanie zawartości witryny z konta usługi Azure Storage przy użyciu adresu URL sygnatury dostępu współdzielonego (SAS).
- Key Vault odwołania to funkcja zabezpieczeń App Service. Umożliwia importowanie wpisów tajnych w czasie wykonywania jako ustawień aplikacji. Użyj tego polecenia, aby zaszyfrować adres URL sygnatury dostępu współdzielonego konta usługi Azure Storage.
Konfigurowanie szyfrowania magazynowanych
Tworzenie konta usługi Azure Storage
Najpierw utwórz konto usługi Azure Storage i zaszyfruj je przy użyciu kluczy zarządzanych przez klienta. Po utworzeniu konta magazynu użyj Eksplorator usługi Azure Storage, aby przekazać pliki pakietów.
Następnie użyj Eksplorator usługi Storage, aby wygenerować sygnaturę dostępu współdzielonego.
Uwaga
Zapisz ten adres URL sygnatury dostępu współdzielonego, który będzie używany później w celu umożliwienia bezpiecznego dostępu do pakietu wdrożeniowego w czasie wykonywania.
Konfigurowanie uruchamiania z pakietu z konta magazynu
Po przekazaniu pliku do usługi Blob Storage i utworzeniu adresu URL sygnatury dostępu współdzielonego dla pliku ustaw WEBSITE_RUN_FROM_PACKAGE
ustawienie aplikacji na adres URL sygnatury dostępu współdzielonego. W poniższym przykładzie jest to możliwe przy użyciu interfejsu wiersza polecenia platformy Azure:
az webapp config appsettings set --name <app-name> --resource-group <resource-group-name> --settings WEBSITE_RUN_FROM_PACKAGE="<your-SAS-URL>"
Dodanie tego ustawienia aplikacji powoduje ponowne uruchomienie aplikacji internetowej. Po ponownym uruchomieniu aplikacji przejdź do niej i upewnij się, że aplikacja została uruchomiona poprawnie przy użyciu pakietu wdrożeniowego. Jeśli aplikacja nie uruchamiała się poprawnie, zobacz przewodnik rozwiązywania problemów Uruchom z pakietu.
Szyfrowanie ustawienia aplikacji przy użyciu odwołań Key Vault
Teraz możesz zastąpić wartość WEBSITE_RUN_FROM_PACKAGE
ustawienia aplikacji Key Vault odwołaniem do adresu URL zakodowanego przy użyciu sygnatury dostępu współdzielonego. Dzięki temu adres URL sygnatury dostępu współdzielonego jest szyfrowany w Key Vault, co zapewnia dodatkową warstwę zabezpieczeń.
Użyj następującego
az keyvault create
polecenia, aby utworzyć wystąpienie Key Vault.az keyvault create --name "Contoso-Vault" --resource-group <group-name> --location eastus
Postępuj zgodnie z tymi instrukcjami, aby udzielić aplikacji dostępu do magazynu kluczy:
Użyj następującego
az keyvault secret set
polecenia, aby dodać zewnętrzny adres URL jako wpis tajny w magazynie kluczy:az keyvault secret set --vault-name "Contoso-Vault" --name "external-url" --value "<SAS-URL>"
Użyj następującego
az webapp config appsettings set
polecenia, aby utworzyćWEBSITE_RUN_FROM_PACKAGE
ustawienie aplikacji z wartością Key Vault odwołaniem do zewnętrznego adresu URL:az webapp config appsettings set --settings WEBSITE_RUN_FROM_PACKAGE="@Microsoft.KeyVault(SecretUri=https://Contoso-Vault.vault.azure.net/secrets/external-url/<secret-version>"
Element
<secret-version>
będzie znajdować się w danych wyjściowych poprzedniegoaz keyvault secret set
polecenia.
Aktualizowanie tego ustawienia aplikacji powoduje ponowne uruchomienie aplikacji internetowej. Po ponownym uruchomieniu aplikacji przejdź do niej, aby upewnić się, że została uruchomiona poprawnie przy użyciu odwołania Key Vault.
Jak obrócić token dostępu
Najlepszym rozwiązaniem jest okresowe obracanie klucza sygnatury dostępu współdzielonego konta magazynu. Aby upewnić się, że aplikacja internetowa nie utraci dostępu przypadkowo, należy również zaktualizować adres URL sygnatury dostępu współdzielonego w Key Vault.
Obracanie klucza sygnatury dostępu współdzielonego przez przejście do konta magazynu w Azure Portal. W obszarze Ustawienia>Klucze dostępu wybierz ikonę, aby obrócić klucz SAS.
Skopiuj nowy adres URL sygnatury dostępu współdzielonego i użyj następującego polecenia, aby ustawić zaktualizowany adres URL sygnatury dostępu współdzielonego w magazynie kluczy:
az keyvault secret set --vault-name "Contoso-Vault" --name "external-url" --value "<SAS-URL>"
Zaktualizuj odwołanie do magazynu kluczy w ustawieniu aplikacji na nową wersję wpisu tajnego:
az webapp config appsettings set --settings WEBSITE_RUN_FROM_PACKAGE="@Microsoft.KeyVault(SecretUri=https://Contoso-Vault.vault.azure.net/secrets/external-url/<secret-version>"
Element
<secret-version>
będzie znajdować się w danych wyjściowych poprzedniegoaz keyvault secret set
polecenia.
Jak odwołać dostęp do danych aplikacji internetowej
Istnieją dwie metody odwoływanie dostępu aplikacji internetowej do konta magazynu.
Obracanie klucza sygnatury dostępu współdzielonego dla konta usługi Azure Storage
Jeśli klucz sygnatury dostępu współdzielonego dla konta magazynu zostanie obrócony, aplikacja internetowa nie będzie już mieć dostępu do konta magazynu, ale będzie nadal działać z ostatnią pobraną wersją pliku pakietu. Uruchom ponownie aplikację internetową, aby wyczyścić ostatnią pobraną wersję.
Usuwanie dostępu aplikacji internetowej do Key Vault
Dostęp aplikacji internetowej do danych witryny można odwołać, wyłączając dostęp aplikacji internetowej do Key Vault. Aby to zrobić, usuń zasady dostępu dla tożsamości aplikacji internetowej. Jest to ta sama tożsamość utworzona wcześniej podczas konfigurowania odwołań magazynu kluczy.
Podsumowanie
Pliki aplikacji są teraz szyfrowane w spoczynku na koncie magazynu. Po uruchomieniu aplikacji internetowej pobiera ona adres URL sygnatury dostępu współdzielonego z magazynu kluczy. Na koniec aplikacja internetowa ładuje pliki aplikacji z konta magazynu.
Jeśli musisz odwołać dostęp aplikacji internetowej do konta magazynu, możesz odwołać dostęp do magazynu kluczy lub wymienić klucze konta magazynu, z których oba unieważniają adres URL sygnatury dostępu współdzielonego.
Często zadawane pytania
Czy istnieje dodatkowa opłata za uruchomienie mojej aplikacji internetowej z pakietu wdrożeniowego?
Tylko koszt skojarzony z kontem usługi Azure Storage i wszelkimi odpowiednimi opłatami za ruch wychodzący.
Jak działa z pakietu wdrożeniowego wpływa na moją aplikację internetową?
- Uruchomienie aplikacji z pakietu wdrożeniowego powoduje, że
wwwroot/
tylko do odczytu. Aplikacja otrzymuje błąd podczas próby zapisania w tym katalogu. - Formaty TAR i GZIP nie są obsługiwane.
- Ta funkcja nie jest zgodna z lokalną pamięcią podręczną.