Monitoraggio di Amazon RDS tramite i flussi di attività del 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à.

Monitoraggio di Amazon RDS tramite i flussi di attività del database

Con Flussi di attività del database puoi monitorare pressoché in tempo reale i flussi di attività del database.

Panoramica dei flussi di attività di database

Come amministratore del database Amazon RDS, devi proteggere il database e soddisfare i requisiti normativi e di conformità. Una strategia consiste nell'integrare i flussi di attività del database con gli strumenti di monitoraggio. In questo modo, puoi monitorare e impostare allarmi per l'attività di controllo nel database del cluster .

Le minacce alla sicurezza sono sia esterne che interne. Per proteggersi dalle minacce interne, è possibile controllare l'accesso degli amministratori ai flussi di dati configurando la funzionalità flussi di attività del database. Amazon RDS DBAs non ha accesso alla raccolta, trasmissione, archiviazione ed elaborazione degli stream.

Come funzionano i flussi di attività del database

Amazon RDS inserisce le attività in un flusso di dati Amazon Kinesis pressoché in tempo reale. Il flusso Kinesis viene creato automaticamente. Da Kinesis, puoi configurare AWS servizi come Amazon Data Firehose e consumare lo stream e AWS Lambda archiviare i dati.

Importante

L'utilizzo della funzionalità Flussi di attività del database in Amazon RDS è gratuito, ma Amazon Kinesis addebita i costi del flusso di dati. Per ulteriori informazioni, consulta Prezzi di Amazon Kinesis Data Streams.

Puoi configurare le applicazioni per la gestione della conformità affinché attingano dai flussi di attività del database. Tali applicazioni possono utilizzare il flusso per generare avvisi e attività di verifica per il database.

Amazon RDS supporta i flussi di attività del database nelle implementazioni multi-AZ. In questo caso, i flussi di attività del database controllano sia le istanze primarie che quelle di stand-by.

Verifica nel database Oracle Database e Microsoft SQL Server

La verifica è il monitoraggio e la registrazione delle azioni del database configurate. Amazon RDS non acquisisce le attività del database per impostazione predefinita. Puoi creare e gestire autonomamente le policy di verifica nel database.

Verifica unificata in Oracle Database

In un database Oracle, una policy di verifica unificata è un gruppo denominato di impostazioni di verifica che è possibile utilizzare per controllare un aspetto del comportamento dell'utente. Una policy può essere semplice come controllare le attività di un singolo utente. È inoltre possibile creare policy di verifica complesse che utilizzano condizioni.

Un database Oracle scrive record di verifica, inclusi i record di verifica SYS, sul percorso di verifica unificato. Ad esempio, se si verifica un errore durante un'istruzione INSERT, la verifica standard indica il numero di errore e l'istruzione SQL eseguita. Il percorso di verifica si trova in una tabella di sola lettura nello schema AUDSYS. Per accedere a questi record, esegui una query nella vista del dizionario dei dati UNIFIED_AUDIT_TRAIL.

In genere, è possibile configurare i flussi di attività del database come segue:

  1. Crea una policy di verifica Oracle Database utilizzando il comando CREATE AUDIT POLICY.

    Oracle Database genera record di verifica.

  2. Attiva la policy di verifica utilizzando il comando AUDIT POLICY.

  3. Configurazione dei flussi di attività di database

    Solo le attività che corrispondono alle policy di verifica Oracle Database vengono acquisite e inviate a Amazon Kinesis Data Stream. Quando i flussi di attività del database sono abilitati, un amministratore di database Oracle non può modificare le policy di verifica o rimuovere i log di verifica.

Per ulteriori informazioni sulle policy di verifica unificate, consulta Informazioni sulle attività di verifica con policy di verifica unificate e AUDIT nella Guida alla sicurezza di Oracle Database.

Verifica in Microsoft SQL Server

Database Activity Stream utilizza la SQLAudit funzionalità per controllare il database SQL Server.

