【发布时间】: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/
【问题讨论】:
-
“没有任何帮助”是什么意思?究竟什么不起作用?您究竟是如何使用 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