

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Verwenden Sie AWS WAF , um Ihren REST APIs in API Gateway zu schützen
<a name="apigateway-control-access-aws-waf"></a>

AWS WAF ist eine Firewall für Webanwendungen, die zum Schutz von Webanwendungen und APIs vor Angriffen beiträgt. Sie ermöglicht es ihnen, eine Gruppe von Regeln (eine sogenannte Web-Zugriffskontrollliste oder Web-ACL) zum Zulassen, Blockieren oder Zählen von Webanforderungen basierend auf von Ihnen definierten anpassbaren Web-Sicherheitsregeln und Bedingungen zu konfigurieren. Weitere Informationen finden Sie unter [So AWS WAF funktioniert](https://docs.aws.amazon.com/waf/latest/developerguide/how-aws-waf-works.html) es.

Sie können AWS WAF damit Ihre API Gateway REST API vor gängigen Web-Exploits wie SQL-Injection und Cross-Site Scripting (XSS) -Angriffen schützen. Diese können sich auf die Verfügbarkeit und Leistung der API auswirken, die Sicherheit gefährden oder übermäßige Ressourcen verbrauchen. Sie können beispielsweise Regeln zum Zulassen oder Blockieren von Anforderungen von angegebenen IP-Adressbereichen, Anforderungen von CIDR-Blocks, Anforderungen aus einem bestimmten Land oder einer bestimmten Region, Anforderungen mit bösartigem SQL-Code oder Anforderungen mit bösartigem Skript erstellen. 

Sie können auch Regeln erstellen, die mit einer bestimmten Zeichenfolge oder einem regulären Ausdrucksmuster in HTTP-Headern, einer Methode, einer Abfragezeichenfolge, einer URI und dem Anforderungstext (nur für die ersten 8 KB) übereinstimmen. Außerdem können Sie Regeln zum Blockieren von Angriffen von bestimmten Benutzeragenten, bösartigen Bots und Content Scrapers erstellen. Beispielsweise können Sie mit durchsatzbasierten Regeln die Anzahl der zulässigen Webanforderungen angeben, die von jeder Client-IP in einem sich anschließenden, fortlaufend aktualisierten 5-Minuten-Zeitraum zugelassen werden. 

**Wichtig**  
AWS WAF ist Ihre erste Verteidigungslinie gegen Web-Exploits. [Wenn auf einer API aktiviert AWS WAF ist, werden AWS WAF Regeln vor anderen Zugriffskontrollfunktionen wie [Ressourcenrichtlinien, IAM-Richtlinien](apigateway-resource-policies.md)[, Lambda-Autorisierern und Amazon Cognito](permissions.md)[Cognito-Autorisierern](apigateway-use-lambda-authorizer.md) ausgewertet.](apigateway-integrate-with-cognito.md) Wenn beispielsweise der Zugriff über einen CIDR-Block AWS WAF blockiert wird, den eine Ressourcenrichtlinie zulässt, hat dies AWS WAF Vorrang und die Ressourcenrichtlinie wird nicht bewertet.

Um die API AWS WAF zu aktivieren, müssen Sie wie folgt vorgehen:

1. Verwenden Sie die AWS WAF Konsole, das AWS SDK oder die CLI, um eine Web-ACL zu erstellen, die die gewünschte Kombination aus AWS WAF verwalteten Regeln und Ihren eigenen benutzerdefinierten Regeln enthält. Weitere Informationen finden Sie unter [Erste Schritte mit AWS WAF](https://docs.aws.amazon.com/waf/latest/developerguide/getting-started.html) und [Web Access Control Lists (Web ACLs)](https://docs.aws.amazon.com/waf/latest/developerguide/web-acl.html).
**Wichtig**  
API Gateway benötigt eine AWS WAFV2 Web-ACL für eine regionale Anwendung oder eine AWS WAF Classic Regional Web-ACL.

1. Ordnen Sie die AWS WAF Web-ACL einer API-Stufe zu. Sie können dies mithilfe der AWS WAF Konsole, des AWS SDK, der CLI oder der API Gateway Gateway-Konsole tun.

## So verknüpfen Sie mithilfe der API Gateway Gateway-Konsole eine AWS WAF Web-ACL mit einer API-Gateway-API-Stufe
<a name="apigateway-control-access-aws-waf-console"></a>

Gehen Sie wie folgt vor, um mit der API Gateway Gateway-Konsole eine AWS WAF Web-ACL einer vorhandenen API-Gateway-API-Stufe zuzuordnen:

1. Melden Sie sich bei der API Gateway Gateway-Konsole unter [https://console.aws.amazon.com/apigatewayan](https://console.aws.amazon.com/apigateway).

1. Wählen Sie eine vorhandene API oder erstellen Sie eine neue.

1. Wählen Sie im Hauptnavigationsbereich **Stages** (Stufen) und anschließend eine Stufe aus.

1. Wählen Sie im Abschnitt **Stage details** (Stufendetails) die Option **Edit** (Bearbeiten) aus.

1. Wählen Sie Ihre Web-ACL unter **Web Application Firewall (AWS WAF)** aus.

   Wenn Sie verwenden AWS WAFV2, wählen Sie eine AWS WAFV2 Web-ACL für eine regionale Anwendung aus. Die Web-ACL und alle anderen AWS WAFV2 Ressourcen, die sie verwendet, müssen sich in derselben Region wie Ihre API befinden.

   Wenn Sie eine regionale Web-ACL verwenden AWS WAF Classic Regional, wählen Sie eine regionale Web-ACL aus.

1. Wählen Sie **Änderungen speichern ** aus.

## Ordnen Sie eine AWS WAF Web-ACL einer API-Gateway-API-Stufe zu, indem Sie den AWS CLI
<a name="apigateway-control-access-aws-waf-awscli"></a>

Der folgende [associate-web-acl](https://docs.aws.amazon.com/cli/latest/reference/wafv2/associate-web-acl.html)Befehl verknüpft eine AWS WAFV2 Web-ACL für eine regionale Anwendung mit einer vorhandenen API-Gateway-API-Stufe:

```
aws wafv2 associate-web-acl \
--web-acl-arn  arn:aws:wafv2:{{{region}}}:{{111122223333}}:regional/webacl/test-cli/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 \
--resource-arn arn:aws:apigateway:{{{region}}}::/restapis/4wk1k4onj3/stages/prod
```

Der folgende [associate-web-acl](https://docs.aws.amazon.com/cli/latest/reference/waf-regional/associate-web-acl.html)Befehl verknüpft eine AWS WAF Classic Regional Web-ACL mit einer vorhandenen API-Gateway-API-Stufe:

```
aws waf-regional associate-web-acl \
--web-acl-id 'aabc123a-fb4f-4fc6-becb-2b00831cadcf' \
--resource-arn 'arn:aws:apigateway:{{{region}}}::/restapis/4wk1k4onj3/stages/prod'
```

## Ordnen Sie mithilfe der REST-API eine AWS WAF Web-ACL einer API-Stufe zu AWS WAF
<a name="apigateway-control-access-aws-waf-api"></a>

Um mithilfe der AWS WAFV2 REST-API eine AWS WAFV2 Web-ACL für eine regionale Anwendung einer vorhandenen API-Gateway-API-Stufe zuzuordnen, verwenden Sie den [AssociateWebACL-Befehl](https://docs.aws.amazon.com/waf/latest/APIReference/API_AssociateWebACL.html) wie im folgenden Beispiel:

```
import boto3
 
wafv2 = boto3.client('wafv2')

wafv2.associate_web_acl(
    WebACLArn='arn:aws:wafv2:{{{region}}}:{{111122223333}}:regional/webacl/test/abc6aa3b-fc33-4841-b3db-0ef3d3825b25',
    ResourceArn='arn:aws:apigateway:{{{region}}}::/restapis/4wk1k4onj3/stages/prod'
)
```

Um mithilfe der AWS WAF REST-API eine AWS WAF Classic Regional Web-ACL einer vorhandenen API-Gateway-API-Stufe zuzuordnen, verwenden Sie den [AssociateWebACL-Befehl](https://docs.aws.amazon.com/waf/latest/APIReference/API_wafRegional_AssociateWebACL.html) wie im folgenden Beispiel:

```
import boto3
 
waf = boto3.client('waf-regional')
 
waf.associate_web_acl(
    WebACLId='aabc123a-fb4f-4fc6-becb-2b00831cadcf',
    ResourceArn='arn:aws:apigateway:{{{region}}}::/restapis/4wk1k4onj3/stages/prod'
)
```