Arbeiten Sie mit adaptiver Authentifizierung - 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.

Arbeiten Sie mit adaptiver Authentifizierung

Mit der adaptiven Authentifizierung können Sie Ihren Benutzerpool so konfigurieren, dass verdächtige Anmeldungen blockiert werden, oder dass ein zweiter Faktor gefordert wird, wenn ein erhöhtes Risiko besteht. Bei jedem Anmeldeversuch generiert Amazon Cognito eine Risikobewertung, die angibt, wie wahrscheinlich es ist, dass die Anmeldeanforderung von einer kompromittierten Quelle stammt. Diese Risikobewertung basiert auf Geräte- und Benutzerfaktoren, die Ihre Anwendung bereitstellt, und anderen Faktoren, die Amazon Cognito aus der Anfrage ableitet. Einige Faktoren, die zur Risikobewertung durch Amazon Cognito beitragen, sind IP-Adresse und Benutzeragent, Benutzeragent und geografische Entfernung zu anderen Anmeldeversuchen. Die adaptive Authentifizierung kann die Multi-Faktor-Authentifizierung (MFA) für einen Benutzer in Ihrem Benutzerpool aktivieren oder erfordern, wenn Amazon Cognito ein Risiko in einer Benutzersitzung erkennt und der Benutzer noch keine Methode ausgewählt hat. MFA Wenn Sie die Aktivierung MFA für einen Benutzer durchführen, wird dieser bei der Authentifizierung immer aufgefordert, einen zweiten Faktor anzugeben oder einzurichten, unabhängig davon, wie Sie die adaptive Authentifizierung konfiguriert haben. Aus Sicht Ihrer Benutzer bietet Ihre App an, ihnen bei der Einrichtung zu helfenMFA, und optional verhindert Amazon Cognito, dass sie sich erneut anmelden, bis sie einen zusätzlichen Faktor konfiguriert haben.

Amazon Cognito veröffentlicht Kennzahlen zu Anmeldeversuchen, deren Risikoniveau und fehlgeschlagenen Anfragen an Amazon. CloudWatch Weitere Informationen finden Sie unter Metriken zum Schutz vor Bedrohungen anzeigen.

Weitere Informationen darüber, wie Sie Ihrem Benutzerpool eine adaptive Authentifizierung hinzufügen, finden Sie unter Erweiterte Sicherheitsfunktionen für den Benutzerpool.

Übersicht über die adaptive Authentifizierung

Auf der Registerkarte Erweiterte Sicherheit in der Amazon Cognito Cognito-Konsole können Sie Einstellungen für die adaptive Authentifizierung auswählen, einschließlich der Aktionen, die bei verschiedenen Risikostufen ergriffen werden sollen, und der Anpassung von Benachrichtigungen an Benutzer. Sie können allen Ihren App-Clients eine globale erweiterte Sicherheitskonfiguration zuweisen, jedoch eine Konfiguration auf Client-Ebene auf einzelne App-Clients anwenden.

Die adaptive Authentifizierung von Amazon Cognito weist jeder Benutzersitzung eine der folgenden Risikostufen zu: Hoch, Mittel, Niedrig oder Kein Risiko.

Wägen Sie Ihre Optionen sorgfältig ab, wenn Sie Ihre Enforcement method (Durchsetzungsmethode) von Audit-only (Nur Audit) zu Full-fuction (Vollfunktionsfähig) ändern. Die automatischen Antworten, die Sie auf Risikoniveaus anwenden, beeinflussen das Risikoniveau, das Amazon Cognito nachfolgenden Benutzersitzungen mit denselben Merkmalen zuweist. Wenn Sie sich beispielsweise dafür entschieden haben, keine Maßnahme zu ergreifen oder Allow (Zulassen) für Nutzersitzungen zu wählen, die Amazon Cognito zunächst als risikoreich einstuft, geht Amazon Cognito davon aus, dass ähnliche Sitzungen ebenfalls ein geringeres Risiko aufweisen.

Sie können für jede Risikoebene folgende Optionen festlegen:

Option

Action

