AWS CloudTrail 是一项为 AWS 账户记录 AWS API 调用和事件的服务。
CloudTrail 日志包含有关对 AWS 服务进行的任何 API 调用的详细信息,包括控制台。CloudTrail 生成加密的日志文件并将其存储在 Amazon S3 中。有关更多信息,请参阅AWS CloudTrail 用户指南。
将 Athena 与 CloudTrail 日志结合使用是加强对 AWS 服务活动进行分析的强有力方法。例如,您可以使用查询来确定趋势,并根据属性 (如源 IP 地址或用户)进一步隔离活动。
常见的应用是使用 CloudTrail 日志分析运营活动的安全性和合规性。有关详细示例的信息,请参阅 AWS 大数据博客文章使用 AWS CloudTrail 和 Amazon Athena 分析安全性、合规性和操作活动。(https://aws.amazon.com/blogs/big-data/aws-cloudtrail-and-amazon-athena-dive-deep-to-analyze-security-compliance-and-operational-activity/ )
可以使用 Athena,通过指定日志文件的LOCATION直接从 Amazon S3 中查询这些日志文件。您可以通过两种方式之一来执行此操作:
- 通过直接从 CloudTrail 控制台为 CloudTrail 日志文件创建表。
- 通过在 Athena 控制台中手动为 CloudTrail 日志文件创建表。
另外,由於 S3 Server Access Log 和 CloudTrail Object Level Logging 的資料型態並不相同
因此對於兩種不同的 Log 的必須建立不同的 Table
若以 CloudTrail Object Level Logging 來說,您可以使用類似下列的 SQL 語句進行查詢:
select * from cloudtrail_logs3 where eventname = 'DeleteObjects' and (requestparameters like '%XXX.results%') and eventtime > '2018-09-10T00:00:00Z'