~~NOCACHE~~ ## データイベントの記録-DynamoDB DynamoDBはリージョンサービスの為、資格情報とインターネット接続環境があればどこからでも操作可能です。 監査等でデータイベントの記録を取得する要件もあると思いますので、CloudTrailでのログ記録の設定手順を記載します。 https://docs.aws.amazon.com/ja_jp/amazondynamodb/latest/developerguide/logging-using-cloudtrail.html ### データイベントの設定例 CloudTrailの証跡作成手順は[[Aws:CloudTrail:CreatingTrail|Aws/CloudTrail/証跡の作成]]を参照してください。 #### すべてのイベントをログに記録する。 [ { "name": "", "fieldSelectors": [ { "field": "eventCategory", "equals": [ "Data" ] }, { "field": "resources.type", "equals": [ "AWS::DynamoDB::Table" ] } ] } ] #### 特定のテーブルを指定してログに記録する。 [ { "name": "", "fieldSelectors": [ { "field": "eventCategory", "equals": [ "Data" ] }, { "field": "resources.type", "equals": [ "AWS::DynamoDB::Table" ] }, { "field": "resources.ARN", "equals": [ "arn:aws:dynamodb:ap-northeast-1:{アカウントID}:table/{Table名}" ] } ] } ] #### 特定のデータイベントを指定してログに記録する。 例では、[Scan][GetItem][PutItem][DeleteItem]を対象としています。 [ { "name": "", "fieldSelectors": [ { "field": "eventCategory", "equals": [ "Data" ] }, { "field": "resources.type", "equals": [ "AWS::DynamoDB::Table" ] }, { "field": "eventName", "equals": [ "DeleteItem", "Scan", "GetItem", "PutItem" ] } ] } ] ### 記録結果(サンプル) { "Records": [ { "eventVersion": "1.08", "userIdentity": { "type": "IAMUser", "principalId": "AIXCEWSFXSWQDVHCOX32D", "arn": "arn:aws:iam::{アカウントID}:user/{ユーザー名}", "accountId": "{アカウントID}", "accessKeyId": "{アクセスキー}", "userName": "{ユーザー名}", "sessionContext": { "attributes": { "creationDate": "2021-05-23T03:28:58Z", "mfaAuthenticated": "false" } } }, "eventTime": "2021-05-23T04:08:14Z", "eventSource": "dynamodb.amazonaws.com", "eventName": "DeleteItem", "awsRegion": "ap-northeast-1", "sourceIPAddress": "{IPアドレス}", "userAgent": "aws-internal/3 aws-sdk-java/1.11.1005 Linux/5.4.109-57.183.amzn2int.x86_64 OpenJDK_64-Bit_Server_VM/25.292-b10 java/1.8.0_292 vendor/Oracle_Corporation cfg/retry-mode/legacy", "requestParameters": { "tableName": "{テーブル名}", "key": { "SensorID": "tokyo", "DeviceID": "001" } }, "responseElements": null, "requestID": "QBRJP4PRL7VHE3UVGD8CIK10DNVV4KQNSO5AEMVJF66Q9ASUAAJG", "eventID": "6b9c78ad-5564-4a9b-aaa1-fae09259f0fb", "readOnly": false, "resources": [ { "accountId": "{アカウントID}", "type": "AWS::DynamoDB::Table", "ARN": "arn:aws:dynamodb:ap-northeast-1:{アカウントID}:table/{テーブル名}" } ], "eventType": "AwsApiCall", "apiVersion": "2012-08-10", "managementEvent": false, "recipientAccountId": "{アカウントID}", "eventCategory": "Data" } ] } {{tag>AWS CloudTrail DynamoDB}}