Sobald Sie die Details auf dieser Seite überprüft haben, klicken Sie auf Benutzer können sich ohne zusätzlichen Faktor anmelden.
Optional MFA Benutzer mit einem konfigurierten zweiten Faktor müssen eine zweite Faktoraufforderung abschließen, um sich anmelden zu können. Eine Telefonnummer für SMS und ein TOTP Software-Token sind die verfügbaren zweiten Faktoren. Benutzer ohne einen zweiten konfigurierten Faktor können sich mit nur einem Satz von Anmeldeinformationen anmelden.
Erfordern MFA Benutzer mit einem konfigurierten zweiten Faktor müssen eine zweite Faktoraufforderung abschließen, um sich anmelden zu können. Amazon Cognito blockiert die Anmeldung für Benutzer, die keinen zweiten Faktor konfiguriert haben.
Blockieren Amazon Cognito blockiert alle Anmeldeversuche auf der festgelegten Risikoebene.
Anmerkung

Sie müssen Telefonnummern nicht verifizieren, um sie SMS als zweiten Authentifizierungsfaktor zu verwenden.

Hinzufügen von Benutzergeräte- und Sitzungsdaten zu API Anfragen

Sie können Informationen über die Sitzung Ihres Benutzers sammeln und an Amazon Cognito Advanced Security weitergeben, wenn Sie ihn verwenden, API um ihn zu registrieren, anzumelden und sein Passwort zurückzusetzen. Zu diesen Informationen gehören die IP-Adresse des Benutzers und eine eindeutige Gerätekennung.

Möglicherweise verfügen Sie über ein zwischengelagertes Netzwerkgerät zwischen Ihren Benutzern und Amazon Cognito, wie einen Proxy-Service oder einen Anwendungsserver. Sie können die Kontextdaten der Benutzer sammeln und an Amazon Cognito weitergeben, damit die adaptive Authentifizierung Ihr Risiko basierend auf den Eigenschaften des Benutzerendpunkts anstelle Ihres Servers oder Proxys berechnet. Wenn Ihre clientseitige App Amazon Cognito API Operations direkt aufruft, zeichnet die adaptive Authentifizierung automatisch die Quell-IP-Adresse auf. Es werden jedoch keine anderen Geräteinformationen wie user-agent aufgezeichnet, es sei denn, Sie erfassen auch eine Geräteidentifikation.

Generieren Sie diese Daten mit der Amazon Cognito Context-Datenerfassungsbibliothek und senden Sie sie mit den Parametern ContextDataund UserContextDataan Amazon Cognito Advanced Security. Die Bibliothek zur Erfassung von Kontextdaten ist in der enthalten. AWS SDKs Weitere Informationen finden Sie unter Integration von Amazon Cognito mit Web- und mobilen Apps. Sie können ContextData senden, wenn Sie erweiterte Sicherheitsfunktionen in Ihrem Benutzerpool aktiviert haben. Weitere Informationen finden Sie unter Konfiguration der erweiterten Sicherheitsfunktionen.

Wenn Sie die folgenden authentifizierten Amazon Cognito API Cognito-Operationen von Ihrem Anwendungsserver aus aufrufen, übergeben Sie die IP des Benutzergeräts im ContextData Parameter. Übergeben Sie außerdem Ihren Servernamen, Serverpfad und verschlüsselte Geräteidentifikationsdaten.

Wenn Sie Amazon Cognito unauthenticated API Operations aufrufen, können Sie die erweiterten Sicherheitsfunktionen von UserContextData Amazon Cognito verwenden. Diese Daten enthalten eine Geräteidentifikation im Parameter EncodedData. Sie können auch einen Parameter IpAddress in den UserContextData übergeben, wenn Sie die folgenden Bedingungen erfüllen:

Ihre App kann den UserContextData Parameter bei den folgenden nicht authentifizierten Amazon Cognito Cognito-Vorgängen mit codierten Gerätefingerabdruckdaten und der IP-Adresse des Benutzergeräts füllen. API

Akzeptieren zusätzlicher Benutzerkontextdaten (AWS Management Console)

Ihr Benutzerpool akzeptiert eine IP-Adresse in einem Parameter UserContextData nach dem Aktivieren der Funktion Accept additional user context data (Zusätzliche Benutzerkontextdaten akzeptieren). Sie müssen diese Funktion in folgenden Fällen nicht aktivieren:

  • Ihre Benutzer melden sich nur mit authentifizierten API Vorgängen wie an, und Sie verwenden den Parameter. AdminInitiateAuth ContextData

  • Sie möchten nur, dass Ihre nicht authentifizierten API Vorgänge einen Gerätefingerabdruck, aber keine IP-Adresse an die erweiterten Sicherheitsfunktionen von Amazon Cognito senden.

