我如何知道在哪里使用Amazon AWS密钥?

我已经inheritance了Amazon AWS环境,其中Root帐户密钥已广泛分发用于备份到S3存储桶。

我需要跟踪密钥的使用位置,以便我可以用有限权限的密钥replace密钥。

我已经在桶上设置事件通知来发送消息给SQS Q来告诉我什么时候创build对象。 这些消息包含发起对象请求的服务器的IP地址,但不包含正在使用的IAM密钥(仅限使用的Amazon帐户的ID)。

Cloudtrail在这里也没有用,因为S3请求没有写入Cloudtrail。

有什么其他的方式可以告诉我哪个密钥在进行S3请求时被使用?


请注意,这不是一个build议的解决scheme,很好地更新我做了什么。 使用以上build议的方法。 我应该已经更新了这个问题。

感谢EEAA

我考虑过这个,但是有数百个水桶正在使用,所以这不是很实际。 我希望在IAM的某个地方能够跟踪关键的使用情况。

鉴于我已经设置了事件和SQS,最终我最终做的是在可能的桶上设置事件,并将S3事件时间戳与IAM的密钥最后使用时间戳提供的时间戳匹配。

这给了我正在使用Root密钥的同时向S3发送请求的服务器的IP地址,从中我可以在几台服务器上find根密钥。 希望在接下来几天检查根密钥时,我将不再看到它被使用。

如果没有的话,我可能不得不根据你的build议设置单个桶的日志logging。

除Cloudtrail之外,您应该为S3存储桶启用日志logging。 完成之后,AWS将开始logging用于向S3发送已通过身份validation的请求的规范用户标识 。

AWS S3关于日志字段的文档 :

请求者的规范用户标识,或未经身份validation的请求的string“匿名”。 如果请求者是IAM用户,则此字段将返回请求者的IAM用户名以及IAM用户所属的AWS根帐户。 该标识符与用于访问控制目的的标识符相同。