Gar*_*aid 5 amazon-s3 amazon-web-services amazon-iam
我继承了一个 Amazon AWS 环境,在该环境中,Root 帐户密钥已被广泛分发,以便备份到 S3 存储桶。
我需要追踪密钥的使用位置,以便我可以用权限有限的密钥替换它。
我在存储桶上设置了事件通知,以将消息发送到 SQS Q 以告诉我何时创建对象。这些消息包含发起对象请求的服务器的 IP 地址,但不包含使用中的 IAM 密钥(仅包含使用中的亚马逊账户的 ID)。
Cloudtrail 在这里也没有用,因为 S3 请求不会写入 Cloudtrail。
有没有其他方法可以告诉我在发出 S3 请求时正在使用哪个密钥?
请注意,这不是建议的解决方案,只是对我所做工作的更新。使用上面建议的方法。我应该更新问题。
#感谢 EEAA
我考虑过,但是有数百个桶在起作用,所以这不太实用。我希望 IAM 中的某个地方可以跟踪密钥使用情况。
鉴于我已经设置了事件和 SQS,我最终要做的是在可能的存储桶上设置事件,并将 S3 事件时间戳与 IAM 上次使用的键时间戳提供的时间戳相匹配。
这为我提供了在使用根密钥的同时向 S3 发送请求的服务器的 IP 地址,从中我能够在几台服务器上找到根密钥。希望当我在接下来的几天检查根密钥时,我将不再看到它在使用中。
如果没有,我可能必须按照您的建议在单个存储桶上设置日志记录。
除了 Cloudtrail,您还应该为 S3 存储桶启用日志记录。这样做之后,AWS 将开始记录用于向 S3 发出经过身份验证的请求的规范用户 ID。
从AWS S3 Docs 中引用日志字段:
请求者的规范用户 ID,或未经身份验证的请求的字符串“Anonymous”。如果请求者是 IAM 用户,此字段将返回请求者的 IAM 用户名以及 IAM 用户所属的 AWS 根账户。此标识符与用于访问控制目的的标识符相同。
归档时间: |
|
查看次数: |
972 次 |
最近记录: |