L'istanza RDS per SQL Server contiene:

  • Verifica del server: la verifica di SQL Server raccoglie una singola istanza di azioni a livello di server o database e un gruppo di azioni da monitorare. Le verifiche RDS_DAS_AUDIT e RDS_DAS_AUDIT_CHANGES a livello di server sono gestite da RDS.

  • Specifica di verifica del server: la specifica di verifica del server registra gli eventi a livello di server. È possibile modificare la specifica RDS_DAS_SERVER_AUDIT_SPEC. Questa specifica è collegata alla verifica del server RDS_DAS_AUDIT. La specifica RDS_DAS_CHANGES_AUDIT_SPEC è gestita da RDS.

  • Specifica di verifica del database: la specifica di verifica del database registra gli eventi a livello di database. È possibile creare una specifica di verifica del database RDS_DAS_DB_<name> e collegarla alla verifica del server RDS_DAS_AUDIT.

È possibile configurare i flussi di attività del database utilizzando la console o la CLI. In genere, è possibile configurare i flussi di attività del database come segue:

  1. (Facoltativo) Crea una specifica di verifica del database con il comando CREATE DATABASE AUDIT SPECIFICATION e collegala alla verifica del server RDS_DAS_AUDIT.

  2. (Facoltativo) Modifica la specifica di verifica del server con il comando ALTER SERVER AUDIT SPECIFICATION e definisci le policy.

  3. Attiva le policy di verifica del database e del server. Per esempio:

    ALTER DATABASE AUDIT SPECIFICATION [<Your database specification>] WITH (STATE=ON)

    ALTER SERVER AUDIT SPECIFICATION [RDS_DAS_SERVER_AUDIT_SPEC] WITH (STATE=ON)

  4. Configurazione dei flussi di attività di database

    Solo le attività che corrispondono alle policy di verifica del server e del database vengono acquisite e inviate al flusso di dati Amazon Kinesis. Quando i flussi di attività del database sono abilitati e le policy sono bloccate, un amministratore di database non può modificare le policy di verifica o rimuovere i log di verifica.

    Importante

    Se la specifica di verifica di un database specifico è abilitata e la policy è bloccata, il database non può essere eliminato.

Per ulteriori informazioni sulla verifica di SQL Server, consulta Componenti di verifica di SQL Server nella documentazione di Microsoft SQL Server.

Campi di verifica non nativi per Oracle Database e SQL Server

Quando si avvia un flusso di attività del database, ogni evento del database genera un evento del flusso di attività corrispondente. Ad esempio, un utente di database potrebbe eseguire le istruzioni SELECT e INSERT. Il database controlla questi eventi e li invia a un Amazon Kinesis Data Stream.

Gli eventi sono rappresentati nel flusso come oggetti JSON. Un oggetto JSON contiene un DatabaseActivityMonitoringRecord, che contiene una matrice databaseActivityEventList. I campi predefiniti nella matrice includono class, clientApplication e command.

Per impostazione predefinita, un flusso di attività non include campi di verifica nativi del motore. È possibile configurare Amazon RDS per Oracle e SQL Server in modo che includano questi campi aggiuntivi nell'oggetto JSON engineNativeAuditFields.

In Oracle Database, la maggior parte degli eventi nel percorso di verifica unificato esegue la mappatura ai campi nel flusso di attività dei dati RDS. Ad esempio, il campo UNIFIED_AUDIT_TRAIL.SQL_TEXT nelle mappe di verifica unificate al campo commandText in un flusso di attività di database. Tuttavia, i campi di verifica di Oracle Database come OS_USERNAME non mappano a campi predefiniti in un flusso di attività di database.

In SQL Server, la maggior parte dei campi dell'evento registrati dalla SQLAudit mappa ai campi del flusso di attività del database RDS. Ad esempio, il campo code in sys.fn_get_audit_file nella verifica viene mappato al campo commandText in un flusso di attività del database. Tuttavia, i campi di verifica del database SQL Server come permission_bitmask non vengono mappati ai campi predefiniti in un flusso di attività del database.

Per ulteriori informazioni su databaseActivityEvent List, vederedatabaseActivityEventJSONArray di elenchi per i flussi di attività del database.

Sovrascrittura di un gruppo parametri del database

