Configurazione dell'estensione pgAudit - Amazon Aurora

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

Per configurare l'estensione pgAudit sul cluster database Aurora PostgreSQL, aggiungi innanzitutto pgAudit alle librerie condivise nel gruppo di parametri cluster database personalizzato per il cluster database Aurora PostgreSQL. Per informazioni sulla creazione di un gruppo di parametri del·cluster database, consulta Gruppi di parametri per Amazon Aurora. 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 AWS Management Console 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 il cluster database Aurora PostgreSQL sia associato a un gruppo di parametri cluster di database personalizzato.

Per impostare l'estensione pgAudit
  1. Accedi alla AWS Management Console e apri la console Amazon RDS all'indirizzo https://console.aws.amazon.com/rds/.

  2. Nel riquadro di navigazione, scegli l'istanza di scrittura del cluster database Aurora PostgreSQL .

  3. Apri la scheda Configurazione per l'istanza di scrittura del cluster database Aurora PostgreSQL. Tra i dettagli dell'istanza, individua il collegamento Parameter group (Gruppo di parametri).

  4. Scegli il collegamento per aprire i parametri personalizzati associati al cluster database Aurora PostgreSQL.

  5. Nel campo di ricerca Parametri, digita shared_pre per trovare il parametro shared_preload_libraries.

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

  7. 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.
  8. Riavvia l'istanza di scrittura del cluster database Aurora PostgreSQL in modo che la modifica al parametro shared_preload_libraries diventi effettiva.

  9. Quando l'istanza è disponibile, verifica che pgAudit sia stato inizializzato. Utilizza psql per connetterti all'istanza di scrittura del cluster database Aurora PostgreSQL, quindi esegui il comando seguente.

    SHOW shared_preload_libraries; shared_preload_libraries -------------------------- rdsutils,pgaudit (1 row)
  10. 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;
  11. Chiudi la sessione psql.

    labdb=> \q
  12. Accedi alla AWS Management Console e apri la console Amazon RDS all'indirizzo https://console.aws.amazon.com/rds/.

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

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

  14. Scegli Save changes (Salva modifiche).

  15. Apri la console di Amazon RDS all'indirizzo https://console.aws.amazon.com/rds/.

  16. Nell’elenco Database, scegli l’istanza di scrittura del cluster di database Aurora PostgreSQL.

Per configurare pgAudit

Per configurare pgAudit utilizzando AWS CLI, chiama l'operazione modify-db-parameter-group 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
  2. Utilizza il comando AWS CLI seguente per riavviare l'istanza di scrittura del cluster database Aurora PostgreSQL in modo che la libreria pgaudit venga inizializzata.

    aws rds reboot-db-instance \ --db-instance-identifier writer-instance \ --region aws-region
  3. Quando l'istanza è disponibile, verifica che pgaudit sia stato inizializzato. Utilizza psql per connetterti all'istanza di scrittura del cluster database Aurora 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;
  4. Chiudi la sessione psql in modo da poter utilizzare AWS CLI.

    labdb=> \q
  5. 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 di scrittura del cluster database Aurora PostgreSQL utilizzando il comando AWS CLI seguente.

    aws rds reboot-db-instance \ --db-instance-identifier writer-instance \ --region aws-region