Aktualisieren Sie Ihren App-Client wie folgt in der Amazon-Cognito-Konsole, um ihn um Unterstützung für zusätzliche Benutzerkontextdaten zu erweitern.

  1. Melden Sie sich bei der Amazon Cognito-Konsole an.

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

  3. Wählen Sie die Registerkarte App integration (Anwendungsintegration) aus.

  4. Wählen oder erstellen Sie einen App-Client unter App clients and analytics (App-Clients und Analysen). Weitere Informationen finden Sie unter Konfigurieren eines Benutzerpool-App-Clients.

  5. Wählen Sie Edit (Bearbeiten) aus dem Container App client information (App-Client-Informationen) aus.

  6. Wählen Sie in Advanced authentication settings (Erweiterte Authentifizierungseinstellungen) für Ihren App-Client Accept additional user context data (Zusätzliche Benutzerkontextdaten akzeptieren) aus.

  7. Wählen Sie Änderungen speichern.

Um Ihren App-Client so zu konfigurieren, dass er Benutzerkontextdaten im Amazon Cognito akzeptiertAPI, setzen Sie EnablePropagateAdditionalUserContextData true in einer CreateUserPoolClientUpdateUserPoolClientOder-Anfrage auf. Weitere Informationen zum Aktivieren der erweiterten Sicherheit von Ihrer Web- oder mobilen App aus finden Sie unter Aktivieren der erweiterten Benutzerpool-Sicherheit über Ihre App. Erfassen Sie Benutzerkontextdaten von der Client-Seite, wenn Ihre App Amazon Cognito von Ihrem Server aufruft. Im Folgenden finden Sie ein Beispiel, das die JavaScript SDK Methode getData verwendet.

var EncodedData = AmazonCognitoAdvancedSecurityData.getData(username, userPoolId, clientId);

Wenn Sie Ihre App für die Verwendung der adaptiven Authentifizierung entwerfen, empfehlen wir Ihnen, die neueste Version von Amazon Cognito SDK in Ihre App zu integrieren. Die neueste Version von SDK erfasst Gerätefingerabdruckinformationen wie Geräte-ID, Modell und Zeitzone. Weitere Informationen zu Amazon Cognito SDKs finden Sie unter Installieren eines Benutzerpools SDK. Die erweiterte Sicherheit von Amazon Cognito speichert und weist nur Ereignissen, die Ihre App im richtigen Format übermittelt, eine Risikobewertung zu. Wenn Amazon Cognito eine Fehlerantwort zurückgibt, überprüfen Sie, ob Ihre Anfrage einen gültigen geheimen Hash enthält und IPv4 ob der IPaddress Parameter eine gültige IPv6 Oder-Adresse ist.

ContextData- und UserContextData-Ressourcen

Benutzerereignisverlauf anzeigen und exportieren

Amazon Cognito generiert ein Protokoll für jedes Authentifizierungsereignis eines Benutzers, wenn Sie den erweiterten Schutz vor Sicherheitsbedrohungen aktivieren. Standardmäßig können Sie Benutzerprotokolle auf der Registerkarte Benutzer in der Amazon Cognito Cognito-Konsole oder während des AdminListUserAuthEventsAPIVorgangs anzeigen. Sie können diese Ereignisse auch in ein externes System wie CloudWatch Logs, Amazon S3 oder Amazon Data Firehose exportieren. Mit der Exportfunktion können Sicherheitsinformationen über Benutzeraktivitäten in Ihrer Anwendung für Ihre eigenen Sicherheitsanalysesysteme leichter zugänglich gemacht werden.

Den Verlauf der Benutzerereignisse anzeigen ()AWS Management Console

Sie können einen Benutzer in der Amazon-Cognito-Konsole auf der Registerkarte Benutzer auswählen, um den Anmeldungsverlauf für einen Benutzer anzuzeigen. Der Ereignisverlauf für Benutzer wird von Amazon Cognito für zwei Jahre aufbewahrt.

Ereignisverlauf des Benutzers

Jedes Anmeldeereignis hat eine Ereignis-ID. Das Ereignis enthält auch entsprechende Kontextdaten wie dem Standort, Gerätdetails sowie den Risikoerkennungsergebnissen.

Sie können die Ereignis-ID auch mit dem Token abgleichen, das Amazon Cognito zum Zeitpunkt der Aufzeichnung des Ereignisses ausgegeben hat. Die ID- und Zugriffstoken enthalten diese Ereignis-ID in ihrer Nutzlast. Außerdem gleicht Amazon Cognito die Verwendung von Aktualisierungstoken mit der ursprünglichen Ereignis-ID ab. Sie können die ursprüngliche Ereignis-ID bis zur Ereignis-ID des Anmeldeereignisses zurückverfolgen, das zur Ausgabe des Amazon-Cognito-Tokens führte. Sie können die Nutzung eines Tokens in Ihrem System auf ein bestimmtes Authentifizierungsereignis zurückführen. Weitere Informationen finden Sie unter Grundlegendes zu JSON Benutzerpool-Webtoken (JWTs).

