Freigeben über


Einrichten von Azure App Service-Zugriffseinschränkungen

Wenn Sie Zugriffsbeschränkungen einrichten, können Sie eine Liste mit prioritätsgeordneten Zulassungs-/Ablehnungen definieren, die den Netzwerkzugriff auf Ihre App steuert. Die Liste kann IP-Adressen oder Azure Virtual Network-Subnetze enthalten. Wenn mindestens ein Eintrag vorhanden ist, enthält die Liste am Ende einen impliziten Eintrag vom Typ Alle ablehnen. Weitere Informationen finden Sie unter Azure App Service-Zugriffseinschränkungen.

Die Funktion für die Zugriffseinschränkung kann für alle Workloads genutzt werden, die von Azure App Service gehostet werden. Die Workloads können Web-Apps, API-Apps, Linux-Apps, benutzerdefinierte Linux-Container und Azure Functions-Apps enthalten.

Wenn jemand eine Anforderung an Ihre App sendet, wird die FROM Adresse anhand der Regeln in Ihrer Zugriffseinschränkungsliste ausgewertet. Wenn sich die FROM Adresse in einem Subnetz befindet, das mit Dienstendpunkten Microsoft.Webkonfiguriert ist, wird das Quellsubnetz mit den Regeln für virtuelle Netzwerke in Ihrer Zugriffseinschränkungsliste verglichen. Wenn der Zugriff für die Adresse basierend auf den Regeln in der Liste nicht zugelassen wird, antwortet der Dienst mit dem Statuscode HTTP 403.

Die Funktion „Zugriffseinschränkungen“ wird in den App Service-Front-End-Rollen implementiert, die den Workerhosts vorgeschaltet sind, auf denen Ihr Code ausgeführt wird. Es handelt sich somit bei Zugriffseinschränkungen im Grunde um Zugriffssteuerungslisten für das Netzwerk.

Die Möglichkeit, den Zugriff auf Ihre Web-App auf ein virtuelles Azure-Netzwerk zu beschränken, basiert auf der Nutzung von Dienstendpunkten. Mit Dienstendpunkten können Sie den Zugriff auf einen mehrinstanzenfähigen Dienst auf ausgewählte Subnetze beschränken. Der Datenverkehr für Apps, die in einer App Service-Umgebung gehostet werden, kann hierdurch nicht eingeschränkt werden. In einer App Service-Umgebung können Sie den Zugriff auf Ihre App steuern, indem Sie IP-Adressregeln anwenden.

Hinweis

Die Dienstendpunkte müssen sowohl auf der Netzwerkseite als auch für den Azure-Dienst aktiviert sein, mit dem sie aktiviert werden. Eine Liste der Azure-Dienste, die Dienstendpunkte unterstützen, finden Sie unter Virtual Network-Dienstendpunkte.

Diagramm, das den Fluss von Zugriffsbeschränkungen zeigt.

Verwalten von Zugriffseinschränkungsregeln im Portal

So fügen Sie Ihrer App eine Zugriffseinschränkungsregel hinzu:

  1. Melden Sie sich beim Azure-Portal an.

  2. Wählen Sie die App aus, der Sie Zugriffseinschränkungen hinzufügen möchten.

  3. Wählen Sie im linken Menü Einstellungen>Networking aus.

  4. Wählen Sie im Netzwerkbereich unter Konfiguration des eingehenden Datenverkehrs die Einstellung für den Zugriff auf das öffentliche Netzwerk aus.

    Screenshot des Bereichs

  5. Überprüfen Sie im Bereich " Zugriffseinschränkungen " die Liste der Zugriffsbeschränkungsregeln, die für Ihre App definiert sind.

    Screenshot des Bereichs

    In der Liste werden die Einschränkungen angezeigt, die derzeit auf die App angewendet werden. Wenn Sie über eine Beschränkung des virtuellen Netzwerks für Ihre App verfügen, zeigt die Tabelle an, ob die Dienstendpunkte aktiviert Microsoft.Websind. Wenn keine Einschränkungen für Ihre App definiert sind und Ihre Nichtübereinstimmungsregel nicht auf Verweigern festgelegt ist, kann von praktisch überall aus auf die App zugegriffen werden.

Berechtigungen

