Amazon web services AWS S3、赛博鸭和MFA

Amazon web services AWS S3、赛博鸭和MFA,amazon-web-services,amazon-s3,aws-policies,cyberduck,Amazon Web Services,Amazon S3,Aws Policies,Cyberduck,我们为我们的用户制定了一项政策,限制他们访问AWS,而不在他们的帐户上启用MFA。因此,目前每个人都被迫在自己的帐户上启用MFA,并在登录AWS并需要访问任何内容时使用MFA。这一切工作正常,没有问题 我们的问题是我们使用Cyberduck访问AWS S3存储桶,目前我们正在Cyberduck中使用访问密钥和密钥来探索S3存储桶。当在用户帐户上启用MFA时,Cyberduck将不允许连接到S3并继续失败,一旦我们在同一帐户上禁用MFA,我们就可以使用相同的访问密钥和密钥通过Cyberduck连接

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

我们的问题是我们使用Cyberduck访问AWS S3存储桶,目前我们正在Cyberduck中使用访问密钥和密钥来探索S3存储桶。当在用户帐户上启用MFA时,Cyberduck将不允许连接到S3并继续失败,一旦我们在同一帐户上禁用MFA,我们就可以使用相同的访问密钥和密钥通过Cyberduck连接到S3

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

如果你们中的任何人都能提供帮助,并且有同样的情况,那就太好了

欢迎任何替代解决方案

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


谢谢大家。

选项1:呼叫STS获取会话令牌

在提供MFA代码时,您需要使用安全令牌服务(STS)命令
获取会话令牌
。这将返回Cyberduck可以使用的一组新的临时IAM凭据。不幸的是,您每次都需要这样做,因为Cyberduck无法提示输入MFA令牌

见:

选项2:配置Cyberduck以担任MFA的角色

从中,您似乎可以在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
[testuser]
aws\u访问\u密钥\u id=
aws\u密码\u访问\u密钥=
[测试角色]
role_arn=arn:aws:iam::123456789012:role/testrole
source_profile=testuser
mfa_serial=arn:aws:iam::123456789012:mfa/testuser
它基本上尝试在指定MFA序列号时扮演角色。我还没有尝试过这种方法,所以我不确定Cyberduck如何提示输入MFA值。试试看,让我们知道你的情况