我必须一次从单个云形成堆栈创建多个IAM用户。
因为,Cloudformation 不支持 Loop。我创建了一个代码管道,用于部署存储在 AWS CodeCommit 中的云形成模板。
我可以使用代码管道的参数覆盖功能来创建多个用户,例如在列表中将参数指定为:
{
"Username":["Bob","Alice","John"]
}
CodeCommit 和 CloudFormation 操作之间执行操作,以生成包含每个 IAM 用户资源的模板(除非您计划提交扩展的 CloudFormation 模板(。CodeBuild 可能是运行一些生成 CoudFormation 模板的命令的最佳选择。
您可能会发现 CDK (https://github.com/awslabs/aws-cdk/( 对于这样的用例很有趣。它将允许您在循环中描述IAM用户,然后合成一个CoudFormation temple。在撰写此答案时,它处于预览状态,因此不要依赖它进行生产。
你应该这样做,但如果你不留下预先存在的,我相信它会删除以前的。 您可以执行与 Lambda 函数绑定的自定义资源,然后您的 Lambda 函数无法"不"删除以前的资源。