Sie müssen über die folgenden rollenbasierten Zugriffssteuerungsberechtigungen für das Subnetz oder auf einer höheren Ebene verfügen, um Zugriffsbeschränkungen über das Azure-Portal, die CLI oder das direkte Festlegen der site config Eigenschaften zu konfigurieren:

Aktion BESCHREIBUNG
Microsoft.Web/sites/config/read Ruft Web App-Konfigurationseinstellungen ab.
Microsoft.Web/sites/config/write Aktualisiert die Konfigurationseinstellungen der Web-App.
Microsoft.Network/virtualNetworks/subnets/joinViaServiceEndpoint/action* Verknüpft Ressourcen wie etwa ein Speicherkonto oder eine SQL-Datenbank mit einem Subnetz.
Microsoft.Web/sites/write** Aktualisiert Web-App-Einstellungen.

*Nur erforderlich beim Hinzufügen einer Regel für ein virtuelles Netzwerk (Dienstendpunkt)

**Nur erforderlich, wenn Sie Zugriffsbeschränkungen über das Azure-Portal aktualisieren

Wenn Sie eine dienstendpunktbasierte Regel hinzufügen und sich das virtuelle Netzwerk in einem anderen Abonnement als die App befindet, stellen Sie sicher, dass das Abonnement mit dem virtuellen Netzwerk für den Microsoft.Web Ressourcenanbieter registriert ist. Sie können den Anbieter explizit registrieren, aber er wird auch automatisch registriert, wenn Sie die erste Web-App in einem Abonnement erstellen. Weitere Informationen finden Sie unter Registrieren des Ressourcenanbieters.

Hinzufügen einer Zugriffseinschränkungsregel

Wenn Sie Ihrer App eine Zugriffseinschränkungsregel hinzufügen möchten, wählen Sie im Bereich "Zugriffseinschränkungen" die Option "Hinzufügen" aus. Die Regel ist erst nach dem Speichern wirksam.

Regeln werden in der Reihenfolge ihrer Priorität erzwungen, von der niedrigsten Zahl in der Spalte Priorität begonnen wird. Wenn Sie keine nicht übereinstimmende Regel konfigurieren, wird beim Hinzufügen einer Regel eine implizite Ablehnung wirksam.

Gehen Sie beim Erstellen einer Regel im Bereich Zugriffseinschränkung hinzufügen wie folgt vor:

  1. Wählen Sie unter Aktion entweder die Option Zulassen oder Ablehnen aus.
  2. Geben Sie einen Namen und eine Beschreibung der Regel ein (optional).
  3. Geben Sie im Feld Priorität einen Prioritätswert ein.
  4. Wählen Sie in der Dropdownliste Typ den Regeltyp aus. Die unterschiedlichen Typen von Regeln werden in den folgenden Abschnitten beschrieben.
  5. Geben Sie die regelspezifische Eingabe ein. Wählen Sie "Regel hinzufügen" aus, um der Liste die Regel hinzuzufügen.
  6. Wählen Sie im Bereich "Zugriffseinschränkungen" die Option "Speichern" aus.

Hinweis

Es gibt einen Grenzwert von 512 Zugriffseinschränkungsregeln. Wenn Sie mehr als 512 Regeln für Zugriffseinschränkungen benötigen, empfehlen wir Ihnen, ein eigenständiges Sicherheitsprodukt zu erwägen. Betrachten Sie Azure Front Door, Azure Application Gateway oder eine andere Webanwendungsfirewall (WAF).

Festlegen einer Regel auf Basis einer IP-Adresse

Befolgen Sie die Schritte des vorherigen Abschnitts, aber achten Sie auf die folgende Ergänzung:

  • Wählen Sie für Schritt 4 in der Dropdownliste " Typ " IPv4 oder IPv6 aus.

Geben Sie den IP-Adressblock in der Klassenlosen Inter-Domain Routingnotation (CIDR) für die IPv4- und IPv6-Adressen an. Wenn Sie eine Adresse angeben möchten, können Sie etwa folgendes verwenden: 1.2.3.4/32Die ersten vier Oktette stellen Ihre IP-Adresse dar und /32 sind die Maske. Die IPv4 CIDR-Notation für alle Adressen lautet 0.0.0.0/0.

