0

我们为用户制定了一项政策,以限制他们访问 AWS,而无需在其账户上启用 MFA。因此,目前每个人都被迫在他们的账户上启用 MFA,并在他们登录 AWS 并需要访问任何内容时使用它。这一切正常,没有问题。

我们遇到的问题是我们使用 Cyber​​duck 访问我们的 AWS S3 存储桶,目前我们正在使用 Cyber​​duck 中的访问密钥和秘密密钥来探索 S3 存储桶。当在用户帐户上启用 MFA 时,Cyber​​duck 不会让连接到 S3 并保持失败,并且一旦我们在同一帐户上禁用 MFA,我们就可以使用相同的访问密钥和密钥通过 Cyber​​duck 连接到 S3。

你们有没有想过我们如何解决这个问题并强制每个人在他们的帐户上启用 MFA,但能够在启用 MFA 时使用他们自己的访问密钥和秘密密钥访问 S3 存储桶?

如果你们中的任何人都可以提供帮助并遇到相同的情况,那就太好了。

欢迎任何替代解决方案。

我还应该提到,要连接到 S3 并浏览存储桶的用户不是技术人员,他们不能做很多技术工作。因此,我们正在寻求一个简单的解决方案。

感谢你们。

4

1 回答 1

1

选项 1:调用 STS get-session-token

get-session-token在提供 MFA 代码时,您将需要使用安全令牌服务 (STS) 命令。然后,这将返回 Cyber​​duck 可以使用的一组新的临时IAM 凭证。不幸的是,您每次都需要这样做,因为 Cyber​​duck 无法提示输入 MFA 令牌。

请参阅:通过 AWS CLI 使用 MFA 对访问进行身份验证

选项 2:配置 Cyber​​duck 以使用 MFA 承担角色

help/en/howto/s3 – Cyber​​duck中,您似乎可以在 AWS 凭证文件中配置 IAM 角色并指定 MFA:

   [testuser]
   aws_access_key_id=<access key for testuser>
   aws_secret_access_key=<secret key for testuser>
   [testrole]
   role_arn=arn:aws:iam::123456789012:role/testrole
   source_profile=testuser
   mfa_serial=arn:aws:iam::123456789012:mfa/testuser

它基本上是在指定 MFA 序列号时尝试承担角色。我没有尝试过这种方法,所以我不确定 Cyber​​duck 是如何提示输入 MFA 值的。试一试,让我们知道它对你有什么好处!

于 2021-06-02T12:15:07.310 回答