

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 dei log dai pool di utenti di Amazon Cognito
<a name="exporting-quotas-and-usage"></a>

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 di quelli presenti e possono essere utili per risolvere i problemi del pool di utenti e analizzare le attività di accesso degli utenti con protezione dalle minacce. AWS CloudTrail](cognito-user-pool-settings-threat-protection.md) Quando si desidera trasmettere in streaming i registri degli errori di notifica via SMS ed e-mail, il pool di utenti invia i log a livello di un gruppo di log. `ERROR` CloudWatch Quando desideri trasmettere in streaming i log delle attività di accesso degli utenti, il tuo pool di utenti invia i log a `INFO` livello di un gruppo di log, uno stream Amazon Data Firehose o un bucket Amazon S3. Puoi combinare entrambe le opzioni in un pool di utenti.

**Topics**
+ [Cose da sapere sull'esportazione dei log](#exporting-quotas-and-usage-things-to-know)
+ [Esportazione degli errori di recapito di messaggi e-mail e SMS](#exporting-quotas-and-usage-messages)
+ [Esportazione dei log delle attività degli utenti per la protezione dalle minacce](#exporting-quotas-and-usage-user-activity)

## Cose da sapere sull'esportazione dei log
<a name="exporting-quotas-and-usage-things-to-know"></a>

**Impatto sui costi**  
Amazon Data Firehose, Amazon S3 CloudWatch e Logs comportano costi per l'ingestione e il recupero dei dati. La configurazione AWS di registrazione potrebbe influire sulla fattura. Per ulteriori informazioni, consulta gli argomenti seguenti:  
+ [Vended Logs in *Amazon CloudWatch * Pricing](https://aws.amazon.com/cloudwatch/pricing/#Vended_Logs).
+ [Prezzi di Amazon Data Firehose](https://aws.amazon.com/firehose/pricing/)
+ [Prezzi di Amazon S3](https://aws.amazon.com/s3/pricing/)
[Le esportazioni dei log delle attività degli utenti contengono valutazioni di sicurezza e sono una funzione della protezione dalle minacce del pool di utenti.](cognito-user-pool-settings-threat-protection.md) [Amazon Cognito genera questi log solo quando la protezione dalle minacce è in modalità **solo controllo** o con **funzionalità complete** e il tuo pool di utenti utilizza il piano di funzionalità Plus.](cognito-sign-in-feature-plans.md)

**I registri delle attività degli utenti sono livellati `INFO`**  
I registri delle attività degli utenti esportati sono solo a livello di `INFO` errore e forniscono informazioni per l'analisi statistica e di sicurezza dell'attività di autenticazione. I messaggi a livello di `ERROR` errore `WARNING` e, ad esempio, gli errori di limitazione, non sono inclusi nei log esportati.

**Consegna con il massimo impegno**  
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.  

1. CloudTrail registri delle attività di routine degli utenti come la registrazione e l'accesso.

1. Analisi dell'attività degli utenti su larga scala con metriche. CloudWatch 
Separatamente, puoi anche trovare i log da [Visualizzazione dei risultati di importazione del pool di utenti nella CloudWatch console](cognito-user-pools-using-import-tool.md#cognito-user-pools-using-import-tool-cloudwatch) e [Personalizzazione di flussi di lavoro di bacini d'utenza con trigger Lambda](cognito-user-pools-working-with-lambda-triggers.md) 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 le autorizzazioni dell'utente e un 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 seguenti. Amazon Cognito crea un [ruolo collegato al servizio per tuo conto e si assume il ruolo](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html) 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](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html#AWS-vended-logs-permissions) from Servizi AWS nella * CloudWatch Amazon* Logs User Guide.

**Il livello di registro è esclusivo del tipo di registro**  
I registri di recapito dei messaggi sono del `userNotification` tipo e del livello di errore. `ERROR` I registri delle attività degli utenti con protezione avanzata sono del tipo e del livello di errore. `userAuthEvents` `INFO` È possibile combinare due membri di`LogConfigurations`, uno per `userNotification` to CloudWatch Logs e uno `userAuthEvents` per Firehose, Amazon S3 o Logs. CloudWatch   
Non puoi inviare registri delle attività degli utenti a più destinazioni. Non puoi inviare i registri delle notifiche degli utenti a destinazioni diverse dai registri. CloudWatch 

**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 SDK. AWS Puoi configurare i log delle attività degli utenti con sicurezza avanzata con l'API o nella console Amazon Cognito. Per impostarli entrambi, utilizza l'API come illustrato nella richiesta di esempio all'indirizzo. [SetLogDeliveryConfiguration](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_SetLogDeliveryConfiguration.html)

**È richiesta una configurazione aggiuntiva con politiche basate su risorse di grandi dimensioni**  
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, vedere [Abilitazione della registrazione da determinati servizi. AWS](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html)

**Creazione automatica di una cartella in Amazon S3**  
Quando configuri l'esportazione dei log di protezione dalle minacce in un bucket Amazon S3, Amazon Cognito potrebbe creare una `AWSLogs` cartella nel tuo bucket. Tale cartella non viene creata in tutti i casi e la configurazione può avere esito positivo anche senza crearla.

## Esportazione degli errori di recapito di messaggi e-mail e SMS
<a name="exporting-quotas-and-usage-messages"></a>

In caso di errori di recapito di messaggi e-mail e SMS, puoi inviare registri di notifica 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 conoscere lo stato dei messaggi e-mail e SMS inviati dal tuo pool di utenti con Amazon SNS e Amazon SES. Questa opzione di esportazione dei log, a differenza [dell'esportazione delle attività degli utenti](#exporting-quotas-and-usage-user-activity.title), non richiede il piano di funzionalità Plus.

Puoi configurare log di notifica dettagliati con l'API dei pool di utenti di Amazon Cognito in [SetLogDeliveryConfiguration](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_SetLogDeliveryConfiguration.html)una richiesta API. Puoi visualizzare la configurazione di registrazione di un pool di utenti in una [GetLogDeliveryConfiguration](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_GetLogDeliveryConfiguration.html)richiesta 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 che dispongono delle seguenti autorizzazioni.

------
#### [ JSON ]

****  

```
{
    "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"
        }
    ]
}
```

------

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
<a name="exporting-quotas-and-usage-user-activity"></a>

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 delle operazioni di accesso, disconnessione e 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 registri o creare un archivio. Puoi esportare questi dati in un gruppo di log Amazon CloudWatch 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, è necessario che il pool di utenti utilizzi il piano di funzionalità Plus e che [la protezione dalle minacce](cognito-user-pool-settings-threat-protection.md) sia attiva nel pool di utenti.

Con le informazioni contenute in questi registri delle attività degli utenti, è possibile visualizzare un profilo delle attività di accesso e gestione dell'account degli utenti. Per impostazione predefinita, Amazon Cognito acquisisce questi eventi su uno storage basato nel tuo pool di utenti. L'esempio seguente è un esempio di evento per un utente che ha effettuato l'accesso ed è stato valutato come 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 il funzionamento dell'[SetLogDeliveryConfiguration](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_SetLogDeliveryConfiguration.html)API.

------
#### [ Console di gestione AWS ]

1. [Se non ne hai già uno che desideri utilizzare, crea un [bucket S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html), un [flusso Firehose](https://docs.aws.amazon.com/firehose/latest/dev/basic-create.html) o un gruppo di log. CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html)

1. Accedi alla [console Amazon Cognito](https://console.aws.amazon.com/cognito/home).

1. Scegli **User Pools** (Pool di utenti).

1. Scegli un bacino d'utenza esistente dall'elenco o [creane uno nuovo](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-as-user-directory.html).

1. Scegli la scheda Sicurezza **avanzata**. **Individua **Esporta i registri delle attività degli utenti** e scegli Modifica**

1. In **Stato di registrazione**, seleziona la casella di controllo accanto a **Attiva l'esportazione del registro delle attività degli utenti**.

1. **In **Logging destination**, scegli il tipo di log con Servizio AWS cui vuoi gestire i log: **gruppo di CloudWatch log**, **flusso Amazon Data Firehose** o bucket S3.**

1. La tua selezione riempirà il selettore di risorse con il tipo di risorsa corrispondente. Seleziona un gruppo di log, uno stream o un bucket dall'elenco. Puoi anche selezionare il pulsante **Crea** Console di gestione AWS per accedere al servizio selezionato e creare una nuova risorsa.

1. Seleziona **Salva modifiche**.

------
#### [ API ]

Scegli un tipo di destinazione per i registri delle attività degli utenti.

Di seguito è riportato un esempio di corpo della `SetLogDeliveryConfiguration` richiesta che imposta un flusso Firehose come destinazione del registro.

```
{
   "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"
}
```

Di seguito è riportato un esempio di corpo di `SetLogDeliveryConfiguration` richiesta che imposta un bucket Amazon S3 come destinazione del log.

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

Di seguito è riportato un esempio di corpo della `SetLogDeliveryConfiguration` richiesta che imposta un gruppo di CloudWatch log come destinazione del log.

```
{
   "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"
}
```

------

L'utente che configura la consegna dei log deve essere un amministratore del pool di utenti e disporre delle seguenti autorizzazioni aggiuntive:

------
#### [ Amazon S3 ]

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ManageUserPoolLogs",
            "Action": [
                "cognito-idp:SetLogDeliveryConfiguration",
                "cognito-idp:GetLogDeliveryConfiguration"
            ],
            "Resource": [
                "*"
            ],
            "Effect": "Allow"
        },
        {
            "Sid": "ManageLogsS3",
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogDelivery",
                "s3:PutBucketPolicy",
                "s3:GetBucketPolicy"
            ],
            "Resource": "*"
        }
    ]
}
```

------

------
#### [ CloudWatch Logs ]

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ManageUserPoolLogs",
            "Action": [
                "cognito-idp:SetLogDeliveryConfiguration",
                "cognito-idp:GetLogDeliveryConfiguration"
            ],
            "Resource": [
                "*"
            ],
            "Effect": "Allow"
        },
        {
            "Sid": "ManageLogsCWL",
            "Action": [
                "logs:CreateLogDelivery",
                "logs:GetLogDelivery",
                "logs:UpdateLogDelivery",
                "logs:DeleteLogDelivery",
                "logs:ListLogDeliveries",
                "logs:PutResourcePolicy",
                "logs:DescribeResourcePolicies",
                "logs:DescribeLogGroups"
            ],
            "Resource": [
                "*"
            ],
            "Effect": "Allow"
        }
    ]
}
```

------

------
#### [ Amazon Data Firehose ]

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ManageUserPoolLogs",
            "Action": [
                "cognito-idp:SetLogDeliveryConfiguration",
                "cognito-idp:GetLogDeliveryConfiguration"
            ],
            "Resource": [
                "*"
            ],
            "Effect": "Allow"
        },
        {
            "Sid": "ManageUserPoolLogsFirehose",
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogDelivery",
                "iam:CreateServiceLinkedRole",
                "firehose:TagDeliveryStream"
            ],
            "Resource": "*"
        }
    ]
}
```

------

------

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"
    }
}
```