繁体   English   中英

设置Lambda以创建不带IAM策略的AWS CloudFormation

[英]Setting up Lambda to Create AWS CloudFormation without IAM Policy

创建IAM用户的CloudFormation堆栈的最佳实践是什么? 我正在创建一个API,该API将自动将客户端添加到我们的服务之一,即,它使用CloudFormation模板来创建存储桶,dynamo数据库条目,IAM用户等。

您将POST呼叫发送到具有呼叫中特定参数的路由,它将创建客户端以及客户端所需的一切; 但是,出于安全考虑,我很犹豫是否允许lambda角色具有IAM权限。 我们非常重视IAM用户的创建,因为这始终可能具有负面含义。

有没有一种方法可以创建CloudFormation堆栈,但是需要管理员的手动批准才能创建它? 我注意到,没有一种方法可以“延迟”堆栈以从具有正确权限的另一个实体批准,因为对于要首先创建的堆栈,必须为创建它的实体制定适当的策略。

因此,总而言之,将POST请求发送到一个URL,该URL创建一个需要管理员批准并具有适当权限才能激活创建的堆栈。

我开始相信这是不可能的,那么有什么建议呢?

我们还考虑了其​​他一些方法:

  • API调用将生成的CloudFormation模板上载到s3,然后管理员手动使用对象url创建堆栈
  • 修改CloudFormation模板以删除IAM部分,并让管理员手动创建该部分

无论哪种方式,它都有点脱离了“自动化”方面。

有什么想法吗?

我建议使用AWS Step Functions围绕批准机制创建状态机(编码过程)。 然后,POST请求将使用特定的CFN模板触发新的Step Function执行。 我想您将需要构建一个简单的前端以列出所有未完成的Step Function执行(即未完成的批准)。

可以在CodePipeline的顶部构建替代解决方案。 管道执行可以执行手动批准操作 ,并且可以通过配置方式自行创建堆栈。

如果您愿意使用其他工具,则可以通过Jenkins作业触发cloudformation堆栈,并且仅允许管理员触发该作业。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM