我继承了一个 Amazon AWS 环境,其中 Root 帐户密钥已被广泛分发,以便对 S3 存储桶进行备份。
我需要追踪密钥的使用位置,以便我可以用具有有限权限的密钥替换它。
我在存储桶上设置了事件通知,以便向 SQS Q 发送消息来通知我对象何时创建。这些消息包含对象请求来源服务器的 IP 地址,但不包含正在使用的 IAM 密钥(仅包含正在使用的 Amazon 帐户的 ID)。
Cloudtrail 在这里也用不到,因为 S3 请求不会写入 Cloudtrail。
还有其他方法可以让我知道在发出 S3 请求时使用了哪个密钥吗?
请注意,这不是建议的解决方案,只是对我所做工作的更新。请使用上面建议的方法。我应该更新这个问题。
#感谢 EEAA
我考虑过这一点,但有数百个存储桶在起作用,所以这不太实际。我希望在 IAM 中有一个地方可以跟踪密钥的使用情况。
鉴于我已经设置了事件和 SQS,我最终要做的是在可能的存储桶上设置事件,并将 S3 事件时间戳与 IAM 中的 key-last-used 时间戳提供的时间戳进行匹配。
这给了我与使用根密钥同时向 S3 发送请求的服务器的 IP 地址,从中我能够在几个服务器上找到根密钥。希望当我在接下来的几天检查根密钥时,我不会再看到它被使用。
如果没有,我可能必须按照您的建议在单独的存储桶上设置日志记录。