

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

# Configurazione dell'estensione pgAudit
<a name="Appendix.PostgreSQL.CommonDBATasks.pgaudit.basic-setup"></a>

Per configurare l'estensione pgAudit sull'istanza database RDS per PostgreSQL , aggiungi innanzitutto pgAudit alle librerie condivise nel gruppo di parametri database personalizzato per l'istanza database RDS per PostgreSQL Per informazioni sulla creazione di un gruppo di parametri database personalizzato, consulta [Gruppi di parametri per Amazon RDS](USER_WorkingWithParamGroups.md). Quindi, installa l'estensione pgAudit. Infine, specifica i database e gli oggetti di cui eseguire l'audit. Le procedure in questa sezione mostrano come fare. Puoi utilizzare la Console di gestione AWS o l'AWS CLI. 

Per eseguire tutte queste attività, sono richieste autorizzazioni come il ruolo `rds_superuser`.

Le fasi seguenti si basano sull'ipotesi che l'istanza database RDS per PostgreSQL sia associata a un gruppo di parametri database personalizzato. 

## Console
<a name="Appendix.PostgreSQL.CommonDBATasks.pgaudit.basic-setup.CON"></a>

**Per impostare l'estensione pgAudit**

1. Accedi alla Console di gestione AWS e apri la console Amazon RDS all'indirizzo [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Nel riquadro di navigazione, scegli l' istanza database RDS per PostgreSQL.

1. Apri la scheda **Configurazione** per l' l'istanza database RDS per PostgreSQL. Tra i dettagli dell'istanza, individua il collegamento **Parameter group** (Gruppo di parametri). 

1. Scegli il collegamento per aprire i parametri personalizzati associati l'istanza database RDS per PostgreSQL. 

1. Nel campo di ricerca **Parametri**, digita `shared_pre` per trovare il parametro `shared_preload_libraries`.

1. Scegli **Edit parameters** (Modifica parametri) per accedere ai valori delle proprietà.

