Audit di oggetti di database - 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à.

Audit di oggetti di database

Con pgAudit impostata sul cluster database Aurora PostgreSQL e configurata per i requisiti, informazioni più dettagliate vengono acquisite nel registro PostgreSQL. Ad esempio, sebbene la configurazione della registrazione PostgreSQL predefinita consenta di identificare la data e l'ora della modifica apportata a una tabella di database, con l'estensione pgAudit la voce di registro può includere lo schema, l'utente che ha apportato la modifica e altri dettagli a seconda della configurazione dei parametri dell'estensione. È possibile configurare l'audit per tenere traccia delle modifiche nei modi seguenti.

  • Per ogni sessione, per utente. Per il livello di sessione, è possibile acquisire il testo del comando completo.

  • Per ogni oggetto, per utente e per database.

La funzionalità di audit degli oggetti viene attivata quando il ruolo rds_pgaudit viene creato nel sistema e quindi aggiunto al parametro pgaudit.role nel gruppo di parametri personalizzati. Per impostazione predefinita, l'impostazione del parametro pgaudit.role viene annullata e l'unico valore consentito è rds_pgaudit. Nelle fasi seguenti si presume che pgaudit sia stato inizializzato e che l'estensione pgaudit sia stata creata seguendo la procedura in Configurazione dell'estensione pgAudit.

Immagine del file di registro di PostgreSQL dopo la configurazione di pgAudit.

Come mostrato in questo esempio, la riga "LOG: AUDIT: SESSION" fornisce informazioni sulla tabella e il relativo schema, insieme ad altri dettagli.

Per configurare l'audit degli oggetti
  1. Utilizza psql per connetterti all'istanza di scrittura del cluster database Aurora PostgreSQL.

    psql --host=your-instance-name.aws-region.rds.amazonaws.com --port=5432 --username=postgrespostgres --password --dbname=labdb
  2. Crea un ruolo del database denominato rds_pgaudit utilizzando il comando seguente.

    labdb=> CREATE ROLE rds_pgaudit; CREATE ROLE labdb=>
  3. Chiudi la sessione psql.

    labdb=> \q

    Nei passaggi successivi, utilizza AWS CLI per modificare i parametri del registro di audit nel gruppo di parametri personalizzati.

  4. Utilizza il seguente comando AWS CLI per impostare il parametro pgaudit.role su rds_pgaudit. Per impostazione predefinita, questo parametro è vuoto e rds_pgaudit è l'unico valore consentito.

    aws rds modify-db-parameter-group \ --db-parameter-group-name custom-param-group-name \ --parameters "ParameterName=pgaudit.role,ParameterValue=rds_pgaudit,ApplyMethod=pending-reboot" \ --region aws-region
  5. Utilizza il seguente comando AWS CLI per riavviare l'istanza di scrittura del cluster database Aurora PostgreSQL in modo da rendere effettive le modifiche apportate ai parametri.

    aws rds reboot-db-instance \ --db-instance-identifier writer-instance \ --region aws-region
  6. Esegui il comando seguente per verificare che pgaudit.role sia impostato su rds_pgaudit.

    SHOW pgaudit.role; pgaudit.role ------------------ rds_pgaudit

Per testare la registrazione di pgAudit, è possibile eseguire diversi comandi di esempio da controllare. Ad esempio, si potrebbero eseguire i comandi seguenti.

CREATE TABLE t1 (id int); GRANT SELECT ON t1 TO rds_pgaudit; SELECT * FROM t1; id ---- (0 rows)

I registri del database devono contenere una voce simile alla seguente:

... 2017-06-12 19:09:49 UTC:...:rds_test@postgres:[11701]:LOG: AUDIT: OBJECT,1,1,READ,SELECT,TABLE,public.t1,select * from t1; ...

Per informazioni sulla visualizzazione dei registri, consulta Monitoraggio dei file di log di Amazon Aurora.

Per ulteriori informazioni sull'estensione pgAudit, consulta pgAudit su GitHub.