Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Esportazione di log dai pool di utenti di Amazon Cognito
Puoi configurare il tuo pool di utenti per inviare registri dettagliati di alcune attività aggiuntive a un altro Servizio AWS, ad esempio un gruppo di CloudWatch log. Questi registri hanno una granularità più precisa rispetto a quelli in AWS CloudTrail entrata e possono essere utili per risolvere i problemi del pool di utenti e analizzare l'attività di accesso degli utenti con protezione dalle minacce. Sicurezza avanzata con protezione dalle minacce Quando desideri trasmettere in streaming i log degli errori di notifica via SMS ed e-mail, il tuo pool di utenti invia i log a livello di registro a un gruppo ERROR di log. CloudWatch Quando desideri eseguire lo streaming dei log delle attività di accesso degli utenti, il tuo pool di utenti invia log a INFO livello di log a un gruppo di log, a uno stream di Amazon Data Firehose o a un bucket Amazon S3. Puoi combinare entrambe le opzioni in un pool di utenti.
Argomenti
Cose da sapere sull'esportazione dei log
- Impatto sui costi
-
Amazon Data Firehose, Amazon S3 e CloudWatch Logs comportano costi per l'inserimento e il recupero dei dati. La tua configurazione di registrazione potrebbe influire sulla fattura. AWS Per ulteriori informazioni, consulta gli argomenti seguenti:
-
Vended Logs
nei prezzi di Amazon CloudWatch .
User-activity le esportazioni di log contengono valutazioni della sicurezza e sono una funzione di protezione dalle minacce del pool di utenti. Amazon Cognito genera questi log solo quando la protezione dalle minacce è Full-function attiva Audit-only o in modalità e il pool di utenti è incluso nel piano di funzionalità Plus.
-
- I registri delle attività degli utenti sono
INFOa livello -
I registri delle attività degli utenti esportati sono solo a livello
INFOdi errore e forniscono informazioni per l'analisi statistica e di sicurezza dell'attività di autenticazione. I messaggi a livello diERRORerroreWARNINGe di errore, ad esempio gli errori di limitazione, non sono inclusi nei registri esportati. - Best-effort consegna
-
La consegna dei log da Amazon Cognito si basa sul miglior tentativo. Il volume di log fornito dal pool di utenti e le quote di servizio per CloudWatch Logs, Amazon S3 e Firehose possono influire sulla distribuzione dei log.
- I log esterni esistenti non sono interessati
-
Queste opzioni di registrazione non sostituiscono o modificano le seguenti funzioni di registro dei pool di utenti.
-
CloudTrail registri delle attività di routine degli utenti, come la registrazione e l'accesso.
-
Analisi dell'attività degli utenti su larga scala con CloudWatch metriche.
Separatamente, puoi anche trovare i log da Visualizzazione dei risultati dell'importazione del pool di utenti nella CloudWatch console e Personalizzazione di flussi di lavoro di bacini d'utenza con trigger Lambda in CloudWatch Logs. Amazon Cognito e Lambda archiviano questi log in gruppi di log diversi da quelli specificati per i log delle attività degli utenti.
-
- Si applica solo ai pool di utenti
-
Non esistono funzionalità di esportazione dei log per i pool di identità.
- Richiede autorizzazioni utente e ruolo collegato al servizio
-
Il AWS responsabile che configura l'esportazione dei log deve disporre delle autorizzazioni per modificare le risorse di destinazione, come descritto negli argomenti che seguono. Amazon Cognito crea un ruolo https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html collegato al servizio per tuo conto e si assume il ruolo di fornire i log alla risorsa di destinazione.
Per ulteriori informazioni sul modello di autorizzazione per l'invio di log da Amazon Cognito, consulta Enable logging from Servizi AWS nella Amazon Logs User Guide. CloudWatch
- Il livello di registro è esclusivo del tipo di registro
-
Message-delivery i log sono del
userNotificationtipo e del livello diERRORerrore. I log delle attività degli utenti con protezione avanzata sono deluserAuthEventstipo e delINFOlivello di errore. Puoi combinare due membriLogConfigurations, uno peruserNotificationto CloudWatch Logs e uno peruserAuthEventsto Firehose, Amazon S3 o Logs. CloudWatchNon puoi inviare i log delle attività degli utenti a più destinazioni. Non puoi inviare i registri delle notifiche degli utenti a una destinazione diversa CloudWatch dai registri.
- Diverse opzioni di configurazione
-
Puoi configurare i log delle notifiche degli utenti solo con l'API dei pool di utenti di Amazon Cognito o un AWS SDK. Puoi configurare i log di sicurezza avanzati delle attività degli utenti con l'API o nella console Amazon Cognito. Per impostarli entrambi, utilizza l'API come illustrato nella richiesta di esempio all'indirizzo. SetLogDeliveryConfiguration
- È richiesta una configurazione aggiuntiva con politiche basate su grandi risorse
-
Per inviare registri a gruppi di log con una policy delle risorse di dimensione superiore a 5120 caratteri, configura un gruppo di log con un percorso che inizia con
/aws/vendedlogs. Per ulteriori informazioni, consulta Abilitare la registrazione da determinati AWS servizi. - Creazione automatica di una cartella in Amazon S3
-
Quando configuri l'esportazione del log di protezione dalle minacce in un bucket Amazon S3, Amazon Cognito potrebbe creare una
AWSLogscartella nel bucket. Tale cartella non viene creata in tutti i casi e la configurazione può essere completata senza crearla.
Esportazione degli errori di recapito di e-mail e SMS
Per gli errori di recapito di messaggi di posta elettronica e SMS, puoi fornire registri delle notifiche utente a livello di errore dal tuo pool di utenti. Quando attivi questa funzionalità, puoi scegliere il gruppo di log a cui Amazon Cognito deve inviare i log. La registrazione delle notifiche degli utenti è utile quando desideri scoprire lo stato dei messaggi e-mail e SMS che il tuo pool di utenti ha inviato con Amazon SNS e Amazon SES. Questa opzione di esportazione dei log, a differenza dell'esportazione delle attività degli utenti, non richiede il piano di funzionalità Plus.
Puoi configurare registri di notifica dettagliati con l'API dei pool di utenti di Amazon Cognito in una richiesta SetLogDeliveryConfiguration API. Puoi visualizzare la configurazione di registrazione di un pool di utenti in una richiesta GetLogDeliveryConfiguration API. Di seguito è riportato un esempio di corpo della richiesta.
{ "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" }
È necessario autorizzare queste richieste con AWS credenziali con le seguenti autorizzazioni.
Di seguito è illustrato un evento di esempio da un pool di utenti. Questo schema di log è soggetto a modifiche. Alcuni campi potrebbero essere registrati con valori null.
{ "eventTimestamp": "1687297330677", "eventSource": "USER_NOTIFICATION", "logLevel": "ERROR", "message": { "details": "String" }, "logSourceId": { "userPoolId": "String" } }
Esportazione dei log delle attività degli utenti per la protezione dalle minacce
I pool di utenti con il piano di funzionalità Plus e la protezione dalle minacce registrano gli eventi delle attività degli utenti: i dettagli e la valutazione della sicurezza dell'accesso, della disconnessione e di altre operazioni di autenticazione degli utenti con il pool di utenti. Potresti voler esaminare i registri delle attività degli utenti nel tuo sistema di gestione dei log o creare un archivio. Puoi esportare questi dati in un gruppo di CloudWatch log di Amazon Logs, uno stream Amazon Data Firehose o un bucket Amazon Simple Storage Service (Amazon S3). Da lì, puoi importare questi dati in altri sistemi che analizzano, normalizzano o elaborano in altro modo i dati in modo da adattarli ai tuoi processi operativi. Per esportare dati di questo tipo, il pool di utenti deve essere incluso nel piano di funzionalità Plus e la protezione dalle minacce deve essere attiva nel pool di utenti.
Con le informazioni contenute in questi registri delle attività degli utenti, puoi visualizzare un profilo delle attività di accesso e gestione degli account degli utenti. Per impostazione predefinita, Amazon Cognito acquisisce questi eventi in uno storage basato sul tuo pool di utenti. L'esempio seguente è un evento di esempio per un utente che ha effettuato l'accesso ed è stato valutato privo di fattori di rischio. È possibile recuperare queste informazioni con l'operazione AdminListUserAuthEvents API. Di seguito è riportato un esempio di output:
{ "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" }
Puoi attivare l'esportazione dei log per l'attività degli utenti nella console Amazon Cognito o con l'operazione SetLogDeliveryConfiguration API.
L'utente che configura la consegna dei log deve essere un amministratore del pool di utenti e disporre delle seguenti autorizzazioni aggiuntive:
Di seguito è illustrato un evento di esempio da un pool di utenti. Questo schema di log è soggetto a modifiche. Alcuni campi potrebbero essere registrati con valori null.
{ "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": "", "hasContextData": "true" }, "logSourceId": { "userPoolId": "us-west-2_EXAMPLE" } }