View a markdown version of this page

Ordnen Sie eine zu AWS WAF Web-ACL mit einem Benutzerpool - Amazon Cognito

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.

Ordnen Sie eine zu AWS WAF Web-ACL mit einem Benutzerpool

AWS WAF ist eine Webanwendungs-Firewall. Mit einer AWS WAF Web Access Control List (Web ACL) können Sie Ihren Benutzerpool vor unerwünschten Anfragen an Ihre klassische gehostete Benutzeroberfläche, verwaltete Anmeldung und Amazon Cognito API-Serviceendpunkte schützen. Eine Web-ACL ermöglicht eine differenziertere Kontrolle aller HTTPS-Webanforderungen, auf die Ihr Benutzerpool reagiert. Weitere Informationen zu AWS WAF -Web-ACLs finden Sie unter Verwalten und Verwenden von Web-Zugriffskontrolllisten (Web-ACL) im Entwicklerhandbuch zu AWS WAF .

Wenn Sie eine AWS WAF Web-ACL mit einem Benutzerpool verknüpft haben, leitet Amazon Cognito ausgewählte, nicht vertrauliche Header und Inhalte von Anfragen Ihrer Benutzer weiter an. AWS WAF AWS WAF prüft den Inhalt der Anfrage, vergleicht ihn mit den Regeln, die Sie in Ihrer Web-ACL angegeben haben, und gibt eine Antwort an Amazon Cognito zurück. Die Anforderungskomponenten, an die Amazon Cognito weiterleitet, AWS WAF hängen von der Art der Anfrage ab. Bei verwalteter Anmeldung und der klassischen gehosteten Benutzeroberfläche leitet Amazon Cognito den Anfragetext nicht weiter. Weitere Informationen finden Sie unter Dinge, über die Sie wissen sollten AWS WAF Web-ACLs und Amazon Cognito.

Dinge, über die Sie wissen sollten AWS WAF Web-ACLs und Amazon Cognito

  • Sie können Web-ACL-Regeln nicht so konfigurieren, dass sie mit personenbezogenen Daten (PII) in Benutzerpoolanfragen übereinstimmen, z. B. Benutzernamen, Passwörter, Telefonnummern oder E-Mail-Adressen. Diese Daten werden für nicht verfügbar sein. AWS WAF Konfigurieren Sie stattdessen Ihre Web-ACL-Regeln so, dass sie mit Sitzungsdaten in den Headern, Pfaden und Textteilen wie IP-Adressen, Browser-Agents und angeforderten API-Vorgängen übereinstimmen.

  • Amazon Cognito unterstützt textbasierte Web-ACL-Regeln nur für Anfragen an die Benutzerpools-API. Bei verwalteter Anmeldung und der klassischen gehosteten Benutzeroberfläche leitet Amazon Cognito den Anforderungstext nicht weiter und überprüft nur die Header und andere Komponenten, die nichts mit dem Hauptteil zu tun haben.

  • Web-ACL-Regelbedingungen können nur benutzerdefinierte Blockantworten auf die erste Anfrage eines Benutzers an eine benutzerinteraktive verwaltete Anmeldeseite zurückgeben. Wenn nachfolgende Verbindungen eine benutzerdefinierte Blockantwortbedingung erfüllen, geben sie Ihren benutzerdefinierten Statuscode, Ihre Kopfzeile und Ihre Umleitungsantworten zurück, jedoch eine standardmäßige Blocknachricht.

  • Anfragen, die von blockiert wurden, werden für AWS WAF keinen Anforderungstyp auf das Kontingent für die Anforderungsrate angerechnet. Der AWS WAF Handler wird vor den API-level Throttling-Handlern aufgerufen.

  • Wenn Sie eine Web-ACL erstellen, dauert es ein wenig, bis die Web-ACL vollständig weitergegeben wurde und für Amazon Cognito verfügbar ist. Die Übertragungszeit kann zwischen einigen Sekunden und mehreren Minuten liegen. AWS WAF gibt einen zurück WAFUnavailableEntityException, wenn Sie versuchen, eine Web-ACL zuzuordnen, bevor sie vollständig weitergegeben wurde.

  • Sie können jedem Benutzerpool eine Web-ACL zuordnen.

  • Ihre Anfrage könnte zu einer Nutzlast führen, die die Grenzwerte für das übersteigt, was AWS WAF überprüfen kann. Weitere Informationen zur Konfiguration der Verarbeitung übergroßer Anfragen von Amazon Cognito finden Sie im AWS WAF Entwicklerhandbuch unter AWS WAF Behandlung übergroßer Anforderungskomponenten.

  • Sie können eine Web-ACL, die AWS WAF Fraud Control Account Takeover Prevention (ATP) verwendet, nicht mit einem Amazon Cognito-Benutzerpool verknüpfen. Die ATP-Funktion befindet sich in der AWS-AWSManagedRulesATPRuleSet verwalteten Regelgruppe. Bevor Sie eine Web-ACL einem Benutzerpool zuordnen, stellen Sie sicher, dass diese verwaltete Regelgruppe nicht verwendet wird.

  • Wenn Sie eine AWS WAF Web-ACL mit einem Benutzerpool verknüpft haben und eine Regel in Ihrer Web-ACL ein CAPTCHA enthält, kann dies zu einem nicht behebbaren Fehler bei der TOTP-Registrierung für verwaltete Anmeldeinformationen führen. Informationen zum Erstellen einer Regel, die über eine CAPTCHA-Aktion verfügt und sich nicht auf TOTP für verwaltete Anmeldeinformationen auswirkt, finden Sie unter. Konfiguration Ihres AWS WAF Web-ACL für verwaltete Anmeldung TOTP MFA