Hinweis

Auf IP-Adressen basierende Zugriffseinschränkungsregeln behandeln nur Adressbereiche für virtuelle Netzwerke, wenn sich Ihre App in einer App Service-Umgebung befindet. Wenn sich Ihre App im Mehrinstanzendienst befindet, müssen Sie Dienstendpunkte verwenden, um den Datenverkehr auf die Auswahl von Subnetzen in Ihrem virtuellen Netzwerk einzuschränken.

Festlegen einer dienstendpunktbasierten Regel

  • Wählen Sie in Schritt 4 in der Dropdownliste Typ die Option Virtuelles Netzwerk aus.

    Screenshot des Bereichs

Geben Sie die Dropdownlisten "Abonnement", "Virtuelles Netzwerk" und " Subnetz " an, die den Zugriff einschränken möchten.

Die Verwendung von Dienstendpunkten ermöglicht das Einschränken des Zugriffs auf ausgewählte Subnetze virtueller Azure-Netzwerke. Falls für das von Ihnen ausgewählte Subnetz nicht bereits Dienstendpunkte mit Microsoft.Web aktiviert sind, wird dies automatisch durchgeführt, es sei denn, Sie wählen Fehlende Microsoft.Web-Dienstendpunkte ignorieren. Ob Sie Dienstendpunkte für die App aktivieren möchten, aber nicht das Subnetz, hängt davon ab, ob Sie über die Berechtigungen zum Aktivieren dieser Endpunkte im Subnetz verfügen.

Falls die Dienstendpunkte im Subnetz bei Ihnen von einer anderen Person aktiviert werden müssen, wählen Sie Fehlende Microsoft.Web-Dienstendpunkte ignorieren. Ihre App ist für Dienstendpunkte konfiguriert. Sie können später im Subnetz aktiviert werden.

Sie können Dienstendpunkte nicht nutzen, um den Zugriff auf Apps einzuschränken, die in einer App Service-Umgebung ausgeführt werden. Wenn Ihre App in einer App Service-Umgebung enthalten ist, können Sie den Zugriff darauf steuern, indem Sie IP-Zugriffsregeln anwenden.

Mit Dienstendpunkten können Sie Ihre App mithilfe von Anwendungsgateways oder anderen WAF-Geräten (Web Application Firewall) konfigurieren. Sie können auch Anwendungen mit mehreren Ebenen und sicheren Back-Ends konfigurieren. Weitere Informationen finden Sie unter App Service-Netzwerkfeatures und Anwendungsgateway-Integration.

Hinweis

Dienstendpunkte werden nicht für Web-Apps unterstützt, für die IP-basierte TLS/SSL-Bindungen mit einer virtuellen IP verwendet werden.

Festlegen einer diensttagbasierten Regel

  • Wählen Sie in Schritt 4 in der Dropdownliste Typ die Option Diensttag aus.

    Screenshot des Bereichs

Alle öffentlich verfügbaren Diensttags werden in Zugriffseinschränkungsregeln unterstützt. Jedes Diensttag steht für eine Liste von IP-Adressbereichen aus Azure-Diensten. Eine Liste dieser Dienste und Verknüpfungen mit den spezifischen Bereichen finden Sie in der Diensttagdokumentation. Verwenden Sie Azure Resource Manager-Vorlagen oder Skripts, um komplexere Regeln zu konfigurieren, z. B. für regionale Bereiche.

Hinweis

Wenn Sie Diensttag-basierte Regeln über das Azure-Portal oder die Azure CLI erstellen, benötigen Sie Lesezugriff auf Abonnementebene, um die vollständige Liste der Diensttags für die Auswahl/Validierung zu erhalten. Darüber hinaus muss der Ressourcenanbieter Microsoft.Network im Abonnement registriert werden.

Bearbeiten einer Regel

  1. Um eine vorhandene Zugriffseinschränkungsregel zu bearbeiten, wechseln Sie zum Bereich "Zugriffseinschränkungen ", und wählen Sie die Regel aus, die Sie bearbeiten möchten.

  2. Nehmen Sie im Bereich Zugriffseinschränkung bearbeiten Ihre Änderungen vor, und wählen Sie anschließend die Option Regel aktualisieren aus.

  3. Klicken Sie zum Speichern der Änderungen auf Speichern.

    Hinweis

    Wenn Sie eine Regel bearbeiten, können Sie nicht zwischen den Regeltypen wechseln.

