Udostępnij za pośrednictwem


Niestandardowe ustawienia konfiguracji dla środowisk usługi aplikacji

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.

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.

Za pomocą Azure Resource Explorer zaktualizuj środowisko App Service

Usługę App Service Environment można również aktualizować przy użyciu narzędzia Azure Resource Explorer.

  1. W Eksploratorze zasobów przejdź do węzła środowiska App Service (subskrypcje>{twoja subskrypcja}>grupy zasobów>{grupa zasobów}>dostawcy usług>Microsoft.Web>hostingEnvironments). Następnie kliknij wybrane środowisko App Service Environment, które chcesz zaktualizować.
  2. W okienku po prawej stronie kliknij pozycję Do odczytu/zapisu na górnym pasku narzędzi, aby umożliwić interaktywne edytowanie w usłudze Resource Explorer.
  3. Kliknij niebieski przycisk Edytuj, aby umożliwić edytowanie szablonu usługi Resource Manager.
  4. Przewiń okienko po prawej stronie w dół. Atrybut clusterSettings znajduje się na samym dole strony, gdzie można wprowadzić lub zaktualizować jego wartość.
  5. Wpisz (lub skopiuj i wklej) wybraną tablicę wartości konfiguracji w obszarze atrybutu clusterSettings.
  6. Kliknij zielony przycisk PUT w górnej części okienka po prawej stronie, aby zatwierdzić zmianę środowiska App Service Environment.

Niezależnie od sposobu, w jaki zgłosisz zmianę, zmiana nie jest natychmiastowa i może minąć do 24 godzin, zanim zmiana zostanie w pełni zastosowana. 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ż ruchu nie można monitorować ani uzyskać do niego 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 InternalEncryption na wartość true szyfruje wewnętrzny ruch sieciowy w środowisku App Service Environment między frontendami a maszynami roboczymi, szyfruje plik stronicowania oraz dyski maszyn roboczych. Po włączeniu ustawienia klastra InternalEncryption może mieć to 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. Kompletna propagacja 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 ono w trakcie użytkowania. 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 szyfrów jest tym samym zestawem, który jest używany w usłudze App Service obsługującej wielu najemców. Zmiana pakietu szyfrowania jest możliwa tylko w przypadku usługi App Service Environment, oferty jednostanowiskowej, a nie oferty wielostanowiskowej, ponieważ zmiana ta 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 szyfrów, których wymaga, zmodyfikuj clusterSettings 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.