【发布时间】:2021-03-06 15:45:52
【问题描述】:
我正在尝试使用 Terraform 0.13 编写一个内部模块,该模块允许调用者在调用时选择一个或多个预先编写的策略文档。我想做的是将每个策略定义为 data.iam_policy_document,并有条件地将它们作为多个语句包含/合并到生成的策略中。我发现的示例似乎都没有做到这一点,并且注册表中的大多数 IAM 相关模块只依赖于传递完整策略语句的父模块,但我的目标是让模块的用户不需要了解如何编写正确的 IAM 政策。
我的想法是最简单的方法是合并策略文档的 .json 版本并将其传递给 iam_policy 资源,但这似乎不适用于通过计数三元控制策略文档,我意识到这可能完全是错误的方法。
使用该模块的预期结果是创建具有适当信任策略的单个角色,该角色可以访问所选的服务组,并且不会创建任何未使用和不需要的资源(未附加的额外策略,等)
【问题讨论】:
-
您要处理多少个保单?在 Terraform 中,将多个策略附加到单个角色要比以某种方式组合策略文档要容易得多。否则,我认为您可能希望将
statement部分拆分为单独的 JSON 字符串,然后根据您的需要将它们组合成单个字符串。
标签: amazon-web-services terraform amazon-iam