Benutzerereignisverlauf anzeigen (API/CLI)

Sie können den Benutzerereignisverlauf mit der Amazon Cognito API Cognito-Operation AdminListUserAuthEventsoder mit AWS Command Line Interface (AWS CLI) mit admin-list-user-auth-events abfragen.

AdminListUserAuthEvents request

Der folgende Anforderungstext für AdminListUserAuthEvents gibt das neueste Aktivitätsprotokoll für einen Benutzer zurück.

{ "UserPoolId": "us-west-2_EXAMPLE", "Username": "myexampleuser", "MaxResults": 1 }
admin-list-user-auth-events request

Die folgende Anfrage für admin-list-user-auth-events gibt das neueste Aktivitätsprotokoll für einen Benutzer zurück.

aws cognito-idp admin-list-user-auth-events --max-results 1 --username myexampleuser --user-pool-id us-west-2_EXAMPLE
Response

Amazon Cognito gibt auf beide Anfragen denselben JSON Antworttext zurück. Im Folgenden finden Sie eine Beispielantwort für ein gehostetes UI-Anmeldeereignis, bei dem keine Risikofaktoren festgestellt wurden:

{ "AuthEvents": [ { "EventId": "[event ID]", "EventType": "SignIn", "CreationDate": "[Timestamp]", "EventResponse": "Pass", "EventRisk": { "RiskDecision": "NoRisk", "CompromisedCredentialsDetected": false }, "ChallengeResponses": [ { "ChallengeName": "Password", "ChallengeResponse": "Success" } ], "EventContextData": { "IpAddress": "192.168.2.1", "DeviceName": "Chrome 125, Windows 10", "Timezone": "-07:00", "City": "Bellevue", "Country": "United States" } } ], "NextToken": "[event ID]#[Timestamp]" }

Benutzerauthentifizierungsereignisse exportieren

Konfigurieren Sie Ihren Benutzerpool so, dass Benutzerereignisse aus Advanced Security Threat Protection in ein externes System exportiert werden. Die unterstützten externen Systeme — Amazon S3, CloudWatch Logs und Amazon Data Firehose — können Ihre AWS Rechnung mit Kosten für Daten, die Sie senden oder abrufen, belasten. Weitere Informationen finden Sie unter Exportieren von Benutzeraktivitätsprotokollen für erweiterte Sicherheitsfunktionen.

AWS Management Console
  1. Melden Sie sich bei der Amazon Cognito-Konsole an.

  2. Wählen Sie User Pools (Benutzerpools) aus.

  3. Wählen Sie einen vorhandenen Benutzerpool aus der Liste aus oder erstellen Sie einen neuen Benutzerpool.

  4. Wählen Sie die Registerkarte Erweiterte Sicherheit. Suchen Sie nach Benutzeraktivitätsprotokolle exportieren und wählen Sie Bearbeiten

  5. Markieren Sie unter Protokollierungsstatus das Kontrollkästchen neben Export von Benutzeraktivitätsprotokollen aktivieren.

  6. Wählen Sie unter Logging-Ziel AWS-Service das aus, für das Sie Ihre Logs verwalten möchten: CloudWatch Log-Gruppe, Amazon Data Firehose-Stream oder S3-Bucket.

  7. Ihre Auswahl füllt die Ressourcenauswahl mit dem entsprechenden Ressourcentyp. Wählen Sie eine Protokollgruppe, einen Stream oder einen Bucket aus der Liste aus. Sie können auch auf die Schaltfläche Erstellen klicken, um AWS Management Console zum ausgewählten Service zu navigieren und eine neue Ressource zu erstellen.

  8. Wählen Sie Änderungen speichern aus.

API

Wählen Sie einen Zieltyp für Ihre Benutzeraktivitätsprotokolle.

Im Folgenden finden Sie ein Beispiel für einen SetLogDeliveryConfiguration Anforderungstext, der einen Firehose-Stream als Protokollziel festlegt.

{ "LogConfigurations": [ { "EventSource": "userAuthEvents", "FirehoseConfiguration": { "StreamArn": "arn:aws:firehose:us-west-2:123456789012:deliverystream/example-user-pool-activity-exported" }, "LogLevel": "INFO" } ], "UserPoolId": "us-west-2_EXAMPLE" }

