如何在 CloudFormation 中启用 VirtualMFADevice?

Posted

技术标签:

【中文标题】如何在 CloudFormation 中启用 VirtualMFADevice?【英文标题】:How do I enable VirtualMFADevice in CloudFormation? 【发布时间】:2022-01-13 03:55:56 【问题描述】:

我有一个 CloudFormation 脚本,可以创建新用户(包括角色、策略等)。

我希望确保新用户启用了 MFA。 docs 提到您必须“在创建 MFA 后将 MFA 设备附加到 IAM 用户”(即使有如下 Users 属性?)但他们只指出如何在控制台和 CLI 中执行此操作.

  Type: AWS::IAM::VirtualMFADevice
    Properties:
      Users:
          - !Ref user1
          - !Ref user2
      VirtualMfaDeviceName: Something

CloudFormation 可能不支持此操作吗?

【问题讨论】:

【参考方案1】:

MFA 设备是用户自己管理的东西。为了确保用户启用了 MFA,您可以使用IAM Policy。亚马逊的这个示例策略明确拒绝用户的所有权限(即使有其他策略允许),除非他们启用了 MFA。唯一允许的是管理他们自己的 MFA 设备,以便他们可以为自己添加设备。这些是用于管理其 MFA 设备的用户的details。

【讨论】:

这绝对是实现它的一种方法,感谢@kgiannakakis 热衷于正确理解 CloudFormation 角度以及如何(或者甚至!?)这意味着要使用...... 您说得对,AWS::IAM::VirtualMFADevice 的文档至少不完整。我不知道如何使用它,因为似乎没有办法设置种子信息。但是,对于与秘密创建有关的任何事情,您不能只使用 Cloud Formation 来完成。 Cloud Formation 无法存储安全信息,因此您需要将其与其他内容结合使用。 是的,我已经将 CloudFormation 与 SecretsManager 集成,没问题:+1 这确实是一种完全自动化的方法,我一直在努力理解我错过了什么。但也许你是对的,文档有些不完整?我可能需要联系 AWS Support 并让他们的一位工程师推荐最佳的自动预置方法。非常感谢您的 cmets。

以上是关于如何在 CloudFormation 中启用 VirtualMFADevice?的主要内容,如果未能解决你的问题,请参考以下文章

使用 cloudformation 为 S3 存储桶启用 Lambda 函数

AWS Cloudformation 启用 Performance Insights

在 Cloudformation 模板中为 API 网关启用 CORS DEFAULT 4XX/5XX

从 CloudFormation 启用 Aurora 数据 API

CloudFormation - 为 DynamoDB 创建表启用 TTL

如何在Vi/Vim编辑器中启用语法高亮显示