AWS WAF prüft Anfragen an die folgenden Endpunkte.

Verwaltete Anmeldung und die klassische gehostete Benutzeroberfläche

Anforderungen aller Endpunkte in der Benutzerpool-Endpunkte und verwaltete Anmeldereferenz.

Öffentliche API-Operationen

Anfragen Ihrer App an die Amazon Cognito-API, für deren Autorisierung keine AWS Anmeldeinformationen verwendet werden. Dazu gehören API-Operationen wie InitiateAuth RespondToAuthChallenge, und. GetUser Für die API-Operationen, die in den Geltungsbereich von fallen AWS WAF , ist keine Authentifizierung mit AWS Anmeldeinformationen erforderlich. Sie sind entweder nicht authentifiziert oder mit einer Sitzungszeichenfolge bzw. einem Zugriffstoken autorisiert. Weitere Informationen finden Sie unter Liste der API-Operationen, gruppiert nach Autorisierungsmodell.

Sie können die Regeln in Ihrer Web-ACL mit den Regelaktionen Count (Zählen), Allow (Zulassen) und Block (Blockieren) konfigurieren oder ein CAPTCHA als Antwort auf eine Anfrage anzeigen, die mit einer Regel übereinstimmt. Weitere Informationen finden Sie unter AWS WAF -Regeln im Entwicklerhandbuch zu AWS WAF . Abhängig von der Regelaktion können Sie die Antwort anpassen, die Amazon Cognito an Ihre Benutzer zurückgibt.

Wichtig

Ihre Optionen zum Anpassen der Antwort im Fehlerfall hängen von der Art und Weise ab, wie Sie eine API-Anforderung vornehmen.

  • Sie können den Fehlercode und den Antworttext verwalteter Anmeldeanfragen anpassen. Sie können nur ein CAPTCHA angeben, das Ihr Benutzer bei der verwalteten Anmeldung lösen muss.

  • Für Anforderungen, die Sie mit der Benutzerpool-API von Amazon Cognito vornehmen, können Sie den Antworttext einer Anforderung anpassen, die eine Blockieren-Antwort erhält. Sie können auch einen benutzerdefinierten Fehlercode im Bereich 400 bis 499 angeben.

  • Die AWS Command Line Interface (AWS CLI) und die AWS SDKs geben bei Anfragen, die eine Block- oder CAPTCHA-Antwort erzeugen, einen ForbiddenException Fehler zurück.

Zuordnen einer Web-ACL zu Ihrem Benutzerpool

Um mit einer Web-ACL in Ihrem Benutzerpool zu arbeiten, muss Ihr AWS Identity and Access Management (IAM-) Principal über die folgenden Amazon Cognito-Berechtigungen verfügen. AWS WAF Informationen zu AWS WAF Berechtigungen finden Sie unter AWS WAF API-Berechtigungen im AWS WAF Entwicklerhandbuch.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "AllowWebACLUserPool", "Effect": "Allow", "Action": [ "cognito-idp:ListResourcesForWebACL", "cognito-idp:GetWebACLForResource", "cognito-idp:AssociateWebACL" ], "Resource": [ "arn:aws:cognito-idp:*:123456789012:userpool/*" ] }, { "Sid": "AllowWebACLUserPoolWAFv2", "Effect": "Allow", "Action": [ "wafv2:ListResourcesForWebACL", "wafv2:AssociateWebACL", "wafv2:DisassociateWebACL", "wafv2:GetWebACLForResource" ], "Resource": "arn:aws:wafv2:*:123456789012:*/webacl/*/*" }, { "Sid": "DisassociateWebACL1", "Effect": "Allow", "Action": "wafv2:DisassociateWebACL", "Resource": "*" }, { "Sid": "DisassociateWebACL2", "Effect": "Allow", "Action": [ "cognito-idp:DisassociateWebACL" ], "Resource": [ "arn:aws:cognito-idp:*:123456789012:userpool/*" ] } ] }

