DynamoDB - CloudTrail

DynamoDB include l'integrazione di CloudTrail. Cattura le richieste API di basso livello da o per DynamoDB in un account e invia i file di registro a un bucket S3 specificato. Prende di mira le chiamate dalla console o dall'API. È possibile utilizzare questi dati per determinare le richieste effettuate e la loro origine, utente, timestamp e altro.

Quando è abilitato, tiene traccia delle azioni nei file di registro, che includono altri record di servizio. Supporta otto azioni e due flussi:

Le otto azioni sono le seguenti:

  • CreateTable
  • DeleteTable
  • DescribeTable
  • ListTables
  • UpdateTable
  • DescribeReservedCapacity
  • DescribeReservedCapacityOfferings
  • PurchaseReservedCapacityOfferings

Mentre, i due flussi sono:

  • DescribeStream
  • ListStreams

Tutti i log contengono informazioni sugli account che effettuano richieste. È possibile determinare informazioni dettagliate, ad esempio se gli utenti root o IAM hanno effettuato la richiesta o se con credenziali temporanee o federate.

I file di registro rimangono in memoria per tutto il tempo specificato, con le impostazioni per l'archiviazione e l'eliminazione. L'impostazione predefinita crea registri crittografati. È possibile impostare avvisi per i nuovi registri. Puoi anche organizzare più log, tra regioni e account, in un unico bucket.

Interpretazione dei file di registro

Ogni file contiene una o più voci. Ogni voce è composta da più eventi in formato JSON. Una voce rappresenta una richiesta e include le informazioni associate; senza garanzia di ordine.

Puoi esaminare il seguente file di registro di esempio:

{"Records": [ 
   { 
      "eventVersion": "5.05",  
      "userIdentity": {
         "type": "AssumedRole", 
         "principalId": "AKTTIOSZODNN8SAMPLE:jane", 
         "arn": "arn:aws:sts::155522255533:assumed-role/users/jane", 
         "accountId": "155522255533", 
         "accessKeyId": "AKTTIOSZODNN8SAMPLE", 
         
         "sessionContext": { 
            "attributes": { 
               "mfaAuthenticated": "false", 
               "creationDate": "2016-05-11T19:01:01Z" 
            },
            
            "sessionIssuer": { 
               "type": "Role", 
               "principalId": "AKTTI44ZZ6DHBSAMPLE", 
               "arn": "arn:aws:iam::499955777666:role/admin-role", 
               "accountId": "499955777666", 
               "userName": "jill" 
            } 
         } 
      },
      
      "eventTime": "2016-05-11T14:33:20Z", 
      "eventSource": "dynamodb.amazonaws.com", 
      "eventName": "DeleteTable", 
      "awsRegion": "us-west-2", 
      "sourceIPAddress": "192.0.2.0", 
      "userAgent": "console.aws.amazon.com", 
      "requestParameters": {"tableName": "Tools"}, 
      
      "responseElements": {"tableDescription": { 
         "tableName": "Tools", 
         "itemCount": 0, 
         
         "provisionedThroughput": { 
            "writeCapacityUnits": 25, 
            "numberOfDecreasesToday": 0, 
            "readCapacityUnits": 25 
         },
         "tableStatus": "DELETING", 
         "tableSizeBytes": 0
      }},
      "requestID": "4D89G7D98GF7G8A7DF78FG89AS7GFSO5AEMVJF66Q9ASUAAJG", 
      "eventID": "a954451c-c2fc-4561-8aea-7a30ba1fdf52", 
      "eventType": "AwsApiCall", 
      "apiVersion": "2013-04-22", 
      "recipientAccountId": "155522255533" 
   } 
]}