Im Folgenden finden Sie ein Beispiel für einen SetLogDeliveryConfiguration Anfragetext, der einen Amazon S3 S3-Bucket als Protokollziel festlegt.

{ "LogConfigurations": [ { "EventSource": "userAuthEvents", "S3Configuration": { "BucketArn": "arn:aws:s3:::amzn-s3-demo-logging-bucket" }, "LogLevel": "INFO" } ], "UserPoolId": "us-west-2_EXAMPLE" }

Im Folgenden finden Sie ein Beispiel für einen SetLogDeliveryConfiguration Anfragetext, der eine CloudWatch Protokollgruppe als Protokollziel festlegt.

{ "LogConfigurations": [ { "EventSource": "userAuthEvents", "CloudWatchLogsConfiguration": { "LogGroupArn": "arn:aws:logs:us-west-2:123456789012:log-group:DOC-EXAMPLE-LOG-GROUP" }, "LogLevel": "INFO" } ], "UserPoolId": "us-west-2_EXAMPLE" }

Bereitstellung von Ereignisfeedback

Ereignisfeedback wirkt sich in Echtzeit auf die Risikobewertung aus und verbessert langfristig den Risikobewertungsalgorithmus. Sie können über die Amazon Cognito Cognito-Konsole und API den Betrieb Feedback zur Gültigkeit von Anmeldeversuchen geben.

Anmerkung

Ihr Ereignisfeedback beeinflusst das Risikoniveau, das Amazon Cognito nachfolgenden Benutzersitzungen mit denselben Merkmalen zuweist.

Wählen Sie in der Amazon-Cognito-Konsole auf der Registerkarte Users (Benutzer) einen Benutzer aus und wählen Sie Provide event feedback (Ereignisfeedback bereitstellen) aus. Sie können die Veranstaltungsdetails überprüfen und Set as valid (Als gültig festlegen) oder Set as invalid (Als ungültig festlegen).

Die Konsole listet den Anmeldeverlauf auf der Registerkarte Benutzer und Gruppen auf. Wenn Sie einen Eintrag auswählen, können Sie das Ereignis als gültig oder ungültig markieren. Sie können Feedback auch über den Benutzerpool API und über den AWS CLI Befehl admin-update-auth-event -feedback geben. AdminUpdateAuthEventFeedback

Wenn Sie in der Amazon Cognito-Konsole Als gültig festlegen auswählen oder einen FeedbackValue Wert von valid in angeben, teilen Sie Amazon Cognito mitAPI, dass Sie einer Benutzersitzung vertrauen, in der Amazon Cognito ein gewisses Risiko bewertet hat. Wenn Sie in der Amazon Cognito-Konsole Als ungültig festlegen auswählen oder den FeedbackValue Wert invalid in für angebenAPI, teilen Sie Amazon Cognito mit, dass Sie einer Benutzersitzung nicht vertrauen, oder Sie glauben nicht, dass Amazon Cognito ein ausreichend hohes Risikoniveau bewertet hat.

Senden von Benachrichtigungsmeldungen

Mit erweitertem Sicherheitsschutz kann Amazon Cognito Ihre Benutzer über risikobehaftete Anmeldeversuche informieren. Amazon Cognito kann Benutzer auch zur Auswahl von Links auffordern, um anzugeben, ob die Anmeldung gültig oder ungültig war. Amazon Cognito verwendet dieses Feedback, um die Genauigkeit der Risikoerkennung für Ihren Benutzerpool zu verbessern.

Wählen Sie im Abschnitt Automatic risk response (Automatische Reaktion auf Risiken) die Option Notify Users (Benutzer benachrichtigen) für die Fälle mit niedrigem, mittlerem und hohem Risiko.

Benachrichtigen von Benutzern

Amazon Cognito sendet E-Mail-Benachrichtigungen an Ihre Benutzer, unabhängig davon, ob sie ihre E-Mail-Adresse bestätigt haben.

Sie können E-Mail-Benachrichtigungen individuell anpassen und sowohl Klartext als auch Versionen dieser Nachrichten bereitstellen. HTML Um Ihre E-Mail-Benachrichtigungen anzupassen, öffnen Sie Email templates (E-Mail-Vorlagen) unter Adaptive authentication messages (Adaptive Authentifizierungsnachrichten) in Ihrer erweiterten Sicherheitskonfiguration. Weitere Informationen über E-Mail-Vorlagen finden Sie unter Nachrichtenvorlagen.