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 zum Schutz Ihrer AWS AppSync APIs
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 Reihe von Regeln zu konfigurieren, die als Web-Zugriffskontrollliste (WebACL) bezeichnet werden. Sie ermöglichen, blockieren oder überwachen (zählen), und zwar auf der Grundlage anpassbarer Websicherheitsregeln und -bedingungen, die Sie selbst definieren. Wenn Sie Ihre AWS AppSync API mit integrieren AWS WAF, erhalten Sie mehr Kontrolle und Einblick in den von Ihnen akzeptierten HTTP TrafficAPI. Weitere Informationen AWS WAF dazu finden Sie im AWS WAF Entwicklerhandbuch unter So AWS WAF funktioniert es.
Sie können AWS WAF es verwenden, um sich AppSync API vor gängigen Web-Exploits wie SQL Injection-Angriffen und Cross-Site-Scripting-Angriffen () XSS zu schützen. Diese können die API Verfügbarkeit und Leistung beeinträchtigen, die Sicherheit gefährden oder übermäßig viele Ressourcen verbrauchen. Sie können beispielsweise Regeln erstellen, um Anfragen von bestimmten IP-Adressbereichen, Anfragen von CIDR Blöcken, Anfragen, die aus einem bestimmten Land oder einer bestimmten Region stammen, Anfragen, die bösartigen SQL Code enthalten, oder Anfragen, die bösartiges Skript enthalten, zuzulassen oder zu blockieren.
Sie können auch Regeln erstellen, die einer bestimmten Zeichenfolge oder einem regulären Ausdrucksmuster in HTTP Headern, Methoden, Abfragezeichenfolge und Anforderungstext entsprechen (begrenzt auf die ersten 8 KB). URI 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.
Weitere Informationen zu den unterstützten Regeltypen und zusätzlichen AWS WAF Funktionen finden Sie im AWS WAF Entwicklerhandbuch und in der AWS WAF APIReferenz.
Wichtig
AWS WAF ist Ihre erste Verteidigungslinie gegen Web-Exploits. Wenn auf einem aktiviert AWS WAF istAPI, werden AWS WAF Regeln vor anderen Zugriffskontrollfunktionen wie API Schlüsselautorisierung, IAM Richtlinien, OIDC Token und Amazon Cognito Cognito-Benutzerpools ausgewertet.
Integrieren Sie und mit AppSync API AWS WAF
Sie können einen Appsync API AWS WAF mithilfe des AWS Management Console, des AWS CLI AWS CloudFormation, oder eines anderen kompatiblen Clients integrieren.
Um einen AWS AppSync API zu integrieren AWS WAF
-
Erstellen Sie ein AWS WAF WebACL. Eine ausführliche Anleitung zur Verwendung der AWS WAF Konsole
finden Sie unter Erstellen eines Webs ACL. -
Definieren Sie die Regeln für das WebACL. Eine oder mehrere Regeln werden bei der Erstellung des Webs definiertACL. Informationen zur Strukturierung von Regeln finden Sie unter AWS WAF Regeln. Beispiele für nützliche Regeln, die Sie für sich definieren können AWS AppSync API, finden Sie unterRegeln für ein Web erstellen ACL.
-
Verknüpfen Sie das Web ACL mit einem AWS AppSync API. Sie können diesen Schritt in der AWS WAF Konsole
oder in der AppSync Konsole ausführen. -
Um das Web ACL mit einem AWS AppSync API in der AWS WAF Konsole zu verknüpfen, folgen Sie den Anweisungen zum Zuordnen oder Aufheben der Verknüpfung eines Webs zu ACL einer AWS Ressource im AWS WAF Entwicklerhandbuch.
-
So verknüpfen Sie das Web ACL mit einem AWS AppSync API in der Konsole AWS AppSync
-
Melden Sie sich bei der an AWS Management Console und öffnen Sie die AppSync Konsole
. -
Wählen Sie API die aus, die Sie einer Website zuordnen möchtenACL.
-
Wählen Sie im Navigationsbereich Settings (Einstellungen).
-
Aktivieren Sie im Abschnitt Web Application Firewall die Option Aktivieren AWS WAF.
-
Wählen Sie in der ACL Dropdownliste Web den Namen des Webs aus, dem Sie Ihre API Website zuordnen ACL möchten.
-
Wählen Sie Speichern, um das Web ACL mit Ihrem API zu verknüpfen.
-
-
Anmerkung
Nachdem Sie ACL in der AWS WAF Konsole ein Web erstellt haben, kann es einige Minuten dauern, ACL bis das neue Web verfügbar ist. Wenn Sie ACL im Firewall-Menü der Webanwendung kein neu erstelltes Web sehen, warten Sie ein paar Minuten und wiederholen Sie die Schritte, um das Web ACL mit Ihrem API zu verknüpfen.
Anmerkung
AWS WAF Die Integration unterstützt das Subscription registration message
Ereignis nur für Echtzeit-Endpunkte. AWS AppSync antwortet mit einer Fehlermeldung statt mit einer start_ack
Meldung für alle, die Subscription registration message
blockiert wurden AWS WAF.
Nachdem Sie ein Web ACL mit einem verknüpft haben AWS AppSync API, verwalten Sie das Web ACL mit dem AWS WAF APIs. Sie müssen die Website nicht erneut ACL mit Ihrer verknüpfen, AWS AppSync API es sei denn, Sie möchten die Website AWS AppSync API mit einer anderen Website ACL verknüpfen.
Regeln für ein Web erstellen ACL
Regeln definieren, wie Webanfragen geprüft werden und was zu tun ist, wenn eine Webanfrage den Inspektionskriterien entspricht. Regeln existieren nicht für AWS WAF sich allein. Sie können in einer Regelgruppe oder im Web, in ACL dem sie definiert ist, anhand des Namens auf eine Regel zugreifen. Weitere Informationen finden Sie unter AWS WAF Regeln. Die folgenden Beispiele zeigen, wie Regeln definiert und verknüpft werden, die für den Schutz von nützlich sind AppSync API.
Beispiel ACLWebregel zur Begrenzung der Größe des Anfragetextes
Im Folgenden finden Sie ein Beispiel für eine Regel, die die Größe des Hauptteils von Anfragen begrenzt. Dies würde beim Erstellen eines Webs in der AWS WAF Konsole ACL in den JSONRegeleditor eingegeben werden.
{ "Name": "BodySizeRule", "Priority": 1, "Action": { "Block": {} }, "Statement": { "SizeConstraintStatement": { "ComparisonOperator": "GE", "FieldToMatch": { "Body": {} }, "Size": 1024, "TextTransformations": [ { "Priority": 0, "Type": "NONE" } ] } }, "VisibilityConfig": { "CloudWatchMetricsEnabled": true, "MetricName": "BodySizeRule", "SampledRequestsEnabled": true } }
Nachdem Sie Ihr Web ACL mit der vorherigen Beispielregel erstellt haben, müssen Sie es mit Ihrer verknüpfen AppSync API. Als Alternative zur Verwendung von können Sie diesen Schritt in der ausführen AWS Management Console, AWS CLI indem Sie den folgenden Befehl ausführen.
aws waf associate-web-acl --web-acl-id
waf-web-acl-arn
--resource-arnappsync-api-arn
Es kann einige Minuten dauern, bis die Änderungen übernommen werden, aber nach der Ausführung dieses Befehls werden Anfragen, deren Hauptteil größer als 1024 Byte ist, von AWS AppSync abgewiesen.
Anmerkung
Nachdem Sie ACL in der AWS WAF Konsole ein neues Web erstellt haben, kann es einige Minuten dauern, ACL bis das Web für die Verknüpfung mit einem API verfügbar ist. Wenn Sie den CLI Befehl ausführen und eine WAFUnavailableEntityException
Fehlermeldung erhalten, warten Sie einige Minuten und versuchen Sie dann erneut, den Befehl auszuführen.
Beispiel ACLWebregel zur Beschränkung von Anfragen von einer einzelnen IP-Adresse
Im Folgenden finden Sie ein Beispiel für eine Regel, mit der Anfragen von einer einzelnen IP-Adresse AppSync API auf 100 gedrosselt werden. Dies würde beim Erstellen einer Website ACL mit einer ratenbasierten Regel in der Konsole in den JSON Regeleditor eingegeben werden. AWS WAF
{ "Name": "Throttle", "Priority": 0, "Action": { "Block": {} }, "VisibilityConfig": { "SampledRequestsEnabled": true, "CloudWatchMetricsEnabled": true, "MetricName": "Throttle" }, "Statement": { "RateBasedStatement": { "Limit": 100, "AggregateKeyType": "IP" } } }
Nachdem Sie Ihre Website ACL mit der vorherigen Beispielregel erstellt haben, müssen Sie sie mit Ihrer verknüpfen. AppSync API Sie können diesen Schritt in der ausführen, AWS CLI indem Sie den folgenden Befehl ausführen.
aws waf associate-web-acl --web-acl-id
waf-web-acl-arn
--resource-arnappsync-api-arn
Beispiel ACLWebregel zur Verhinderung von GraphQL __schema-Introspektionsabfragen an ein API
Das Folgende ist ein Beispiel für eine Regel, die GraphQL __schema Introspection-Abfragen an eine verhindert. API Jeder HTTP Textkörper, der die Zeichenfolge „__schema“ enthält, wird blockiert. Dies würde beim Erstellen eines Webs in der AWS WAF Konsole ACL in den JSONRegeleditor eingegeben werden.
{ "Name": "BodyRule", "Priority": 5, "Action": { "Block": {} }, "VisibilityConfig": { "SampledRequestsEnabled": true, "CloudWatchMetricsEnabled": true, "MetricName": "BodyRule" }, "Statement": { "ByteMatchStatement": { "FieldToMatch": { "Body": {} }, "PositionalConstraint": "CONTAINS", "SearchString": "__schema", "TextTransformations": [ { "Type": "NONE", "Priority": 0 } ] } } }
Nachdem Sie Ihr Web ACL mit der vorherigen Beispielregel erstellt haben, müssen Sie es mit Ihrer verknüpfen AppSync API. Sie können diesen Schritt in der ausführen, AWS CLI indem Sie den folgenden Befehl ausführen.
aws waf associate-web-acl --web-acl-id
waf-web-acl-arn
--resource-arnappsync-api-arn