如何解决AWS S3 和 Cyberduck 以及 MFA
我们为我们的用户制定了一项政策,以限制他们在没有在其账户上启用 MFA 的情况下访问 AWS。因此,目前每个人都被迫在他们的账户上启用 MFA,并在他们登录 AWS 并需要访问任何内容时使用它。这一切正常,没有问题。
我们遇到的问题是我们使用 Cyberduck 访问我们的 AWS S3 存储桶,目前我们正在使用 Cyberduck 中的访问密钥和秘密密钥来探索 S3 存储桶。在用户帐户上启用 MFA 后,Cyberduck 不会让连接到 S3 并继续失败,一旦我们在同一帐户上禁用 MFA,我们就可以使用相同的访问密钥和密钥通过 Cyberduck 连接到 S3。
你们有没有想过我们如何解决这个问题并强制每个人在他们的帐户上启用 MFA,但在启用 MFA 的情况下能够使用他们自己的访问密钥和密钥访问 S3 存储桶?
如果你们中的任何人都可以提供帮助并且遇到相同的情况,那就太好了。
欢迎任何替代解决方案。
我还应该提到,要连接到 S3 并浏览存储桶的用户不是技术人员,他们不能做太多技术工作。所以我们正在寻求一个简单的解决方案。
谢谢各位。
解决方法
选项 1:调用 STS get-session-token
您需要在提供 MFA 代码的同时使用安全令牌服务 (STS) 命令来get-session-token
。然后,这将返回 Cyberduck 可以使用的一组新的临时 IAM 凭证。不幸的是,您每次都需要这样做,因为 Cyberduck 无法提示输入 MFA 令牌。
见:Authenticate access using MFA through the AWS CLI
选项 2:配置 Cyberduck 以承担 MFA 的角色
从 help/en/howto/s3 – Cyberduck 来看,您似乎可以在 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 序列号时承担角色。我没有尝试过这种方法,所以我不确定 Cyberduck 是如何提示输入 MFA 值的。试一试,让我们知道它对你来说如何!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。