Registrazione delle chiamate RDS Data API con AWS CloudTrail - 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à.

Registrazione delle chiamate RDS Data API con AWS CloudTrail

RDS Data API (Data API) è integrato con AWS CloudTrail, un servizio che fornisce un registro delle azioni intraprese da un utente, ruolo o AWS servizio in Data API. CloudTrail acquisisce tutte le chiamate API per Data API come eventi, incluse le chiamate dalla console Amazon RDS e dalle chiamate di codice alle operazioni Data API. Se crei un trail, puoi abilitare la distribuzione continua di CloudTrail eventi a un bucket Amazon S3, inclusi gli eventi per Data API. Utilizzando i dati raccolti da CloudTrail, puoi determinare molte informazioni. Queste informazioni includono la richiesta che è stata fatta all’API dati, l'indirizzo IP da cui è stata effettuata la richiesta, chi ha effettuato la richiesta, quando è stata fatta e ulteriori dettagli.

Per ulteriori informazioni CloudTrail, consulta la Guida AWS CloudTrail per l'utente.

Utilizzo delle informazioni dell'API dati in CloudTrail

CloudTrail è abilitato sul tuo AWS account al momento della creazione dell'account. Quando si verifica un'attività supportata (eventi di gestione) in Data API, tale attività viene registrata in un CloudTrail evento insieme ad altri eventi di AWS servizio nella cronologia degli eventi. Puoi visualizzare, cercare e scaricare gli eventi di gestione recenti nel tuo AWS account. Per ulteriori informazioni, consulta Lavorare con la cronologia degli CloudTrail eventi nella Guida AWS CloudTrail per l'utente.

Per una registrazione continua degli eventi nel tuo AWS account, inclusi gli eventi per Data API, crea un percorso. Un trail consente di CloudTrail inviare file di log a un bucket Amazon S3. Per impostazione predefinita, quando crei un percorso nella console, il percorso si applica a tutte le AWS regioni. Il trail registra gli eventi di tutte le AWS regioni della AWS partizione e consegna i file di log al bucket Amazon S3 specificato. Inoltre, puoi configurare altri AWS servizi per analizzare ulteriormente e agire in base ai dati sugli eventi raccolti nei log. CloudTrail Per ulteriori informazioni, consulta gli argomenti seguenti nella Guida per l'utente di AWS CloudTrail :

Tutte le operazioni Data API vengono registrate CloudTrail e documentate nel riferimento dell'API del servizio dati Amazon RDS. Ad esempio, le chiamate alle ExecuteStatement operazioniBatchExecuteStatement, BeginTransactionCommitTransaction, e generano voci nei file di registro. CloudTrail

Ogni evento o voce di log contiene informazioni sull'utente che ha generato la richiesta. Le informazioni di identità consentono di determinare quanto segue:

  • Se la richiesta è stata effettuata con credenziali utente o root.

  • Se la richiesta è stata effettuata con le credenziali di sicurezza temporanee per un ruolo o un utente federato.

  • Se la richiesta è stata effettuata da un altro AWS servizio.

Per ulteriori informazioni, consulta Elemento CloudTrail userIdentity.

Inclusione ed esclusione degli eventi Data API da un AWS CloudTrail percorso

La maggior parte degli utenti di Data API si affida agli eventi di un AWS CloudTrail trail per registrare le operazioni di Data API. I dati degli eventi non rivelano il nome del database, il nome dello schema o le istruzioni SQL nelle richieste all'API Data. Tuttavia, sapere quale utente ha effettuato un tipo di chiamata su uno specifico cluster DB in un determinato momento può aiutare a rilevare modelli di accesso anomali.

Inclusione degli eventi Data API in un percorso AWS CloudTrail

Per i database Aurora PostgreSQL Serverless v2 e con provisioning, le seguenti operazioni Data API vengono registrate come eventi di dati. AWS CloudTrail Gli eventi relativi ai dati sono operazioni API data-plane ad alto volume che non vengono registrate per impostazione predefinita. CloudTrail Per gli eventi di dati sono previsti costi aggiuntivi. Per informazioni sui CloudTrail prezzi, consulta Prezzi. AWS CloudTrail

