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.
Zuordnen einer AWS WAF Web-ACL zu einem Benutzerpool
AWS WAF ist eine Firewall für Webanwendungen. Mit einer AWS WAF Web-Zugriffskontrollliste (Web ACL) können Sie Ihren Benutzerpool vor unerwünschten Anfragen an Ihre klassische gehostete Benutzeroberfläche 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 zum AWS WAF Web ACLs finden Sie unter Verwalten und Verwenden einer Web-Zugriffskontrollliste (Web-ACL) im AWS WAF Entwicklerhandbuch.
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 an weiter. AWS WAF AWS WAF untersucht den Inhalt der Anfrage, vergleicht sie mit den Regeln, die Sie in Ihrer Web-ACL angegeben haben, und gibt eine Antwort an Amazon Cognito zurück.
Wissenswertes über AWS WAF Web ACLs und Amazon Cognito
-
Derzeit gelten Web-ACL-Regeln nur für Anfragen an Benutzerpool-Domains mit der Branding-Version für gehostete Benutzeroberflächen (klassisch). Wenn Sie oder Ihre Branding-Version
ManagedLoginVersion
auf2
Verwaltete Anmeldung setzen, erzwingt Amazon Cognito keine Regeln auf Ihren verwalteten Anmeldeseiten.Gehen Sie wie folgt vor, um Ihre Branding-Version so zu ändern ACLs, dass sie mit dem AWS WAF Internet kompatibel ist. Diese Änderung wirkt sich auf das Erscheinungsbild und die Funktionen Ihrer Anmeldeseiten aus.
-
Stellen Sie in einer CreateUserPoolDomainoder UpdateUserPoolDomainAPI-Anfrage
ManagedLoginVersion
auf ein1
. -
Bearbeiten Sie im Domain-Menü Ihres Benutzerpools in der Amazon Cognito Cognito-Konsole Ihr Präfix oder Ihre klassische Domain und setzen Sie die verwaltete Login-Version auf Gehostete Benutzeroberfläche (klassisch).
Weitere Informationen zu Branding-Versionen finden Sie unterVom Benutzerpool verwaltete Anmeldung.
-
-
Sie können Web-ACL-Regeln nicht so konfigurieren, dass sie mit personenbezogenen Daten (PII) in Benutzerpoolanfragen übereinstimmen, z. B. Benutzernamen, Kennwörter, Telefonnummern oder E-Mail-Adressen. Diese Daten werden nicht verfügbar sein für. AWS WAF Konfigurieren Sie stattdessen Ihre Web-ACL-Regeln so, dass sie mit den Sitzungsdaten in den Headern, Pfaden und Textteilen wie IP-Adressen, Browser-Agenten und angeforderten API-Vorgängen übereinstimmen.
-
Anfragen, die von blockiert wurden, werden für AWS WAF keinen Anfragetyp auf das Kontingent für die Anforderungsrate angerechnet. Der AWS WAF Handler wird vor den Drosselungsprozeduren auf API-Ebene 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 a zurück
WAFUnavailableEntityException
, wenn Sie versuchen, eine Web-ACL zuzuordnen, bevor sie vollständig weitergegeben wurde. -
Sie können einem Benutzerpool jeweils 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. Unter Behandlung übergroßer Anforderungskomponenten im AWS WAF Entwicklerhandbuch erfahren Sie, wie Sie konfigurieren können, wie mit übergroßen Anfragen von Amazon Cognito AWS WAF umgegangen wird.
-
Sie können eine Web-ACL, die AWS WAF Fraud Control Account Takeover Prevention (ATP) verwendet, nicht mit einem Amazon Cognito Cognito-Benutzerpool verknüpfen. Sie implementieren die ATP-Funktion, wenn Sie die verwaltete Regelgruppe
AWS-AWSManagedRulesATPRuleSet
hinzufügen. Stellen Sie sicher, dass Ihre Web-ACL diese verwaltete Regelgruppe nicht verwendet, bevor Sie sie einem Benutzerpool zuordnen. -
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 klassischen TOTP-Registrierung mit gehosteter Benutzeroberfläche führen. Informationen zum Erstellen einer Regel mit einer CAPTCHA-Aktion, die sich nicht auf das TOTP der klassischen gehosteten Benutzeroberfläche auswirkt, finden Sie unter. Konfiguration Ihrer AWS WAF Web-ACL für die verwaltete Anmeldung TOTP MFA
AWS WAF untersucht Anfragen an die folgenden Endpunkte.
- Klassische gehostete Benutzeroberfläche
-
Anforderungen aller Endpunkte in der Benutzerpool-Endpunkte und Referenz für verwaltete Logins.
- Öffentliche API-Operationen
-
Anfragen von Ihrer App an die Amazon Cognito Cognito-API, die keine AWS Anmeldeinformationen zur Autorisierung verwenden. Dazu gehören API-Operationen wie InitiateAuthRespondToAuthChallenge, und. GetUser Die API-Operationen, die in den Geltungsbereich von fallen, erfordern AWS WAF keine Authentifizierung mit AWS Anmeldeinformationen. Sie sind entweder nicht authentifiziert oder mit einer Sitzungszeichenfolge bzw. einem Zugriffstoken autorisiert. Weitere Informationen finden Sie unter Authentifizierte und nicht authentifizierte API-Operationen der Amazon-Cognito-Benutzerpools.
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 klassischer gehosteter UI-Anfragen anpassen. Sie können Ihrem Benutzer nur in der klassischen gehosteten Benutzeroberfläche ein CAPTCHA zur Lösung vorlegen.
-
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 arbeiten zu können, muss Ihr AWS Identity and Access Management (IAM-) Principal über die folgenden Amazon Cognito- und AWS WAF Berechtigungen verfügen. Informationen zu AWS WAF Berechtigungen finden Sie unter AWS WAF API-Berechtigungen im AWS WAF Entwicklerhandbuch.
{ "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/*" ] } ] }
Auch wenn Sie IAM-Berechtigungen erteilen müssen, sind die aufgelisteten Aktionen nur für Berechtigungen bestimmt und entsprechen keiner API-Operation.
Um sie AWS WAF für Ihren Benutzerpool zu aktivieren und eine Web-ACL zuzuordnen
-
Melden Sie sich bei der Amazon Cognito-Konsole
an. -
Wählen Sie im Navigationsbereich erst User Pools (Benutzerpools) aus und anschließend den Benutzerpool, den Sie bearbeiten möchten.
-
Wählen Sie die AWS WAFRegisterkarte im Bereich Sicherheit.
-
Wählen Sie Edit (Bearbeiten) aus.
-
Wählen Sie AWS WAF Mit Ihrem Benutzerpool verwenden aus.
-
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 Management Console.
-
Wählen Sie Änderungen speichern.
Verwenden Sie ACL aus der API, um Ihrem Benutzerpool im AWS Command Line Interface oder einem SDK programmgesteuert eine AssociateWebWeb-ACL zuzuordnen. AWS WAF Amazon Cognito verfügt nicht über eine separaten API-Operation zum Zuordnen einer Web-ACL.
Web testen und protokollieren AWS WAF ACLs
Wenn Sie eine Regelaktion in Ihrer Web-ACL auf Count setzen, wird die Anfrage zu einer Anzahl von 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 Ihres AWS WAF Schutzes.
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 einer 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. Anforderungen der gehosteten Benutzeroberfläche umfassen nur den Header x-amzn-cognito-client-id
. 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 -Preisgestaltung
Die Protokollierung von AWS WAF Anforderungsdaten unterliegt einer zusätzlichen Abrechnung durch den Dienst, für den Sie Ihre Protokolle verwenden. Weitere Informationen finden Sie unter Preise für die Protokollierung von Web-ACL-Datenverkehrsinformationen im Entwicklerhandbuch zu AWS WAF .