0

我最近才开始研究 AWS IAM。

我的任务是确保对于特定用户,当使用临时访问凭证从 AWS CLI 触发时,需要向所有命令询问 MFA 代码。

这是我所做的,

使用get-session-token我创建了临时凭据并将它们设置在配置文件中。

当我执行时aws s3 ls --profile <profile_name>,cli 不要求 MFA 代码。

不幸的是,即使我在 stackoverflow 上引用了许多文章和回复,也没有任何帮助。

请找到已设置和使用的策略和配置文件配置。

{
"Version": "2012-10-17",
"Statement": [
    {
        "Sid": "VisualEditor0",
        "Effect": "Allow",
        "Action": "*",
        "Resource": "*",
        "Condition": {
            "BoolIfExists": {
                "aws:MultiFactorAuthPresent": "true"
            }
        }
    }
  ]
}

./aws/凭证文件

[mfa_user]
aws_access_key_id = <AccessKeyId>
aws_secret_access_key = <SecretAccessKey>
aws_session_token = IQoJb3JpZ2luX2VjEKn//////////
mfa_serial = arn:aws:iam::9xxxxxxxxxxxx:mfa/some-user

有什么我想念的吗?

我关注了各种在线文章,但没有任何帮助。

https://aws.amazon.com/premiumsupport/knowledge-center/authenticate-mfa-cli/

对 AWS 控制台登录强制执行 MFA,但对 API 调用不强制执行

4

1 回答 1

1

系统不会提示您输入 MFA 值。

相反,调用get-session-token并提供 MFA 值。然后,您将获得一组临时凭证。

这些凭据可用于任何需要 MFA 授权的呼叫。

例如,请参阅:通过 AWS CLI 使用 MFA 验证访问

于 2020-12-08T20:39:08.380 回答