Löschen einer Regel

  1. Um eine Regel zu löschen, wählen Sie im Bereich "Zugriffseinschränkungen " die Regel oder Regeln aus, die Sie löschen möchten, und wählen Sie dann "Löschen" aus.

  2. Klicken Sie zum Speichern der Änderungen auf Speichern.

Screenshot des Bereichs

Erweiterte Szenarien für die Zugriffseinschränkung

In den folgenden Abschnitten wird die Verwendung von Zugriffsbeschränkungen in erweiterten Szenarien beschrieben.

Nach HTTP-Header filtern

Sie können jeder Regel HTTP-Headerfilter hinzufügen. Die folgenden HTTP-Headernamen werden unterstützt:

  • X-Forwarded-For
  • X-Forwarded-Host
  • X-Azure-FDID
  • X-FD-HealthProbe

Für jeden Kopfzeilennamen können Sie bis zu acht Werte hinzufügen, die durch Kommas getrennt sind. Die HTTP-Headerfilter werden nach der Regel selbst ausgewertet, und beide Bedingungen müssen erfüllt sein, damit die Regel angewendet werden kann.

Regeln für mehrere Quellen

Mithilfe von Regeln mit mehreren Quellen können Sie bis zu acht IP-Bereiche oder acht Diensttags in einer einzigen Regel kombinieren. Verwenden Sie Multi-Source-Regeln, wenn Sie über mehr als 512 IP-Bereiche verfügen oder logische Regeln erstellen möchten. Beispiel: Eine logische Regel könnte mehrere IP-Bereiche enthalten, die mit einem einzigen HTTP-Headerfilter kombiniert werden.

Regeln mit mehreren Quellen werden auf die gleiche Weise definiert wie Regeln mit einer einzigen Quelle, aber jeder Bereich wird durch ein Komma getrennt.

PowerShell-Beispiel:

Add-AzWebAppAccessRestrictionRule -ResourceGroupName "ResourceGroup" -WebAppName "AppName" `
  -Name "Multi-source rule" -IpAddress "192.168.1.0/24,192.168.10.0/24,192.168.100.0/24" `
  -Priority 100 -Action Allow

Blockieren einer einzelnen IP-Adresse

Wenn Sie eine einzelne IP-Adresse oder einen Block von IP-Adressen explizit blockieren möchten, aber den Zugriff auf alles andere zulassen möchten, können Sie eine Verweigerungsregel für die bestimmte IP-Adresse hinzufügen. Konfigurieren Sie dann die Nichtübereinstimmungsregelaktion auf Zulassen.

Screenshot des Bereichs

Beschränken des Zugriffs auf eine SCM-Website

Zusätzlich zur Steuerung des Zugriffs auf Ihre App können Sie den Zugriff auf die erweiterte Toolwebsite der Quellcodeverwaltung (Source Control Management, SCM) einschränken, die von Ihrer App verwendet wird. Die SCM-Website fungiert sowohl als Web Deploy-Endpunkt als auch als Kudu-Konsole. Sie können die Zugriffseinschränkungen für die SCM-Website getrennt von der App zuweisen oder den gleichen Satz mit Einschränkungen sowohl für die App als auch für die SCM-Website verwenden. Wenn Sie Hauptwebsiteregeln verwendenauswählen, wird die Regelliste ausgeblendet. Die SCM-Website verwendet die Regeln von der Hauptwebsite. Wenn Sie das Kontrollkästchen deaktivieren, werden Ihre SCM-Websiteeinstellungen erneut angezeigt.

Screenshot des Bereichs

Einschränken des Zugriffs auf eine bestimmte Azure Front Door-Instanz

Datenverkehr von Azure Front Door zu Ihrer Anwendung stammt aus einer bekannten Gruppe von IP-Bereichen, die im Diensttag AzureFrontDoor.Backend definiert sind. Mithilfe einer Einschränkungsregel für Diensttags können Sie den Datenverkehr auf den Ursprung von Azure Front Door beschränken. Um sicherzustellen, dass datenverkehr nur von Ihrer spezifischen Instanz stammt, müssen Sie die eingehenden Anforderungen basierend auf dem eindeutigen HTTP-Header, den Azure Front Door sendet, weiter filtern.

