Niestandardowe ustawienia konfiguracji dla środowisk App Service Environment
Omówienie
Ponieważ środowiska App Service Environment są izolowane do jednego klienta, istnieją pewne ustawienia konfiguracji, które można stosować wyłącznie do środowisk App Service Environment. W tym artykule opisano różne dostosowania specjalne, które są dostępne w przypadku środowisk App Service Environment.
Uwaga
W tym artykule opisano funkcje, korzyści i przypadki użycia środowiska App Service Environment w wersji 3, które są używane z planami izolowanej wersji 2 usługi App Service.
Jeśli nie masz środowiska App Service Environment, zobacz How to Create an App Service Environment v3 (Jak utworzyć środowisko App Service Environment w wersji 3).
Dostosowania środowiska App Service Environment można przechowywać przy użyciu tablicy w nowym atrybucie clusterSettings. Ten atrybut można znaleźć w słowniku „Właściwości” jednostki hostingEnvironments usługi Azure Resource Manager.
Poniższy skrócony fragment kodu szablonu usługi Resource Manager przedstawia atrybut clusterSettings:
"resources": [
{
"apiVersion": "2021-03-01",
"type": "Microsoft.Web/hostingEnvironments",
"name": ...,
"location": ...,
"properties": {
"clusterSettings": [
{
"name": "nameOfCustomSetting",
"value": "valueOfCustomSetting"
}
],
"internalLoadBalancingMode": ...,
etc...
}
}
Atrybut clusterSettings można uwzględnić w szablonie usługi Resource Manager, aby zaktualizować usługę App Service Environment.
Aktualizowanie usługi App Service Environment za pomocą witryny Azure Resource Explorer
Usługę App Service Environment można również aktualizować przy użyciu witryny Azure Resource Explorer.
- W Eksploratorze zasobów przejdź do węzła środowiska App Service Environment (subskrypcje{twoja subskrypcja>}>grupy zasobów{grupa zasobów>}>dostawcy>Microsoft.Web>hostingEnvironments). Następnie kliknij wybrane środowisko App Service Environment, które chcesz zaktualizować.
- W okienku po prawej stronie kliknij pozycję Do odczytu/zapisu na górnym pasku narzędzi, aby zezwolić na interakcyjne edytowanie w usłudze Resource Explorer.
- Kliknij niebieski przycisk Edytuj, aby umożliwić edytowanie szablonu usługi Resource Manager.
- Przewiń okienko po prawej stronie w dół. Atrybut clusterSettings znajduje się na samym dole strony, gdzie można wprowadzić lub zaktualizować jego wartość.
- Wpisz (lub skopiuj i wklej) wybraną tablicę wartości konfiguracji w obszarze atrybutu clusterSettings.
- Kliknij zielony przycisk PUT w górnej części okienka po prawej stronie, aby zatwierdzić zmianę środowiska App Service Environment.
Jednak przesyłasz zmianę, zmiana nie jest natychmiastowa i może upłynąć do 24 godzin, zanim zmiana zostanie w pełni wywłaszona. Niektóre ustawienia mają szczegółowe informacje dotyczące czasu i wpływu konfigurowania określonego ustawienia.
Włączanie szyfrowania wewnętrznego
Środowisko App Service Environment działa jako system czarnej skrzynki, w którym nie można zobaczyć składników wewnętrznych ani komunikacji w systemie. Aby włączyć większą przepływność, szyfrowanie nie jest domyślnie włączone między składnikami wewnętrznymi. System jest bezpieczny, ponieważ ruch jest niedostępny do monitorowania lub uzyskiwania do nich dostępu. Jeśli jednak masz wymaganie zgodności, które wymaga pełnego szyfrowania ścieżki danych od końca do końca, istnieje sposób włączenia szyfrowania pełnej ścieżki danych za pomocą elementu clusterSetting.
"clusterSettings": [
{
"name": "InternalEncryption",
"value": "true"
}
],
Ustawienie wartości InternalEncryption na wartość true szyfruje wewnętrzny ruch sieciowy w środowisku App Service Environment między frontonami a procesami roboczymi, szyfruje plik stronicowania, a także szyfruje dyski procesu roboczego. Po włączeniu elementu InternalEncryption clusterSetting może to mieć wpływ na wydajność systemu. Po zmianie w celu włączenia funkcji InternalEncryption środowisko App Service Environment będzie w stanie niestabilnym, dopóki zmiana nie zostanie w pełni rozpropagowana. Ukończenie propagacji zmiany może potrwać kilka godzin, w zależności od liczby wystąpień w środowisku App Service Environment. Zdecydowanie zalecamy, aby nie włączać funkcji InternalEncryption w środowisku App Service Environment, gdy jest on używany. Jeśli musisz włączyć funkcję InternalEncryption w aktywnie używanym środowisku App Service Environment, zdecydowanie zalecamy przekierowanie ruchu do środowiska kopii zapasowej do momentu zakończenia operacji.
Wyłączanie protokołów TLS 1.0 i TLS 1.1
Jeśli chcesz zarządzać ustawieniami protokołu TLS dla każdej aplikacji z osobna, możesz skorzystać ze wskazówek zawartych w dokumentacji Wymuszanie ustawień protokołu TLS.
Jeśli chcesz wyłączyć cały przychodzący ruch TLS 1.0 i TLS 1.1 dla wszystkich aplikacji w środowisku App Service Environment, możesz ustawić następujący wpis clusterSettings :
"clusterSettings": [
{
"name": "DisableTls1.0",
"value": "1"
}
],
W nazwie ustawienia znajduje się numer wersji 1.0, ale po skonfigurowaniu wyłączane są protokoły TLS 1.0 i TLS 1.1.
Zmienianie kolejności zestawów szyfrowania protokołu TLS
Środowisko App Service Environment obsługuje zmianę pakietu szyfrowania z wartości domyślnej. Domyślny zestaw szyfrowania jest tym samym zestawem, który jest używany w usłudze App Service z wieloma dzierżawami. Zmiana pakietu szyfrowania jest możliwa tylko w przypadku środowiska App Service Environment, oferty z jedną dzierżawą, a nie oferty wielodostępnej, ponieważ zmiana wpływa na całe wdrożenie usługi App Service. Istnieją dwa zestawy szyfrowania, które są wymagane dla środowiska App Service Environment: TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 i TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256. Ponadto należy uwzględnić następujące zestawy szyfrowania, które są wymagane dla protokołu TLS 1.3: TLS_AES_256_GCM_SHA384 i TLS_AES_128_GCM_SHA256.
Aby skonfigurować środowisko App Service Environment tak, aby używało tylko szyfrowania, których wymaga, zmodyfikuj klasterUstawienia , jak pokazano w poniższym przykładzie. Upewnij się, że na początku listy znajdują się szyfry TLS 1.3.
"clusterSettings": [
{
"name": "FrontEndSSLCipherSuiteOrder",
"value": "TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256"
}
],
Ostrzeżenie
Jeśli dla zestawów szyfrowania zostaną skonfigurowane nieprawidłowe wartości, których nie będzie mógł rozpoznać kanał SChannel, cała komunikacja protokołu TLS z serwerem może przestać działać. W takim przypadku trzeba będzie usunąć wpis FrontEndSSLCipherSuiteOrder z atrybutu clusterSettings i przesłać zaktualizowany szablon usługi Resource Manager, aby przywrócić domyślne ustawienia zestawu szyfrowania. Tej funkcji należy używać ostrożnie.
Rozpocznij
W witrynie szablonów szybkiego startu Azure Resource Manager można znaleźć szablon z podstawową definicją umożliwiającą tworzenie środowiska App Service Environment.