正确答案: 使用包含 EC2 产品的 AWS Service Catalog 组合,这些产品使用只包含经批准软件的 AMI。仅授予开发人员访问此 Service Catalog 组合的权限,以便在软件开发账户中启动产品。.
为什么这是答案
正确答案是使用 AWS Service Catalog。Service Catalog 允许管理员创建和管理批准的 IT 服务目录,包括预配置的 EC2 实例。通过将 EC2 产品配置为使用只包含批准软件的 AMI,并限制开发人员只能访问此 Service Catalog 组合,公司可以确保开发人员只能启动符合要求的实例。
其他选项不满足所有要求:
在 CloudFormation 模板中引用 AMI ID 仍然允许开发人员直接启动 EC2 实例,绕过对批准软件的强制执行,并且可能无法阻止他们在其他账户中启动。
EventBridge 规则和 Systems Manager Run Command 在实例启动后才安装软件,这意味着实例在短时间内可能运行未经批准的软件,并且这也不能阻止开发人员在其他账户中启动。
在管理账户中创建 AMI 并使用 CloudFormation StackSets 部署,虽然可以分发批准的 AMI,但它没有提供强制开发人员只能使用这些 AMI 启动实例的机制,也没有限制他们在特定账户中启动。