Screenshot des Bereichs

PowerShell-Beispiel:

$afd = Get-AzFrontDoor -Name "MyFrontDoorInstanceName"
Add-AzWebAppAccessRestrictionRule -ResourceGroupName "ResourceGroup" -WebAppName "AppName" `
  -Name "Front Door example rule" -Priority 100 -Action Allow -ServiceTag AzureFrontDoor.Backend `
  -HttpHeader @{'x-azure-fdid' = $afd.FrontDoorId}

Programmgesteuertes Verwalten von Zugriffseinschränkungen

Sie können die Zugriffsbeschränkung auch programmgesteuert verwalten. In den folgenden Beispielen wird gezeigt, wie Sie Regeln zu Zugriffseinschränkungen hinzufügen und Nicht übereinstimmende Regelaktion für Hauptwebsite- und Erweiterte Toolwebsiteändern.

Hinzufügen von Zugriffseinschränkungsregeln für die Hauptsite

Sie können Zugriffseinschränkungsregeln für die Hauptsite programmgesteuert hinzufügen, indem Sie eine der folgenden Optionen auswählen:

Sie können den folgenden Befehl in Azure Cloud Shell ausführen. Weitere Informationen zum Befehl finden Sie unter az webapp config access-restriction.

az webapp config access-restriction add --resource-group ResourceGroup --name AppName \
  --rule-name 'IP example rule' --action Allow --ip-address 122.133.144.0/24 --priority 100

az webapp config access-restriction add --resource-group ResourceGroup --name AppName \
  --rule-name "Azure Front Door example" --action Allow --priority 200 --service-tag AzureFrontDoor.Backend \
  --http-header x-azure-fdid=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

Hinzufügen von Zugriffseinschränkungsregeln für die erweiterte Toolsite

Sie können Zugriffsbeschränkungsregeln für die erweiterte Toolwebsite programmgesteuert hinzufügen. Wählen Sie eine der folgenden Optionen aus:

Sie können den folgenden Befehl in Cloud Shell ausführen. Weitere Informationen zum Befehl finden Sie unter az webapp config access-restriction.

az webapp config access-restriction add --resource-group ResourceGroup --name AppName \
  --rule-name 'IP example rule' --action Allow --ip-address 122.133.144.0/24 --priority 100 --scm-site true

Ändern von „Aktion bei nicht übereinstimmender Regel“ für die Hauptsite

Sie können die Aktion bei nicht übereinstimmender Regel für die Hauptsite programmgesteuert ändern, indem Sie eine der folgenden Optionen auswählen:

Sie können den folgenden Befehl in Cloud Shell ausführen. Weitere Informationen zum Befehl finden Sie unter az resource. Zulässige Werte für ipSecurityRestrictionsDefaultAction sind Allow und Deny.

az resource update --resource-group ResourceGroup --name AppName --resource-type "Microsoft.Web/sites" \
  --set properties.siteConfig.ipSecurityRestrictionsDefaultAction=Allow

Ändern von „Aktion bei nicht übereinstimmender Regel“ für die erweiterte Toolsite

Sie können die Aktion bei nicht übereinstimmender Regel für die Erweiterte Toolsite programmgesteuert ändern, indem Sie eine der folgenden Optionen auswählen:

Sie können den folgenden Befehl in Cloud Shell ausführen. Weitere Informationen zum Befehl finden Sie unter az resource. Zulässige Werte für scmIpSecurityRestrictionsDefaultAction sind Allow und Deny.

az resource update --resource-group ResourceGroup --name AppName --resource-type "Microsoft.Web/sites" \
  --set properties.siteConfig.scmIpSecurityRestrictionsDefaultAction=Allow

Einrichten von Azure Functions-Zugriffseinschränkungen

Zugriffseinschränkungen stehen auch für Funktions-Apps mit derselben Funktionalität sowie für App Service-Pläne zur Verfügung. Wenn Sie Zugriffseinschränkungen aktivieren, führt dies gleichzeitig dazu, dass der Code-Editor im Azure-Portal für alle unzulässigen IP-Adressen deaktiviert wird.