【问题标题】:aws cli does not ask for MFA code on the test useraws cli 不要求测试用户的 MFA 代码
【发布时间】:2020-12-08 09:26:55
【问题描述】:

我最近才开始研究 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/

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

【问题讨论】:

  • “没有任何帮助”是什么意思?究竟什么不起作用?您究竟是如何使用 CLI 的?有任何错误信息吗?
  • 用户可以做什么?他们可以进行 any API 调用,还是所有 API 调用都被拒绝?如果您将 AWS CLI 与 MFA 结合使用,则需要在传递 MFA 值时调用 get-session-token。它将返回一组临时凭证,然后用户可以使用这些凭证调用 AWS。
  • @Marcin,API 调用时不会询问 MFA 代码
  • @JohnRotenstein,我设置了在调用 get-session-token 时收到的临时凭据。后来我将这些凭据设置到配置文件中。不幸的是,当我执行“aws s3 ls”时,aws cli 不会询问 MFA 代码。我想为任何操作/命令强制执行 MFA 代码
  • 我编辑了帖子以便更好地理解

标签: amazon-web-services amazon-iam aws-iam-authenticator


【解决方案1】:

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

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

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

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

【讨论】:

    猜你喜欢
    • 2016-11-08
    • 1970-01-01
    • 2015-01-12
    • 2013-10-01
    • 1970-01-01
    • 2018-11-02
    • 2019-08-17
    • 1970-01-01
    相关资源
    最近更新 更多