

 Amazon Redshift non supporterà più la creazione di nuovi Python UDFs a partire dalla Patch 198. Python esistente UDFs continuerà a funzionare fino al 30 giugno 2026. Per ulteriori informazioni, consulta il [post del blog](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

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à.

# Logging di controllo dei database
<a name="db-auditing"></a>

Amazon Redshift registra le informazioni sulle connessioni e le attività degli utenti nel tuo database. Questi log ti aiutano a monitorare il database per scopi di sicurezza e risoluzione dei problemi, un processo noto con il nome di *controllo dei database*. I registri possono essere archiviati in:
+ *Bucket Amazon S3*: offrono un accesso con caratteristiche di sicurezza dei dati per gli utenti responsabili delle attività di monitoraggio nel database.
+ *Amazon CloudWatch*: puoi visualizzare i dati di registrazione dei controlli utilizzando le funzionalità integrate CloudWatch, come le funzioni di visualizzazione e le azioni di impostazione.

**Nota**  
[SYS\$1CONNECTION\$1LOG](https://docs.aws.amazon.com/redshift/latest/dg/SYS_CONNECTION_LOG.html) raccoglie i dati di log delle connessioni per Amazon Redshift Serverless. Tieni presente che quando raccogli dati di audit logging per Amazon Redshift Serverless, non possono essere inviati ai file di log, ma solo a. CloudWatch

**Topics**
+ [Log di Amazon Redshift](#db-auditing-logs)
+ [Registri di controllo e Amazon CloudWatch](#db-auditing-cloudwatch-provisioned)
+ [Abilitazione dei log di audit](db-auditing-console.md)
+ [Registrazione di log sicura](db-auditing-secure-logging.md)

## Log di Amazon Redshift
<a name="db-auditing-logs"></a>

Amazon Redshift registra informazioni nei file di log seguenti:
+ *Log di connessione*: registra i tentativi di autenticazione, connessioni e disconnessioni.
+ *Log degli utenti*: registra le informazioni sulle modifiche apportate alle definizioni degli utenti del database.
+ *Log attività utente*: registra ogni query prima che venga eseguita nel database.

I log delle connessioni e degli utenti sono utili prevalentemente per scopi di sicurezza. Puoi utilizzare il registro delle connessioni per monitorare le informazioni sugli utenti che si connettono al database e le relative informazioni di connessione. Queste informazioni potrebbero essere il loro indirizzo IP, il momento in cui hanno effettuato la richiesta, quale tipo di autenticazione hanno usato e così via. Puoi usare il log degli utenti per monitorare le modifiche apportate alle definizioni degli utenti di database. 

Il log delle attività degli utenti è utile prevalentemente per scopi di risoluzione dei problemi e tiene traccia delle informazioni sui tipi di query eseguite dagli utenti e dal sistema nel database. 

Le informazioni del log delle connessioni e del log degli utenti corrispondono a quelle archiviate nelle tabelle di sistema nel database. È possibile usare le tabelle di sistema per ottenere le stesse informazioni, ma i file di log offrono un meccanismo più semplice per il recupero e l'analisi. Per eseguire query sulle tabelle, i file di log si basano sulle autorizzazioni di Amazon S3 piuttosto che sulle autorizzazioni del database. Inoltre, visualizzando le informazioni nei file di log invece di eseguire query sulle tabelle di sistema, puoi ridurre l'impatto dell'interazione con il database.

**Nota**  
I file di log non sono aggiornati quanto le tabelle dei log di sistema che sono [STL\$1USERLOG](https://docs.aws.amazon.com/redshift/latest/dg/r_STL_USERLOG.html) e [STL\$1CONNECTION\$1LOG](https://docs.aws.amazon.com/redshift/latest/dg/r_STL_CONNECTION_LOG.html). Nei file di log vengono copiati i record più vecchi del record più recente (questo escluso).

**Nota**  
[SYS\$1CONNECTION\$1LOG](https://docs.aws.amazon.com/redshift/latest/dg/SYS_CONNECTION_LOG.html) raccoglie i dati del log delle connessioni per Amazon Redshift Serverless. Quando raccogli dati di audit logging per Amazon Redshift Serverless, non possono essere inviati ai file di log, ma solo a. CloudWatch

### Log delle connessioni
<a name="db-auditing-connection-log"></a>

Registra i tentativi di autenticazione, insieme alle connessioni e disconnessioni. La tabella seguente descrive le informazioni incluse nel log delle connessioni. Per ulteriori informazioni su questi campi, consultare [STL\$1CONNECTION\$1LOG](https://docs.aws.amazon.com/redshift/latest/dg/r_STL_CONNECTION_LOG.html) nella *Guida per gli sviluppatori di database di Amazon Redshift*. Per ulteriori informazioni sui dati di log delle connessioni raccolti per Amazon Redshift Serverless, consulta [SYS\$1CONNECTION\$1LOG](https://docs.aws.amazon.com/redshift/latest/dg/SYS_CONNECTION_LOG.html).

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/redshift/latest/mgmt/db-auditing.html)

### Log degli utenti
<a name="db-auditing-user-log"></a>

 Registra i dettagli per le seguenti modifiche a un utente di database:
+ Create user (Crea utente)
+ Rimozione dell'utente
+ Modifica di un utente (assegnazione di un nuovo nome)
+ Modifica di un utente (modifica delle proprietà)

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/redshift/latest/mgmt/db-auditing.html)

Interroga la visualizzazione del sistema [SYS\$1USERLOG](https://docs.aws.amazon.com/redshift/latest/dg/SYS_USERLOG.html) per trovare informazioni aggiuntive sulle modifiche apportate agli utenti. Questa visualizzazione include i dati di log di Amazon Redshift Serverless. 

### Log delle attività degli utenti
<a name="db-auditing-user-activity-log"></a>

Registra ogni query prima che venga eseguita nel database.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/redshift/latest/mgmt/db-auditing.html)

## Registri di controllo e Amazon CloudWatch
<a name="db-auditing-cloudwatch-provisioned"></a>

 La registrazione di verifica non è abilitata in Amazon Redshift, per impostazione predefinita. Quando attivi la registrazione sul cluster, Amazon Redshift esporta i log su Amazon oppure crea e carica i log su CloudWatch Amazon S3, che acquisiscono i dati dal momento in cui la registrazione di audit è abilitata fino a oggi. Ogni aggiornamento di registrazione è una continuazione delle registrazioni precedenti.

La registrazione di audit su CloudWatch o su Amazon S3 è un processo facoltativo. La registrazione nelle tabelle di sistema non è facoltativa e avviene automaticamente. Per ulteriori informazioni sulla registrazione con le tabelle di sistema, consultare [Riferimento alle tabelle di sistema](https://docs.aws.amazon.com/redshift/latest/dg/cm_chap_system-tables.html) nella Guida per gli sviluppatori di Amazon Redshift. 

Il log di connessione, il log utente e il log delle attività degli utenti vengono abilitati insieme utilizzando Amazon Redshift API Reference o AWS Command Line Interface ()AWS CLI. Console di gestione AWS Per il log delle attività degli utenti, devi anche abilitare il parametro di database `enable_user_activity_logging`. Se abiliti solo la funzionalità di logging di controllo, ma non il parametro associato, i log di controllo dei database registrano informazioni solo per il log delle connessioni e il log degli utenti, ma non per il log delle attività degli utenti. Per impostazione predefinita, il parametro `enable_user_activity_logging` non è abilitato (`false`). Puoi impostarlo al valore `true` per abilitare il log delle attività degli utenti. Per ulteriori informazioni, consulta [Gruppi di parametri di Amazon Redshift.](working-with-parameter-groups.md). 

Quando abiliti la registrazione a CloudWatch, Amazon Redshift esporta i dati dei log di connessione del cluster, utenti e attività degli utenti in un gruppo di log CloudWatch Amazon Logs. I dati di log non cambiano, in termini di schema. CloudWatch è progettato per il monitoraggio delle applicazioni e può essere utilizzato per eseguire analisi in tempo reale o impostarlo per eseguire azioni. Puoi anche utilizzare Amazon CloudWatch Logs per archiviare i tuoi record di registro in uno spazio di archiviazione durevole. 

L'uso CloudWatch per visualizzare i log è un'alternativa consigliata all'archiviazione dei file di registro in Amazon S3. Non richiede molta configurazione e può soddisfare i requisiti di monitoraggio, soprattutto se lo si utilizza già per monitorare altri servizi e applicazioni.

### Gruppi di log ed eventi di log in Amazon CloudWatch
<a name="db-auditing-cloudwatch-provisioned-log-group"></a>

Dopo aver selezionato i log di Amazon Redshift da esportare, puoi monitorare gli eventi di log in Amazon Logs. CloudWatch Un nuovo gruppo di registri viene creato automaticamente per Amazon Redshift Serverless con il seguente prefisso, in cui `log_type` rappresenta il tipo di registro.

```
/aws/redshift/cluster/<cluster_name>/<log_type>
```

Ad esempio, se scegli di esportare il log di connessione, i dati di log vengono archiviati nel seguente gruppo di log.

```
/aws/redshift/cluster/cluster1/connectionlog
```

Il registro eventi viene esportato in un gruppo di registri utilizzando il flusso di log. Per cercare informazioni all'interno degli eventi di registro per il tuo endpoint serverless, usa la console Amazon CloudWatch Logs, o l' AWS CLI API Amazon CloudWatch Logs. Per informazioni sulla ricerca e l'applicazione di filtri per i dati di registro, consulta [Creazione di parametri da registro eventi mediante filtri](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/MonitoringLogData.html).

In CloudWatch, puoi cercare i dati di log con una sintassi di query che garantisce granularità e flessibilità. Per ulteriori informazioni, consulta la sintassi delle query di [CloudWatch Logs Insights.](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_QuerySyntax.html)

### Migrazione alla registrazione di CloudWatch controllo di Amazon
<a name="db-auditing-cloudwatch-provisioned-migration"></a>

In ogni caso, quando si inviano log ad Amazon S3 e si modifica la configurazione, ad esempio per inviare log a, i log CloudWatch che rimangono in Amazon S3 non subiscono alcuna modifica. È comunque possibile eseguire query sui dati di registro nei bucket Amazon S3 in cui risiedono.

### File di log in Amazon S3
<a name="db-auditing-manage-log-files"></a>

Il numero e le dimensioni dei file di log di Amazon Redshift in Amazon S3 dipendono in larga misura dall'attività nel cluster. Se il cluster è attivo e sta generando un numero elevato di log, Amazon Redshift può generare i file di log più spesso. Può essere generata una serie di file di log per lo stesso tipo di attività, ad esempio più log delle connessioni nella stessa ora.

Poiché Amazon Redshift utilizza Simple Storage Service (Amazon S3) per archiviare i registri, verranno addebitati i costi dell'archiviazione utilizzata in Simple Storage Service (Amazon S3). Prima di configurare la registrazione in Simple Storage Service (Amazon S3), è necessario disporre di un piano per determinare per quanto tempo è necessario archiviare i file di log. Inoltre, è necessario determinare quando è possibile eliminare o archiviare i file di log in base alle proprie esigenze di verifica. Il piano creato dipende in larga misura dal tipo di dati archiviati, ad esempio dati soggetti a requisiti normativi o di conformità. Per ulteriori informazioni sui prezzi di Amazon S3, consultare [Prezzi di Amazon Simple Storage Service (S3)](https://aws.amazon.com/s3/pricing/).

#### Limitazioni dell'abilitazione della registrazione su Amazon S3
<a name="db-auditing-enable-logging-limitations"></a>

La registrazione dei log di verifica ha i seguenti vincoli:
+ Puoi utilizzare solo la crittografia delle chiavi gestite da Amazon S3 (SSE-S3) (AES-256).
+ I bucket Amazon S3 devono avere la funzionalità Blocco oggetti di S3 disattivata.

#### Autorizzazioni del bucket per la registrazione di verifica di Amazon Redshift
<a name="db-auditing-bucket-permissions"></a>

Quando si abilita la registrazione in Simple Storage Service (Amazon S3), Amazon Redshift raccoglie informazioni di registrazione e le carica in file di log archiviati in Simple Storage Service (Amazon S3). È possibile creare un nuovo bucket o utilizzare un bucket esistente. Amazon Redshift richiede le autorizzazioni IAM seguenti per il bucket: 
+ `s3:GetBucketAcl`: il servizio richiede autorizzazioni di lettura per il bucket Amazon S3 per poter identificare il proprietario del bucket. 
+ `s3:PutObject`: il servizio richiede autorizzazioni di inserimento di oggetti per caricare i log. Inoltre, l'utente o il ruolo IAM che attiva la registrazione deve disporre dell'autorizzazione `s3:PutObject` per il bucket Amazon S3. Ogni volta che vengono caricati log, il servizio determina se il proprietario corrente del bucket corrisponde al proprietario del bucket al momento dell'abilitazione del logging. Se questi proprietari non corrispondono, verrà ricevuto un errore.

Quando abiliti la registrazione di controllo, selezionando l'opzione per creare un nuovo bucket, ad esso verranno applicate le corrette autorizzazioni. Tuttavia, se il bucket viene creato personalmente in Amazon S3 o si utilizza un bucket esistente, aggiungere una policy di bucket che includa il nome del bucket. I registri vengono consegnati utilizzando le credenziali principali del servizio. Nella maggior parte dei casi Regioni AWS, si aggiunge il nome principale del servizio Redshift,. *redshift.amazonaws.com* 

La policy bucket utilizza il seguente formato. *ServiceName*e *BucketName* sono segnaposto per i tuoi valori. Specificare inoltre le azioni e le risorse associate nella policy del bucket.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "Put bucket policy needed for audit logging",
            "Effect": "Allow",
            "Principal": {
                "Service": "ServiceName"
            },
            "Action": [
                "s3:PutObject",
                "s3:GetBucketAcl"
            ],
            "Resource": [
                "arn:aws:s3:::BucketName",
                "arn:aws:s3:::BucketName/*"
            ]
        }
    ]
}
```

------

L'esempio seguente mostra una policy del bucket per la regione Stati Uniti orientali (Virginia settentrionale) e un bucket denominato `AuditLogs`.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "Put bucket policy needed for audit logging",
            "Effect": "Allow",
            "Principal": {
                "Service": "redshift.amazonaws.com"
            },
            "Action": [
                "s3:PutObject",
                "s3:GetBucketAcl"
            ],
            "Resource": [
                "arn:aws:s3:::AuditLogs",
                "arn:aws:s3:::AuditLogs/*"
            ]
        }
    ]
}
```

------

Le Regioni che non sono abilitate di default, conosciute anche come regioni "scelte", richiedono un nome del principale di servizio specifico per la Regione. Per questi, il nome principale del servizio include la regione, nel formato `redshift.region.amazonaws.com`. Ad esempio, *redshift.ap-east-1.amazonaws.com* per la regione Asia Pacifico (Hong Kong). Per un elenco di regioni che non sono abilitate per impostazione predefinita, consulta [Gestione delle Regioni AWS](https://docs.aws.amazon.com/general/latest/gr/rande-manage.html) in *Riferimenti generali di AWS*.

**Nota**  
Il nome del principale del servizio specifico della Regione corrisponde alla Regione in cui si trova il cluster.

##### Best practice per i file di registro
<a name="db-auditing-bucket-permissions-confused-deputy"></a>

 Quando Redshift carica i file di registro su Amazon S3, è possibile caricare file di grandi dimensioni in parti. Se un caricamento in più parti non ha esito positivo, è possibile che parti di un file rimangano nel bucket Amazon S3. Ciò può comportare costi di storage aggiuntivi, quindi è importante capire cosa si verifica quando un caricamento in più parti fallisce. Per una spiegazione dettagliata sul caricamento in più parti per i registri di controllo, vedere [Caricamento e copia di oggetti utilizzando il caricamento in più parti](https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html) e [Interruzione di un caricamento in più parti](https://docs.aws.amazon.com/AmazonS3/latest/userguide/abort-mpu.html).

Per ulteriori informazioni sulla creazione di bucket S3 e sull’aggiunta di policy di bucket, consulta [Creazione di un bucket per uso generico](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html) e [Policy di bucket per Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-policies.html) nella *Guida per l’utente di Amazon Simple Storage Service*. 

#### Struttura del bucket per il logging di verifica in Amazon Redshift
<a name="db-auditing-bucket-structure"></a>

Per impostazione predefinita, Amazon Redshift organizza i file di log nel bucket Amazon S3 utilizzando il bucket e la struttura di oggetti seguenti: ``

`AWSLogs/AccountID/ServiceName/Region/Year/Month/Day/AccountID_ServiceName_Region_ClusterName_LogType_Timestamp.gz` 

Un esempio è: `AWSLogs/123456789012/redshift/us-east-1/2013/10/29/123456789012_redshift_us-east-1_mycluster_userlog_2013-10-29T18:01.gz`

Se si specifica un prefisso della chiave di Amazon S3, posizionare il prefisso all'inizio della chiave.

Ad esempio, se specifichi il prefisso myprefix: `myprefix/AWSLogs/123456789012/redshift/us-east-1/2013/10/29/123456789012_redshift_us-east-1_mycluster_userlog_2013-10-29T18:01.gz`

Il prefisso della chiave di Amazon S3 non può contenere più di 512 caratteri e non può contenere spazi ( ), virgolette doppie ("), virgolette singole (') né una barra rovesciata (\$1). C'è anche un numero non consentito di caratteri speciali e caratteri di controllo. I codici esadecimali per questi caratteri sono i seguenti:
+ Da x00 a x20
+ x22
+ x27
+ x5c
+ x7f o maggiore

### Considerazioni sulla registrazione di log di audit in Amazon S3
<a name="db-auditing-failures"></a>

 La registrazione di verifica in Amazon Redshift può essere interrotta per i motivi seguenti: 
+  Amazon Redshift non dispone dell'autorizzazione necessaria per caricare i log nel bucket Amazon S3. Verifica che il bucket sia configurato con la policy IAM corretta. Per ulteriori informazioni, consultare [Autorizzazioni del bucket per la registrazione di verifica di Amazon Redshift](#db-auditing-bucket-permissions). 
+  Il proprietario del bucket è cambiato. Quando Amazon Redshift carica i log, verifica che il proprietario del bucket sia lo stesso di quello al momento dell'abilitazione della registrazione. Se il proprietario del bucket è cambiato, Amazon Redshift non potrà caricare i log finché non viene configurato un altro bucket da usare per la registrazione di verifica. 
+  Non è possibile trovare il bucket. Se il bucket è stato eliminato in Amazon S3, Amazon Redshift non può caricare i log. Per il caricamento dei registri in un bucket diverso sarà necessario creare nuovamente il bucket oppure configurare di conseguenza Amazon Redshift. 

### Chiamate API con AWS CloudTrail
<a name="rs-db-auditing-cloud-trail"></a>

Amazon Redshift è integrato con AWS CloudTrail un servizio che fornisce un registro delle azioni intraprese da un utente, un ruolo o un AWS servizio in Amazon Redshift. CloudTrail acquisisce tutte le chiamate API per Amazon Redshift come eventi. Per ulteriori informazioni sull'integrazione di Amazon Redshift con AWS CloudTrail, consulta [Logging](https://docs.aws.amazon.com/redshift/latest/mgmt/logging-with-cloudtrail.html) with. CloudTrail

Puoi utilizzarlo CloudTrail indipendentemente o in aggiunta alla registrazione di audit del database Amazon Redshift. 

Per ulteriori informazioni CloudTrail, consulta la Guida per l'[AWS CloudTrail utente](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/).