Puoi utilizzare la CloudTrail console o AWS CLI le operazioni CloudTrail API per registrare queste operazioni Data API. Nella CloudTrail console, scegli RDS Data API - DB Cluster per il tipo di evento Data. Per ulteriori informazioni, consulta Registrazione degli eventi relativi ai dati con la AWS Management Console nella Guida per l'AWS CloudTrail utente.

Utilizzando AWS CLI, esegui il aws cloudtrail put-event-selectors comando per registrare queste operazioni dell'API Data per il tuo percorso. Per registrare tutti gli eventi Data API sui cluster DB, specifica AWS::RDS::DBCluster il tipo di risorsa. L'esempio seguente registra tutti gli eventi Data API sui cluster DB. Per ulteriori informazioni, consulta Registrazione degli eventi relativi ai dati con la AWS Command Line Interface nella Guida per l'utente. AWS CloudTrail

aws cloudtrail put-event-selectors --trail-name trail_name --advanced-event-selectors \ '{ "Name": "RDS Data API Selector", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "Data" ] }, { "Field": "resources.type", "Equals": [ "AWS::RDS::DBCluster" ] } ] }'

È possibile configurare selettori di eventi avanzati per filtrare ulteriormente i campi readOnly eventName, eresources.ARN. Per ulteriori informazioni su questi campi, consultare AdvancedFieldSelector.

Esclusione degli eventi Data API da un AWS CloudTrail percorso (Aurora Serverless v1solo)

InfattiAurora Serverless v1, gli eventi Data API sono eventi di gestione. Per impostazione predefinita, tutti gli eventi Data API sono inclusi in un AWS CloudTrail percorso. Tuttavia, poiché Data API può generare un gran numero di eventi, potresti voler escludere questi eventi dal tuo CloudTrail percorso. L'impostazione Exclude Amazon RDS Data API events esclude tutti gli eventi Data API dal trail. Non puoi escludere eventi Data API specifici.

Per escludere gli eventi API dati da un percorso, procedi nel seguente modo:

  • Nella CloudTrail console, scegli l'impostazione Exclude Amazon RDS Data API events quando crei un trail o aggiorni un trail.

  • Nell' CloudTrail API, usa l'PutEventSelectorsoperazione. Se utilizzi selettori di eventi avanzati, puoi escludere gli eventi Data API impostando il eventSource campo diverso dardsdata.amazonaws.com. Se utilizzi selettori di eventi di base, puoi escludere gli eventi Data API impostando il valore dell'ExcludeManagementEventSourcesattributo su. rdsdata.amazonaws.com Per ulteriori informazioni, consulta Registrazione degli eventi con la AWS Command Line Interface nella Guida per l'AWS CloudTrail utente.

avvertimento

L'esclusione degli eventi Data API da un CloudTrail registro può oscurare le azioni di Data API. Presta attenzione quando concedi alle entità principali l'autorizzazione cloudtrail:PutEventSelectors necessaria per eseguire questa operazione.

È possibile disattivare questa esclusione in qualsiasi momento modificando l'impostazione della console o i selettori di eventi per un percorso. Il percorso inizierà quindi a registrare gli eventi API dati. Tuttavia, non è possibile ripristinare gli eventi API dati che si sono verificati mentre era in atto l'esclusione.

Quando escludi gli eventi Data API utilizzando la console o l'API, anche l'operazione CloudTrail PutEventSelectors API risultante viene registrata nei tuoi CloudTrail log. Se gli eventi Data API non vengono visualizzati nei CloudTrail log, cerca un PutEventSelectors evento con l'ExcludeManagementEventSourcesattributo impostato su. rdsdata.amazonaws.com

Per ulteriori informazioni, consulta Registrazione di eventi di gestione per i percorsi nella Guida per l'utente di AWS CloudTrail .

