View a markdown version of this page

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

Audit di oggetti di database

Con pgAudit impostata sull'istanza database RDS per 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.

Il file di registro PostgreSQL dopo aver configurato 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 database RDS per 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, usa AWS CLI per modificare i parametri del registro di controllo nel gruppo di parametri personalizzato.

  4. Utilizzate il AWS CLI comando seguente per impostare il pgaudit.role parametro surds_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. Usa il AWS CLI comando seguente per riavviare l' in modo che le modifiche ai parametri abbiano effetto.

    aws rds reboot-db-instance \ --db-instance-identifier your-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 RDS.

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