【正解】B
【0からの解説】
要件は「①リクエストを行った IAM アイデンティティ ②アクセス時刻 ③構造化データ ④ほぼリアルタイム」でオブジェクトレベルのアクセスを記録することです。
これに最も合致するのが
AWS CloudTrail のデータイベント(data events)です。CloudTrail のデータイベントを S3 に対して有効にすると、GetObject や PutObject などの
オブジェクトレベルの API 操作を記録できます。CloudTrail のレコードには、誰が(userIdentity = IAM アイデンティティ)、いつ(eventTime)、何を、どこから行ったかが
JSON 形式(構造化データ)で含まれ、配信は
ほぼリアルタイムです。これで①〜④すべてを満たします。
【誤りの選択肢】
A:S3 サーバーアクセスログもオブジェクトアクセスを記録できますが、形式はスペース区切りのテキスト(CloudTrail ほど構造化されていない)で、配信はベストエフォートで遅延があり「ほぼリアルタイム」ではありません。また IAM アイデンティティの詳細さでも CloudTrail に劣ります。
C:AWS Config はリソースの「設定(構成)」の変化を追跡・評価するサービスで、オブジェクトへの個々のアクセス(誰がいつ読んだか)を記録する用途ではありません。要件に合いません。
D:Amazon Macie は機密データの「分類・検出」を行うサービスで、オブジェクトへのアクセスログを取るサービスではありません。要件の用途が異なります。
【参考】
CloudTrail で S3 のデータイベントをログ記録するCloudTrail のデータイベント