Informazioni sulle voci dei file di registro dell'API dei dati

Un trail è una configurazione che consente la distribuzione di eventi come file di log in un bucket Amazon S3 specificato dall'utente. CloudTrail i file di registro contengono una o più voci di registro. Un evento rappresenta una singola richiesta proveniente da qualsiasi fonte e include informazioni sull'azione richiesta, la data e l'ora dell'azione, i parametri della richiesta e così via. CloudTrail i file di registro non sono una traccia ordinata dello stack delle chiamate API pubbliche, quindi non vengono visualizzati in un ordine specifico.

Aurora PostgreSQL Serverless v2 e provisioning

L'esempio seguente mostra una voce di CloudTrail registro che dimostra il ExecuteStatement funzionamento per Aurora PostgreSQL Serverless v2 e i database con provisioning. Per questi database, tutti gli eventi Data API sono eventi di dati in cui l'origine dell'evento è rdsdataapi.amazonaws.com e il tipo di evento è Rds Data Service.

{ "eventVersion": "1.05", "userIdentity": { "type": "IAMUser", "principalId": "AKIAIOSFODNN7EXAMPLE", "arn": "arn:aws:iam::123456789012:user/johndoe", "accountId": "123456789012", "accessKeyId": "AKIAI44QH8DHBEXAMPLE", "userName": "johndoe" }, "eventTime": "2019-12-18T00:49:34Z", "eventSource": "rdsdataapi.amazonaws.com", "eventName": "ExecuteStatement", "awsRegion": "us-east-1", "sourceIPAddress": "192.0.2.0", "userAgent": "aws-cli/1.16.102 Python/3.7.2 Windows/10 botocore/1.12.92", "requestParameters": { "continueAfterTimeout": false, "database": "**********", "includeResultMetadata": false, "parameters": [], "resourceArn": "arn:aws:rds:us-east-1:123456789012:cluster:my-database-1", "schema": "**********", "secretArn": "arn:aws:secretsmanager:us-east-1:123456789012:secret:dataapisecret-ABC123", "sql": "**********" }, "responseElements": null, "requestID": "6ba9a36e-b3aa-4ca8-9a2e-15a9eada988e", "eventID": "a2c7a357-ee8e-4755-a0d0-aed11ed4253a", "eventType": "Rds Data Service", "recipientAccountId": "123456789012" }

Aurora Serverless v1

L'esempio seguente mostra come viene visualizzata la voce di registro dell'esempio precedente per. CloudTrail Aurora Serverless v1 InfattiAurora Serverless v1, tutti gli eventi sono eventi di gestione la cui origine è rdsdata.amazonaws.com e il tipo di evento è. AwsApiCall

{ "eventVersion": "1.05", "userIdentity": { "type": "IAMUser", "principalId": "AKIAIOSFODNN7EXAMPLE", "arn": "arn:aws:iam::123456789012:user/johndoe", "accountId": "123456789012", "accessKeyId": "AKIAI44QH8DHBEXAMPLE", "userName": "johndoe" }, "eventTime": "2019-12-18T00:49:34Z", "eventSource": "rdsdata.amazonaws.com", "eventName": "ExecuteStatement", "awsRegion": "us-east-1", "sourceIPAddress": "192.0.2.0", "userAgent": "aws-cli/1.16.102 Python/3.7.2 Windows/10 botocore/1.12.92", "requestParameters": { "continueAfterTimeout": false, "database": "**********", "includeResultMetadata": false, "parameters": [], "resourceArn": "arn:aws:rds:us-east-1:123456789012:cluster:my-database-1", "schema": "**********", "secretArn": "arn:aws:secretsmanager:us-east-1:123456789012:secret:dataapisecret-ABC123", "sql": "**********" }, "responseElements": null, "requestID": "6ba9a36e-b3aa-4ca8-9a2e-15a9eada988e", "eventID": "a2c7a357-ee8e-4755-a0d0-aed11ed4253a", "eventType": "AwsApiCall", "recipientAccountId": "123456789012" }