Benutzerdefinierte Konfigurationseinstellungen für App Service-Umgebungen
Übersicht
Da App Service-Umgebungen isoliert für einen einzelnen Kunden eingerichtet werden, gibt es bestimmte Konfigurationseinstellungen, die exklusiv auf eine App Service-Umgebung angewendet werden können. In diesem Artikel werden die verschiedenen Anpassungen dokumentiert, die für App Service-Umgebungen verfügbar sind.
Hinweis
In diesem Artikel werden die Features, Vorteile und Anwendungsfälle von App Service-Umgebung v3 behandelt, die mit App Service (isoliert)-Plänen v2 verwendet wird.
Ziehen Sie Erstellen einer App Service-Umgebung v3 zu Rate, wenn Sie über keine App Service-Umgebung verfügen.
Sie können Anpassungen der App Service-Umgebung mithilfe eines Arrays im neuen Attribut clusterSettings speichern. Dieses Attribut befindet sich im Wörterbuch „Eigenschaften“ der Azure Resource Manager-Entität hostingEnvironments .
Der folgende gekürzte Codeausschnitt aus einer Resource Manager-Vorlage zeigt das Attribut clusterSettings :
"resources": [
{
"apiVersion": "2021-03-01",
"type": "Microsoft.Web/hostingEnvironments",
"name": ...,
"location": ...,
"properties": {
"clusterSettings": [
{
"name": "nameOfCustomSetting",
"value": "valueOfCustomSetting"
}
],
"internalLoadBalancingMode": ...,
etc...
}
}
Das Attribut clusterSettings kann in eine Resource Manager-Vorlage eingefügt werden, um die App Service-Umgebung zu aktualisieren.
Aktualisieren einer App Service-Umgebung mit dem Azure-Ressourcen-Explorer
Alternativ dazu können Sie die App Service-Umgebung mit dem Azure-Ressourcen-Exploreraktualisieren.
- Navigieren Sie im Ressourcen-Explorer zum Knoten für die App Service-Umgebung (subscriptions>{Ihr Abonnement}>resourceGroups>{Ihre Ressourcengruppe}>providers>Microsoft.Web>hostingEnvironments). Klicken Sie dann auf die App Service-Umgebung, die aktualisiert werden soll.
- Klicken Sie im rechten Bereich in der oberen Symbolleiste auf Lesen/Schreiben , um eine interaktive Bearbeitung im Ressourcen-Explorer zuzulassen.
- Klicken Sie dann auf die blaue Schaltfläche Bearbeiten , um die Bearbeitung der Resource Manager-Vorlage zu ermöglichen.
- Scrollen Sie zum Ende des rechten Bereichs. Das Attribut clusterSettings wird ganz unten angezeigt. Sie können entweder einen Attributwert eingeben oder den vorhandenen Wert aktualisieren.
- Geben Sie das Array der Konfigurationswerte ein, die Sie für das Attribut clusterSettings verwenden möchten. Alternativ können Sie die Werte auch kopieren und einfügen.
- Klicken Sie dann oben im rechten Bereich auf die grüne Schaltfläche PUT , um einen Commit für die Änderungen an der App Service-Umgebung auszuführen.
Sie übermitteln jedoch die Änderung, die Änderung ist nicht sofort und kann bis zu 24 Stunden dauern, bis die Änderung vollständig wirksam wird. Einige Einstellungen enthalten spezifische Details zum Zeitpunkt und den Auswirkungen der Konfiguration der spezifischen Einstellung.
Aktivieren der internen Verschlüsselung
Die App Service-Umgebung wird als Blackbox-System betrieben, bei dem Sie die internen Komponenten oder die Kommunikation innerhalb des Systems nicht sehen können. Um einen höheren Durchsatz zu ermöglichen, ist die Verschlüsselung zwischen internen Komponente standardmäßig nicht aktiviert. Das System ist sicher, da der Datenverkehr vor Überwachung und Zugriff geschützt ist. Bei einer Kompatibilitätsanforderung, die eine End-to-End-Verschlüsselung des vollständigen Datenpfads voraussetzt, kann diese mit einer Clustereinstellung (clusterSetting) aktiviert werden.
"clusterSettings": [
{
"name": "InternalEncryption",
"value": "true"
}
],
Wenn Sie „InternalEncryption“ auf „true“ setzen, werden der interne Netzwerkdatenverkehr in Ihrer App Service-Umgebung zwischen den Front-Ends und Workern, die Auslagerungsdatei und die Workerdatenträger verschlüsselt. Nach der Aktivierung der Clustereinstellung (clusterSetting) „InternalEncryption“ kann es zu einer Beeinträchtigung der Systemleistung kommen. Wenn Sie „InternalEncryption“ aktivieren, befindet sich die App Service-Umgebung in einem instabilen Zustand, bis die Änderung vollständig weitergegeben wurde. Die vollständige Weitergabe der Änderung kann abhängig von der Anzahl von Instanzen in Ihrer App Service-Umgebung einige Stunden in Anspruch nehmen. Es wird dringend empfohlen, „InternalEncryption“ nicht für eine App Service-Umgebung zu aktivieren, während sie verwendet wird. Wenn Sie „InternalEncryption“ für eine aktiv genutzte App Service-Umgebung aktivieren müssen, wird dringend empfohlen, den Datenverkehr an eine Sicherungsumgebung umzuleiten, bis der Vorgang abgeschlossen ist.
Deaktivieren von TLS 1.0 und TLS 1.1
Wenn Sie TLS-Einstellungen auf App-Basis verwalten möchten, können Sie die Anleitung aus der Dokumentation Erzwingen von TLS-Versionen verwenden.
Wenn Sie sämtlichen eingehenden TLS 1.0- und TLS 1.1-Datenverkehr für alle Apps in einer App Service-Umgebung deaktivieren möchten, legen Sie den folgenden clusterSettings-Eintrag fest:
"clusterSettings": [
{
"name": "DisableTls1.0",
"value": "1"
}
],
Im Namen der Einstellung ist zwar 1.0 angegeben, sie deaktiviert jedoch sowohl TLS 1.0 als auch TLS 1.1, nachdem sie konfiguriert wurde.
Ändern der Reihenfolge der TLS-Verschlüsselungssammlung
Die App Service-Umgebung unterstützt das Ändern der Standardeinstellung für die Verschlüsselungssuite. Die Standardverschlüsselungsverfahren sind die, die auch im mehrinstanzenfähigen App Service-Dienst verwendet werden. Das Ändern der Verschlüsselungssuite ist nur in der App Service-Umgebung möglich, dem Angebot für einen Mandanten, aber nicht im Mehrmandantenangebot, da die Änderung sich auf die gesamte App Service-Bereitstellung auswirkt. Für eine App Service-Umgebung sind zwei Verschlüsselungssuiten erforderlich: TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 und TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256. Darüber hinaus sollten Sie die folgenden Verschlüsselungssuiten einschließen, die für TLS 1.3 erforderlich sind: TLS_AES_256_GCM_SHA384 und TLS_AES_128_GCM_SHA256.
Wenn Sie die App Service-Umgebung so konfigurieren möchten, dass nur die erforderlichen Verschlüsselungsverfahren verwendet werden, ändern Sie clusterSettings wie im folgenden Beispiel gezeigt. Stellen Sie sicher, dass die TLS 1.3-Verschlüsselungsverfahren am Anfang der Liste stehen.
"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"
}
],
Warnung
Wenn für die Verschlüsselungssammlung falsche Werte festgelegt werden, die SChannel nicht verstehen kann, funktioniert die TLS-Kommunikation mit dem Server ggf. nicht mehr. In diesem Fall müssen Sie den Eintrag FrontEndSSLCipherSuiteOrder aus clusterSettings entfernen und die aktualisierte Resource Manager-Vorlage übermitteln, um die Standardeinstellungen der Verschlüsselungssammlung wiederherzustellen. Verwenden Sie diese Funktion umsichtig.
Erste Schritte
Die Azure-Website mit Resource Manager-Schnellstartvorlagen umfasst eine Vorlage mit der Basisdefinition zum Erstellen einer App Service-Umgebung.