In genere, è possibile attivare la verifica unificata in RDS per Oracle allegando un gruppo di parametri. Tuttavia, i flussi di attività del database richiedono una configurazione aggiuntiva. Per migliorare l'esperienza del cliente, Amazon RDS effettua le seguenti operazioni:

  • Se attivi un flusso di attività, RDS per Oracle ignora i parametri di verifica nel gruppo di parametri.

  • Se disattivi un flusso di attività, RDS per Oracle smette di ignorare i parametri di verifica.

Il flusso di attività del database per SQL Server è indipendente da qualsiasi parametro impostato nell'opzione di verifica di SQL.

Modalità asincrona per flussi di attività di database

I flussi di attività in Amazon RDS sono sempre asincroni. Quando una sessione di database genera un evento del flusso di attività, vengono ripristinate immediatamente le normali attività della sessione. In background, Amazon RDS rende l'evento di flusso di attività un record persistente.

Se si verifica un errore nell'attività in background, Amazon RDS genera un evento. Questo indica l'inizio e la fine di qualsiasi finestra temporale in cui i record dell'evento del flusso di attività potrebbero essere stati persi. La modalità asincrona favorisce le prestazioni del database rispetto alla precisione del flusso di attività.

Requisiti e limitazioni per flussi di attività del database

In RDS, i flussi di attività del database hanno i requisiti e le limitazioni riportati di seguito:

  • I flussi di attività del database richiedono l'utilizzo di Amazon Kinesis.

  • AWS Key Management Service (AWS KMS) è necessario per i flussi di attività del database perché sono sempre crittografati.

  • L'applicazione di una crittografia aggiuntiva al flusso di dati di Amazon Kinesis è incompatibile con i flussi di attività del database, che sono già crittografati con la tua chiave. AWS KMS

  • Puoi creare e gestire autonomamente le policy di verifica. A differenza di Amazon Aurora, RDS per Oracle non acquisisce le attività del database per impostazione predefinita.

  • Puoi creare e gestire autonomamente le policy o le specifiche di verifica. A differenza di Amazon Aurora, Amazon RDS non acquisisce le attività del database per impostazione predefinita.

  • In un'implementazione multi-AZ, avvia il flusso di attività del database solo sull'istanza database primaria. Il flusso di attività controlla automaticamente sia l'istanza DB principale che quelle in stand-by. Durante un failover non sono richiesti passaggi aggiuntivi.

  • La ridenominazione di un'istanza database non crea un nuovo flusso Kinesis.

  • CDBs non sono supportati per RDS for Oracle.

  • Le repliche di lettura non sono supportate.

Disponibilità di regioni e versioni

Il supporto varia a seconda delle versioni specifiche di ciascun motore di database e a seconda delle Regioni AWS. Per ulteriori informazioni sulla disponibilità di versioni e regioni con flussi di attività del database, consulta Regioni e motori DB supportati per i flussi di attività del database in Amazon RDS.

Classi di istanza database supportate per i flussi di attività di database

In RDS per Oracle è possibile utilizzare i flussi di attività del database con le seguenti classi di istanza database:

  • db.m4.*large

  • db.m5.*large

  • db.m5d.*large

  • db.m6i.*large

  • db.r4.*large

  • db.r5.*large

  • db.r5.*large.tpc*.mem*x

  • db.r5b.*large

  • db.r5b.*large.tpc*.mem*x

  • db.r5d.*large

  • db.r6i.*large

  • db.r6i. *large.tpc*.mem*x

  • db.x2idn.*large

  • db.x2iedn.*large

  • db.x2iezn.*large

  • db.z1d.*large

In RDS per SQL Server è possibile utilizzare i flussi di attività del database con le seguenti classi di istanza database:

  • db.m4.*large

  • db.m5.*large

  • db.m5d.*large

  • db.m6i.*large

  • db.r4.*large

  • db.r5.*large

  • db.r5b.*large

  • db.r5d.*large

  • db.r6i.*large

  • db.x1e.*large

  • db.z1d.*large

Per ulteriori informazioni sulle classi di istanza, consulta Classi di istanze DB .