亚马逊 s3 / 其他 AWS 服务上的操作日志

Posted

技术标签:

【中文标题】亚马逊 s3 / 其他 AWS 服务上的操作日志【英文标题】:Logs for actions on amazon s3 / other AWS services 【发布时间】:2013-01-23 07:30:40 【问题描述】:

我正在尝试查看哪个用户负责 S3 中的更改(在存储桶级别)。 对于在 S3 存储桶级别或创建实例的 EC2 执行的操作,我找不到审计跟踪。 Beanstalk 有机器执行的操作的日志,但不包含哪个用户。

有没有办法绕过 AWS,我们可以在 IAM 或任何其他位置查看此信息?

P.S:我对提供访问日志的 S3 日志存储桶不感兴趣

【问题讨论】:

如果提前设置权限,以后就不用审核了 j.目前您无法审核 API 调用。 【参考方案1】:

更新

AWS 刚刚宣布 AWS CloudTrail,终于从今天开始提供审计 API 调用(并且免费),有关详细信息,请参阅介绍性帖子 AWS CloudTrail - Capture AWS API Activity:

您是否需要跟踪一个或多个 AWS 的 API 调用 帐户?如果是这样,那么新的 AWS CloudTrail 服务就适合您。

启用后,AWS CloudTrail 会记录对 AWS API 的调用 使用AWS Management Console、AWS Command Line Interface (CLI)、您自己的应用程序和第三方软件并发布 生成的日志文件到您选择的Amazon S3 存储桶。 CloudTrail 还可以向 Amazon SNS 主题发出通知 每次发布文件时您的选择。每个呼叫都记录在 JSON 中 便于解析和处理的格式。

请注意以下(临时)限制:

尚未涵盖所有服务,但最重要的服务已包含在初始版本中,并且 AWS 计划随着时间的推移添加对其他服务的支持更新:AWS 最近添加了Seven New Services,今天又添加了一个,见下文。 更重要的是,并非所有区域都受支持(目前仅美国东部(弗吉尼亚北部)和美国西部(俄勒冈)区域尽快添加对其他区域的支持更新:AWS 刚刚添加了 More Locations and Services,确实很快接近了整个 Global Infrastructure 的覆盖范围。

初步回答

这是一个长期存在的功能请求,但不幸的是,截至今天,AWS 不提供(公共)审计跟踪 - 添加此功能的最合理方法可能是对 AWS Identity and Access Management (IAM) 的相应扩展,这是越来越普遍的身份验证和授权层,用于访问所有现有(几乎可以肯定是未来)Products & Services 的 AWS 资源。

因此,IAM FAQs 中提供了一些相应的答案:

Will AWS Identity and Access Management administrative actions be logged to an audit trail?: 不会。计划在未来的版本中发布。 Will user actions in AWS services be logged to an audit trail? 不会。计划在未来的版本中发布。

【讨论】:

截至latest update(2014 年 6 月 30 日)他们仍然不支持 S3 日志记录,这是 OP 的请求,似乎很常见。【参考方案2】:

单个 CloudTrail 的当前定价是免费的。

1.启用 CloudTrail

使用 CloudTrail 仪表板并将所有事件发送到 S3 存储桶,例如my-cloudtrail

2。查看结果

CloudTrail 仪表板可让您进行一些粗略的搜索,但如果您有数千个事件,使用起来会很痛苦。

假设我想要用户 foo_user 的操作,我只使用 CLI 工具:

mkdir -p /tmp/cloudtrail
cd /tmp/cloudtrail
aws s3 sync s3://mc10-cloudtrail .
cd AWSLogs
zcat `find . -type f` | jq '.Records[] | "\(.eventName) \(.userIdentity.userName)"' | grep food_user | sort | uniq

示例输出:

"CreateGrant foo_user"
"DescribeInstances foo_user"
"GetConsoleOutput foo_user"
"ModifyInstanceAttribute foo_user"
"StartInstances foo_user"
"StopInstances foo_user"

注意:S3 数据事件在 CloutTrail 中的计费方式不同,但这有点多余,因为您可以在 S3 存储桶上启用日志记录并 grep 这些日志,或将它们指向 Logstash/Kibana。

【讨论】:

以上是关于亚马逊 s3 / 其他 AWS 服务上的操作日志的主要内容,如果未能解决你的问题,请参考以下文章

基于AWS S3协议搭建个人云存储服务

AWS S3服务使用

我在哪里可以找到 AWS 服务的区域字符串列表,例如:s3

有没有办法真实地建模或估计 AWS 的使用情况?

awss3图片损坏如何显示

从亚马逊s3桶下载文件的Javascript?