Configura la Traccia di Audit del Database per MS Azure PostgreSQL
Oltre ad altre funzionalità, DataSunrise dispone di uno strumento dedicato per l’audit, la Traccia di Audit del Database, basato sull’utilizzo degli strumenti e dei meccanismi nativi di auditing del database. In questo articolo spieghiamo come configurare DataSunrise e il suo database PostgreSQL ospitato su MS Azure per abilitare la Traccia di Audit del Database.
Nota che questa guida descrive tutte le azioni richieste affinché la Traccia di Audit del Database funzioni sin dall’inizio. Supponiamo che Lei non disponga né di un database né delle relative risorse Azure. Per seguire i passaggi di questa guida è sufficiente avere DataSunrise installato sulla propria macchina e l’accesso al portale Azure.
Acceda al Portale Azure
Acceda al portale Azure. Se non ha familiarità con l’interfaccia di Azure, potrebbe essere utile utilizzare il campo di ricerca situato in alto allo schermo (“Cerca risorse, servizi e docs”).
Registrazione di un’Applicazione Azure
DataSunrise utilizzerà questa applicazione per scaricare i file di log del Suo PostgreSQL dal container Blob associato al Suo account di Storage. Segua i passaggi seguenti:
1. Naviga in Registrazioni app -> Nuova registrazione e registri la Sua applicazione. Si noti che Redirect URI (opzionale) non è richiesto.
2. Conceda alla Sua applicazione i permessi per accedere ai container Blob.
Nella pagina Permessi API, clicchi su Aggiungi un permesso
Nella scheda Microsoft APIs, selezioni Azure Storage, quindi selezioni Permessi delegati e user_impersonation:

Clicchi su Aggiungi permessi per applicare le modifiche
3. Crei un Secret per la Sua applicazione affinché Azure possa identificarla.
- Naviga a Certificati e secret
- In Client secrets, clicchi su Nuovo client secret per creare un nuovo secret. SALVI IL VALORE DEL SECRET IN UN LUOGO SICURO: ne avrà bisogno in seguito.
Creazione di un Gruppo di Risorse
È necessario un Gruppo di Risorse per contenere le entità (risorse) associate all’ambiente del Suo database.
Naviga in Gruppi di Risorse e crei un Gruppo di Risorse.
Creazione di un Account di Storage
L’account di Storage conterrà i file di log del Suo PostgreSQL. DataSunrise preleverà tali log dal Suo account di Storage.
1. Naviga in Account di Storage e crei un account
2. Selezioni il Suo Gruppo di Risorse nelle impostazioni dell’account di Storage e assegni un nome all’account di Storage. Lasci tutte le altre impostazioni in modalità predefinita
3. Naviga in Access Control (IAM) e clicchi su Aggiungi -> Aggiungi assegnazione ruolo
Selezioni Reader: Next. Clicchi su +Seleziona membri e scelga la Sua applicazione registrata. Esamini e assegni. Questo è necessario affinché la Sua applicazione possa accedere ai file di log contenuti nei container Blob del Suo account di Storage:

4. Clicchi nuovamente su Aggiungi assegnazione ruolo e selezioni Storage Blob Data Reader.
5. Clicchi su +Seleziona Membri e scelga la Sua applicazione registrata. Esamini e assegni.
Creazione di un Server di Database PostgreSQL
Crei un server di database PostgreSQL se non ne possiede già uno. Altrimenti, modifichi le impostazioni del Suo database secondo i passaggi seguenti.
1. Naviga in Azure Database for PostgreSQL servers e crei un nuovo server: naviga in Crea -> Flexible server -> Crea
2. Fornisca tutti i dettagli del server richiesti
3. Nella scheda Networking, selezioni Accesso pubblico… e aggiunga le regole del firewall necessarie. Completi il deployment.
4. Naviga nel Suo database PostgreSQL -> Impostazioni -> Parametri del server e imposti i seguenti parametri secondo la tabella sottostante:
| Impostazione | Valore richiesto |
|---|---|
| log_checkpoints | OFF |
| log_destination | CSVLOG |
| pgaudit.log | ALL |
| shared_preload_libraries | PG_STAT_STATEMENTS, PGAUDIT |
| log_line_prefix | %t-%c-u”%u”u- |

Salvi le impostazioni
5. Configuri il Suo database per memorizzare i log in un account di Storage associato.
Naviga in Monitoring -> Diagnostic settings -> Aggiungi impostazione diagnostica
Selezioni sia PostgreSQL Server Log che PostgreSQL Sessions Data. Quindi, selezioni Archive to a storage account e scelga il Suo account di Storage

Creazione di un’Istanza PostgreSQL in DataSunrise
Apra la Web Console di DataSunrise e navighi in Configuration -> Databases per creare un’istanza di database PostgreSQL (faccia riferimento al sottocapitolo “Creating a Target Database Profile” della Guida Utente di DataSunrise per i dettagli):
Le sarà richiesto di fornire le seguenti informazioni:
1. Selezioni Traccia dei Log di Audit del Database nelle impostazioni dell’istanza. Compili tutti i campi richiesti.

2. Copi il ClientID e il TenantID dalla Sua applicazione Azure per consentire a DataSunrise di utilizzarla per scaricare i file di log del Suo PostgreSQL

3. Inserisca il Client Secret precedentemente salvato (faccia riferimento al punto 3 della Registrazione di un’Applicazione Azure).
4. Inserisca il Nome del Container Blob. Può trovare il nome del Suo container Blob in Storage Accounts -> il Suo account -> Containers nelle impostazioni di Azure:

Risultati Audit
Crei alcune Regole di Audit per il Suo database PostgreSQL (faccia riferimento al sottocapitolo “Creating a Data Audit Rule” della Guida Utente) ed esegua alcune query sul Suo database PostgreSQL, quindi navighi in Audit -> Tracce transazionali per visualizzare i risultati dell’audit:
