View a markdown version of this page

Configurazione dell'estensione pgAudit - Amazon Relational Database Service

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 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. 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 usare Console di gestione AWS o il 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.

Per impostare l'estensione pgAudit
  1. Accedere al Console di gestione AWS e apri la console Amazon RDS all'indirizzo https://console.aws.amazon.com/rds/.

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

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

  4. Scegli il collegamento per aprire i parametri personalizzati associati l’istanza database RDS per 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.

    Il shared_preload_libaries parametro con pgAudit aggiunto.
  8. Riavvia l'istanza database RDS per 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 database RDS per 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 al Console di gestione AWS 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.

    Il pgaudit.log parametro con 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).

Per configurare pgAudit

Per configurare PGaudit usando il AWS CLI, tu chiami modify-db-parameter-group operazione per modificare i parametri del log di controllo nel gruppo di parametri personalizzato, come illustrato nella procedura seguente.

  1. Utilizzate quanto segue AWS CLI comando da aggiungere pgaudit al shared_preload_libraries parametro.

    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. Usa quanto segue AWS CLI comando per riavviare il RDS per l'istanza DB PostgreSQL in modo che la libreria pgaudit sia inizializzata.

    aws rds reboot-db-instance \ --db-instance-identifier your-instance \ --region aws-region
  3. 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;
  4. Chiudi la sessione psql in modo da poter utilizzare AWS CLI.

    labdb=> \q
  5. Usa quanto segue AWS CLI comando per specificare le classi di istruzione che devono essere registrate tramite la registrazione di controllo 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