aws cli 不要求测试用户提供 MFA 代码

aws cli does not ask for MFA code on the test user

我最近才开始研究 AWS IAM。

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

这是我做的,

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

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

不幸的是,尽管我参考了很多关于 Whosebug 的文章和回复,但没有任何帮助。

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

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

./aws/credentials 文件

[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/

enforce MFA for AWS console login, but not for API calls

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

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

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

例如,参见:Authenticate access using MFA through the AWS CLI