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.
Exportieren von Protokollen aus Amazon Cognito Cognito-Benutzerpools
Sie können Ihren Benutzerpool so konfigurieren, dass detaillierte Protokolle zusätzlicher Aktivitäten an einen anderen Benutzer gesendet werden AWS-Service, z. B. an eine CloudWatch Protokollgruppe. Diese Protokolle haben eine feinere Granularität als die darin enthaltenen Protokolle und können nützlich sein AWS CloudTrail, um Fehler in Ihrem Benutzerpool zu beheben und Benutzeranmeldeaktivitäten mit erweiterten Sicherheitsfunktionen zu analysieren. Wenn Sie Protokolle von Fehlern SMS und E-Mail-Benachrichtigungen streamen möchten, sendet Ihr Benutzerpool Protokolle ERROR
auf der Ebene der Benutzer an eine Protokollgruppe. CloudWatch Wenn Sie Protokolle der Benutzeranmeldeaktivitäten streamen möchten, sendet Ihr Benutzerpool Protokolle INFO
auf der Ebene von Benutzern an eine Protokollgruppe, einen Amazon Data Firehose-Stream oder einen Amazon S3 S3-Bucket. Sie können beide Optionen in einem Benutzerpool kombinieren.
Themen
Wissenswertes über den Log-Export
- Auswirkung auf die Kosten
-
Für Amazon Data Firehose, Amazon S3 und CloudWatch Logs fallen Kosten für die Datenaufnahme und den Datenabruf an. Ihre Protokollierungskonfiguration könnte sich auf Ihre Rechnung auswirken. AWS Weitere Informationen finden Sie hier:
-
Verkaufte Logs
zu CloudWatch Amazon-Preisen.
Die Exporte von Benutzeraktivitätsprotokollen enthalten Sicherheitsbewertungen und sind eine Funktion der erweiterten Sicherheitsfunktionen des Benutzerpools. Amazon Cognito generiert diese Protokolle nur, wenn erweiterte Sicherheitsfunktionen aktiv sind. Diese Funktionen erhöhen die Kosten pro monatlich aktivem Benutzer (MAU) in Ihrem Benutzerpool. Weitere Informationen finden Sie unter Amazon Cognito – Preise
. -
- Lieferung nach bestem Aufwand
-
Die Bereitstellung von Protokollen von Amazon Cognito ist das optimale Szenario. Die Menge der Protokolle, die Ihr Benutzerpool liefert, und Ihre Servicekontingente für CloudWatch Logs, Amazon S3 und Firehose können sich auf die Übermittlung von Protokollen auswirken.
- Bestehende externe Protokolle sind davon nicht betroffen
-
Diese Protokollierungsoptionen ersetzen oder ändern nicht die folgenden Protokollfunktionen von Benutzerpools.
-
CloudTrail Protokolle von routinemäßigen Benutzeraktivitäten wie Registrierung und Anmeldung.
-
Analyse der Benutzeraktivitäten im großen Maßstab mit CloudWatch Metriken.
Separat finden Sie auch Protokolle von Benutzerimportaufträgen und Lambda-Triggern unter CloudWatch Logs. Amazon Cognito und Lambda speichern diese Protokolle in anderen Protokollgruppen als denen, die Sie für detaillierte Aktivitätsprotokolle angeben.
-
- Gilt nur für Benutzerpools
-
Für Identitätspools gibt es keine Protokollexportfunktionen.
- Erfordert Benutzerberechtigungen und eine dienstbezogene Rolle
-
Der AWS Prinzipal, der den Protokollexport einrichtet, muss über Berechtigungen zum Ändern der Zielressourcen verfügen, wie in den folgenden Themen beschrieben. Amazon Cognito erstellt in Ihrem Namen eine serviceverknüpfte Rolle und übernimmt die Rolle, Protokolle an die Zielressource zu liefern.
Weitere Informationen zum Autorisierungsmodell für das Senden von Protokollen von Amazon Cognito finden Sie unter Protokollierung aktivieren AWS-Services im Amazon CloudWatch Logs-Benutzerhandbuch.
- Die Protokollebene ist ausschließlich vom Protokolltyp abhängig
-
Bei der Nachrichtenzustellung handelt es sich um Protokolle des
userNotification
Typs und derERROR
Fehlerstufe. Benutzeraktivitätsprotokolle für erweiterte Sicherheitsanforderungen entsprechen demuserAuthEvents
Typ und der Fehlerstufe.INFO
Sie können zwei Mitglieder von kombinierenLogConfigurations
, eines füruserNotification
to CloudWatch Logs und eines füruserAuthEvents
to Firehose, Amazon S3 oder CloudWatch Logs.Sie können Benutzeraktivitätsprotokolle nicht an mehrere Ziele senden. Sie können Benutzerbenachrichtigungsprotokolle nur an Logs senden. CloudWatch
- Verschiedene Konfigurationsoptionen
-
Sie können Benutzerbenachrichtigungsprotokolle nur mit den Amazon Cognito Cognito-Benutzerpools API oder einem konfigurieren. AWS SDK Sie können erweiterte Sicherheitsprotokolle für Benutzeraktivitäten mit der API oder in der Amazon Cognito Cognito-Konsole konfigurieren. Um beide festzulegen, verwenden Sie die, API wie in der Beispielanforderung unter gezeigt. SetLogDeliveryConfiguration
- Bei großen ressourcenbasierten Richtlinien ist eine zusätzliche Konfiguration erforderlich
-
Um Protokolle an Protokollgruppen mit einer Ressourcenrichtlinie mit einer Größe von mehr als 5 120 Zeichen zu senden, konfigurieren Sie eine Protokollgruppe mit einem Pfad, der mit
/aws/vendedlogs
beginnt. Weitere Informationen finden Sie unter Aktivieren der Protokollierung für bestimmte AWS Dienste.
Fehler beim Exportieren von E-Mails und SMS Nachrichtenzustellung
Bei E-Mail- und SMS Nachrichtenzustellungsfehlern können Sie Benutzerbenachrichtigungsprotokolle auf Fehlerebene aus Ihrem Benutzerpool bereitstellen. Wenn Sie diese Funktion aktivieren, können Sie die Protokollgruppe auswählen, an die Amazon Cognito Protokolle senden soll. Die Protokollierung von Benutzerbenachrichtigungen ist nützlich, wenn Sie den Status von E-Mails und SMS Nachrichten herausfinden möchten, die Ihr Benutzerpool mit Amazon SNS und Amazon zugestellt hatSES. Für diese Option zum Exportieren von Protokollen sind im Gegensatz zum Export von Benutzeraktivitäten keine erweiterten Sicherheitsfunktionen erforderlich.
Sie können detaillierte Benachrichtigungsprotokolle mit den Amazon Cognito Cognito-Benutzerpools API in einer SetLogDeliveryConfigurationAPIAnfrage konfigurieren. Sie können die Protokollierungskonfiguration eines Benutzerpools in einer GetLogDeliveryConfigurationAPIAnfrage einsehen. Im Folgenden finden Sie ein Beispiel für einen Anfragetext.
{ "LogConfigurations": [ { "CloudWatchLogsConfiguration": { "LogGroupArn": "arn:aws:logs:us-west-2:123456789012:log-group:example-user-pool-exported" }, "EventSource": "userNotification", "LogLevel": "ERROR" } ], "UserPoolId": "us-west-2_EXAMPLE" }
Sie müssen diese Anfragen mit AWS Anmeldeinformationen autorisieren, die über die folgenden Berechtigungen verfügen.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "ManageUserPoolLogs", "Action": [ "cognito-idp:SetLogDeliveryConfiguration", "cognito-idp:GetLogDeliveryConfiguration", ], "Resource": [ "*" ], "Effect": "Allow" }, { "Sid": "CognitoLog", "Action": [ "logs:CreateLogDelivery", "logs:GetLogDelivery", "logs:UpdateLogDelivery", "logs:DeleteLogDelivery", "logs:ListLogDeliveries" ], "Resource": [ "*" ], "Effect": "Allow" }, { "Sid": "CognitoLoggingCWL", "Action": [ "logs:PutResourcePolicy", "logs:DescribeResourcePolicies", "logs:DescribeLogGroups" ], "Resource": [ "*" ], "Effect": "Allow" } ] }
Es folgt ein Beispielereignis in einem Benutzerpool. Dieses Protokollschema kann sich ändern. Einige Felder werden möglicherweise mit Nullwerten protokolliert.
{ "eventTimestamp": "1687297330677", "eventSource": "USER_NOTIFICATION", "logLevel": "ERROR", "message": { "details": "String" }, "logSourceId": { "userPoolId": "String" } }
Exportieren von Benutzeraktivitätsprotokollen für erweiterte Sicherheitsfunktionen
Benutzerpools mit erweiterten Sicherheitsfunktionen protokollieren Benutzeraktivitätsereignisse: Einzelheiten und Sicherheitsbeurteilungen von Benutzeranmeldungen, Abmeldungen und anderen Authentifizierungsvorgängen in Ihrem Benutzerpool. Möglicherweise möchten Sie die Benutzeraktivitätsprotokolle in Ihrem eigenen Protokollverwaltungssystem überprüfen oder ein Archiv erstellen. Sie können diese Daten in eine Amazon CloudWatch Logs-Protokollgruppe, einen Amazon Data Firehose-Stream oder einen Amazon Simple Storage Service (Amazon S3) -Bucket exportieren. Von dort aus können Sie diese Daten in andere Systeme aufnehmen, die Daten so analysieren, normalisieren oder anderweitig verarbeiten, dass sie zu Ihren betrieblichen Abläufen passen. Um Daten dieses Typs zu exportieren, müssen erweiterte Sicherheitsfunktionen in Ihrem Benutzerpool aktiv sein.
Anhand der Informationen in diesen Benutzeraktivitätsprotokollen können Sie sich ein Profil der Benutzeranmelde- und Kontoverwaltungsaktivitäten anzeigen lassen. Standardmäßig erfasst Amazon Cognito diese Ereignisse in einem Speicher, der in Ihrem Benutzerpool basiert. Das folgende Beispiel ist ein Beispielereignis für einen Benutzer, der sich angemeldet hat und bei dem festgestellt wurde, dass er keine Risikofaktoren aufweist. Sie können diese Informationen mit dem AdminListUserAuthEvents
API Vorgang abrufen. Im Folgenden finden Sie ein Beispiel für eine Ausgabe:
{ "AuthEvents": [ { "EventId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "EventType": "SignIn", "CreationDate": "2024-06-27T10:49:59.139000-07:00", "EventResponse": "Pass", "EventRisk": { "RiskDecision": "NoRisk", "CompromisedCredentialsDetected": false }, "ChallengeResponses": [ { "ChallengeName": "Password", "ChallengeResponse": "Success" } ], "EventContextData": { "IpAddress": "192.0.2.1", "DeviceName": "Chrome 126, Windows 10", "Timezone": "-07:00", "City": "null", "Country": "United States" } } ], "NextToken": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222#2024-06-27T17:49:59.139Z" }
Sie können den Protokollexport für Benutzeraktivitäten in der Amazon Cognito Cognito-Konsole oder während des SetLogDeliveryConfigurationAPIVorgangs aktivieren.
Der Benutzer, der die Protokollzustellung konfiguriert, muss ein Benutzerpooladministrator sein und über die folgenden zusätzlichen Berechtigungen verfügen:
Es folgt ein Beispielereignis in einem Benutzerpool. Dieses Protokollschema kann sich ändern. Einige Felder werden möglicherweise mit Nullwerten protokolliert.
{ "eventTimestamp": "1687297330677", "eventSource": "USER_ACTIVITY", "logLevel": "INFO", "message": { "version": "1", "eventId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "eventType": "SignUp", "userSub": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "userName": "test-user", "userPoolId": "us-west-2_EXAMPLE", "clientId": "1example23456789", "creationDate": "Wed Jul 17 17:25:55 UTC 2024", "eventResponse": "InProgress", "riskLevel": "", "riskDecision": "PASS", "challenges": [], "deviceName": "Other, Other", "ipAddress": "192.0.2.1", "requestId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE33333", "idpName": "", "compromisedCredentialDetected": "false", "city": "Seattle", "country": "United States", "eventFeedbackValue": "", "eventFeedbackDate": "", "eventFeedbackProvider": "" }, "logSourceId": { "userPoolId": "us-west-2_EXAMPLE" } }