Obwohl Sie IAM-Berechtigungen gewähren müssen, sind die aufgelisteten Aktionen nur für Berechtigungen bestimmt und entsprechen keinem API-Vorgang. https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/Welcome.html

Um zu aktivieren AWS WAF für Ihren Benutzerpool und ordnen Sie eine Web-ACL zu
  1. Melden Sie sich bei der Amazon Cognito-Konsole an.

  2. Wählen Sie im Navigationsbereich erst User Pools (Benutzerpools) aus und anschließend den Benutzerpool, den Sie bearbeiten möchten.

  3. Wählen Sie die AWS WAF Registerkarte im Abschnitt Sicherheit.

  4. Wählen Sie Bearbeiten aus.

  5. Wählen Sie AWS WAF Mit Ihrem Benutzerpool verwenden aus.

    Screenshot des AWS WAF Dialogfelds, in dem die Option AWS WAF Mit Ihrem Benutzerpool verwenden ausgewählt ist.
  6. Wählen Sie eine AWS WAF Web-ACL, die Sie bereits erstellt haben, oder wählen Sie Web-ACL erstellen in, AWS WAF um eine Web-ACL in einer neuen AWS WAF Sitzung in der zu erstellen AWS-Managementkonsole.

  7. Wählen Sie Änderungen speichern aus.

Um eine Web-ACL programmgesteuert mit Ihrem Benutzerpool im AWS Command Line Interface oder in einem SDK zu verknüpfen, verwenden Sie AssociateWeb ACL aus der AWS WAF API. Amazon Cognito verfügt nicht über eine separaten API-Operation zum Zuordnen einer Web-ACL.

Testen und Protokollieren AWS WAF Web-ACLs

Wenn Sie in Ihrer Web-ACL eine Regelaktion auf Count setzen, wird die Anforderung zu der Anzahl der Anfragen AWS WAF hinzugefügt, die der Regel entsprechen. Setzen Sie zum Testen einer Web-ACL mit Ihrem Benutzerpool die Regelaktionen auf Count (Zählen) und berücksichtigen Sie das Volumen der Anforderungen, die mit den einzelnen Regeln übereinstimmen. Wenn beispielsweise eine Regel, die Sie auf die Aktion Block (Blockieren) setzen möchten, mit einer großen Anzahl von Anforderungen übereinstimmt, die Sie als normalen Benutzerverkehr einstufen. müssen Sie Ihre Regel möglicherweise neu konfigurieren. Weitere Informationen finden Sie im AWS WAF Entwicklerhandbuch unter Testen und Optimieren Ihrer AWS WAF Schutzmaßnahmen.

Sie können auch so konfigurieren AWS WAF , dass Anforderungsheader in einer Amazon CloudWatch Logs-Protokollgruppe, einem Amazon Simple Storage Service (Amazon S3) -Bucket oder einem Amazon Data Firehose protokolliert werden. Sie können die Amazon-Cognito-Anforderungen, die Sie mit der Benutzerpool-API vornehmen, anhand von x-amzn-cognito-client-id und x-amzn-cognito-operation-name identifizieren. Verwaltete Anmeldeanfragen enthalten nur den x-amzn-cognito-client-id Header. Weitere Informationen finden Sie unter Protokollieren des Web-ACL-Datenverkehrs im Entwicklerhandbuch zu AWS WAF .

AWS WAF Web-ACLs sind in allen Benutzerpool-Funktionsplänen verfügbar. Die Sicherheitsfunktionen von AWS WAF ergänzen den Bedrohungsschutz von Amazon Cognito. Sie können beide Funktionen in einem Benutzerpool aktivieren. AWS WAF berechnet die Überprüfung von Benutzerpool-Anforderungen separat. Weitere Informationen finden Sie unter AWS WAF  – Preise.

Die Protokollierung von AWS WAF Anforderungsdaten unterliegt einer zusätzlichen Abrechnung durch den Dienst, auf den Sie Ihre Logs ausrichten. Weitere Informationen finden Sie unter Preise für die Protokollierung von Web-ACL-Datenverkehrsinformationen im Entwicklerhandbuch zu AWS WAF .