DynamoDB - CloudTrail

DynamoDB inclut l'intégration CloudTrail. Il capture les demandes d'API de bas niveau de ou pour DynamoDB dans un compte et envoie des fichiers journaux à un compartiment S3 spécifié. Il cible les appels depuis la console ou l'API. Vous pouvez utiliser ces données pour déterminer les demandes effectuées et leur source, utilisateur, horodatage, etc.

Lorsqu'il est activé, il suit les actions dans les fichiers journaux, qui incluent d'autres enregistrements de service. Il prend en charge huit actions et deux flux -

Les huit actions sont les suivantes -

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

Alors que les deux flux sont -

  • DescribeStream
  • ListStreams

Tous les journaux contiennent des informations sur les comptes faisant des demandes. Vous pouvez déterminer des informations détaillées telles que si les utilisateurs root ou IAM ont effectué la demande, ou avec des informations d'identification temporaires ou fédérées.

Les fichiers journaux restent stockés aussi longtemps que vous le spécifiez, avec des paramètres d'archivage et de suppression. La valeur par défaut crée des journaux chiffrés. Vous pouvez définir des alertes pour les nouveaux journaux. Vous pouvez également organiser plusieurs journaux, à travers les régions et les comptes, dans un seul compartiment.

Interprétation des fichiers journaux

Chaque fichier contient une ou plusieurs entrées. Chaque entrée se compose de plusieurs événements au format JSON. Une entrée représente une demande et comprend des informations associées; sans garantie de commande.

Vous pouvez consulter l'exemple de fichier journal suivant -

{"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" 
   } 
]}