1. Aggiungi `pgaudit` all'elenco nel campo **Values** (Valori). Utilizza una virgola per separare gli elementi nell'elenco di valori.   
![\[Immagine del parametro shared_preload_libaries con pgAudit aggiunto.\]](http://docs.aws.amazon.com/it_it/AmazonRDS/latest/UserGuide/images/apg_rpg_shared_preload_pgaudit.png)

1. Riavvia l'istanza database RDS per PostgreSQL in modo che la modifica al parametro `shared_preload_libraries` diventi effettiva. 

1. Quando l'istanza è disponibile, verifica che pgAudit sia stato inizializzato. Utilizza `psql` per connetterti all'istanza database RDS per PostgreSQL, quindi esegui il comando seguente.

   ```
   SHOW shared_preload_libraries;
   shared_preload_libraries 
   --------------------------
   rdsutils,pgaudit
   (1 row)
   ```

1. Con pgAudit inizializzato, puoi ora creare l'estensione. L'estensione deve essere creata dopo aver inizializzato la libreria perché l'estensione `pgaudit` installa i trigger evento per l'audit delle istruzioni DDL (Data Definition Language). 

   ```
   CREATE EXTENSION pgaudit;
   ```

1. Chiudi la sessione `psql`.

   ```
   labdb=> \q
   ```

1. Accedi alla Console di gestione AWS e apri la console Amazon RDS all'indirizzo [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Trova il parametro `pgaudit.log` nell'elenco e impostalo sul valore appropriato per il caso d'uso. Ad esempio, se si imposta il parametro `pgaudit.log` su `write` come mostrato nell'immagine seguente, gli inserimenti, gli aggiornamenti, le eliminazioni e alcuni altri tipi di modifiche vengono acquisiti nel registro.   
![\[Immagine del parametro pgaudit.log con l'impostazione.\]](http://docs.aws.amazon.com/it_it/AmazonRDS/latest/UserGuide/images/rpg_set_pgaudit-log-level.png)

   Puoi anche scegliere uno dei seguenti valori per il parametro `pgaudit.log`.
   + none: valore predefinito. Non viene registrata alcuna modifica al database. 
   + all: registra tutto (read, write, function, role, ddl, misc). 
   + ddl: registra tutte le istruzioni DDL (Data Definition Language) non incluse nella classe `ROLE`.
   + function: registra le chiamate di funzione e blocchi `DO`.
   + misc: registra vari comandi come `DISCARD`, `FETCH`, `CHECKPOINT`, `VACUUM` e `SET`.
   + read: registra `SELECT` e `COPY` quando l'origine è una relazione (ad esempio una tabella) o una query.
   + role: registra le istruzioni correlate a ruoli e privilegi, ad esempio `GRANT`, `REVOKE`, `CREATE ROLE`, `ALTER ROLE` e `DROP ROLE`.
   + write: registra `INSERT`, `UPDATE`, `DELETE`, `TRUNCATE` e `COPY` quando la destinazione è una relazione (tabella).

1. Seleziona **Save changes** (Salva modifiche).

1. Apri la console Amazon RDS all'indirizzo [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Nell’elenco Database, scegli l’istanza database RDS per PostgreSQL.

## AWS CLI
<a name="Appendix.PostgreSQL.CommonDBATasks.pgaudit.basic-setup.CLI"></a>

**Per configurare pgAudit**

Per configurare pgAudit utilizzando AWS CLI, chiama l'operazione [modify-db-parameter-group](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-parameter-group.html) per modificare i parametri del registro di audit nel gruppo di parametri personalizzati, come illustrato nella procedura seguente.

1. Utilizza il seguente comando AWS CLI per aggiungere `pgaudit` al parametro `shared_preload_libraries`.

   ```
   aws rds modify-db-parameter-group \
      --db-parameter-group-name custom-param-group-name \
      --parameters "ParameterName=shared_preload_libraries,ParameterValue=pgaudit,ApplyMethod=pending-reboot" \
      --region aws-region
   ```

1. Utilizza il comando AWS CLI seguente per riavviare istanza database RDS per PostgreSQL in modo che la libreria pgaudit venga inizializzata.

   ```
   aws rds reboot-db-instance \
       --db-instance-identifier your-instance \
       --region aws-region
   ```

1. Quando l'istanza è disponibile, verifica che `pgaudit` sia stato inizializzato. Utilizza `psql` per connetterti all'istanza database RDS per PostgreSQL, quindi esegui il comando seguente.

   ```
   SHOW shared_preload_libraries;
   shared_preload_libraries 
   --------------------------
   rdsutils,pgaudit
   (1 row)
   ```

   Con pgAudit inizializzato, puoi ora creare l'estensione.

   ```
   CREATE EXTENSION pgaudit;
   ```

1. Chiudi la sessione `psql` in modo da poter utilizzare AWS CLI.

   ```
   labdb=> \q
   ```

1. Utilizza il comando AWS CLI seguente per specificare le classi di istruzioni che desideri registrare mediante la registrazione di audit della sessione. L'esempio imposta il parametro `pgaudit.log` su `write`, che acquisisce inserimenti, aggiornamenti ed eliminazioni nel registro.

   ```
   aws rds modify-db-parameter-group \
      --db-parameter-group-name custom-param-group-name \
      --parameters "ParameterName=pgaudit.log,ParameterValue=write,ApplyMethod=pending-reboot" \
      --region aws-region
   ```

   Puoi anche scegliere uno dei seguenti valori per il parametro `pgaudit.log`.
   + none: valore predefinito. Non viene registrata alcuna modifica al database. 
   + all: registra tutto (read, write, function, role, ddl, misc). 
   + ddl: registra tutte le istruzioni DDL (Data Definition Language) non incluse nella classe `ROLE`.
   + function: registra le chiamate di funzione e blocchi `DO`.
   + misc: registra vari comandi come `DISCARD`, `FETCH`, `CHECKPOINT`, `VACUUM` e `SET`.
   + read: registra `SELECT` e `COPY` quando l'origine è una relazione (ad esempio una tabella) o una query.
   + role: registra le istruzioni correlate a ruoli e privilegi, ad esempio `GRANT`, `REVOKE`, `CREATE ROLE`, `ALTER ROLE` e `DROP ROLE`.
   + write: registra `INSERT`, `UPDATE`, `DELETE`, `TRUNCATE` e `COPY` quando la destinazione è una relazione (tabella).

   Riavvia l'istanza database RDS per PostgreSQL utilizzando il comando AWS CLI seguente.

   ```
   aws rds reboot-db-instance \
       --db-instance-identifier your-instance \
       --region aws-region
   ```