awscli是的,您可以为 Web 控制台和命令行的 IAM 账户要求 MFA 。事实上,不可能可靠地为 Web 控制台要求 MFA 而对awscli命令行不要求它,因为两者都命中相同的 API。awscli我说“可靠”是因为使用复杂的 IAM 策略,可以在不执行 MFA 的情况下允许某些操作,同时对 Web 控制台执行 MFA。但是,结果有些不可预测,此外,IAM 密钥在未受保护的情况下即使不是更危险,也同样危险。我的建议是两者都需要它,然后可能为 MFA 绝对禁忌的特殊用途创建不受保护的密钥。对于自动化流程,角色通常是更好的选择。
环顾四周后,答案似乎是“有点”。在 IAM 中,管理员可以为另一个 IAM 用户配置 MFA。虽然如果您要设置虚拟 MFA,这可能有点棘手,但这是可能的。然后,如果用户未被授予更新/删除其 MFA 的权限,则实际上是必需的。
虽然我尚未确定应拒绝(或根本不授予)的完整操作列表,但这篇文章似乎提供了相关信息,我会在测试后更新此答案。
[更新]
我能够将用户设置为高级用户(因此不授予他们访问 IAM 功能的权限,尽管我相信您可以更细化),并与他们一起实施 MFA。使用这种方法,他们将无法禁用它。
答案是肯定的,有。通过使用条件。例如,对于管理员帐户:
它将使用 API 对密码身份验证和基于令牌的身份验证实施 MFA。
接受的答案不再有效 AFAICT。AWS 已通过此处的教程文章记录了如何执行此操作:
https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_users-self-manage-mfa-and-creds.html
我为我的新 AWS 账户和团队遵循了这一点,并且效果很好。
awscli
是的,您可以为 Web 控制台和命令行的 IAM 账户要求 MFA 。事实上,不可能可靠地为 Web 控制台要求 MFA 而对awscli
命令行不要求它,因为两者都命中相同的 API。awscli
我说“可靠”是因为使用复杂的 IAM 策略,可以在不执行 MFA 的情况下允许某些操作,同时对 Web 控制台执行 MFA。但是,结果有些不可预测,此外,IAM 密钥在未受保护的情况下即使不是更危险,也同样危险。我的建议是两者都需要它,然后可能为 MFA 绝对禁忌的特殊用途创建不受保护的密钥。对于自动化流程,角色通常是更好的选择。为了使命令行上的 MFA 操作更容易,我创建了一组 bash 脚本和一个精心设计的 MFA 实施策略示例,可以轻松附加/分离 vMFAd,以及启动和管理 MFA 会话。它们适用于 macOS 和 Linux 变体,但可能不适用于 Windows(未测试)。
显然不是。 IAM 账户的 MFA 似乎是可选的,尽管您最好在 AWS 支持论坛上发帖以获得权威答案。
我们在为使用 Yubikeys 开发的一些自定义工具 ( https://github.com/kreuzwerker/awsu ) 的文档中记录了 AWS API 多因素的一些一般注意事项(在哪里添加条件、影响等)作为 TOTP 令牌的来源。这使得使用角色和长期凭证 + 会话令牌变得非常容易。