如何在Terraform中使用AWS提供程序创建可组合的IAM策略

时间:2019-08-02 20:58:34

标签: amazon-web-services terraform amazon-iam terraform-provider-aws

我开始从一些内部脚本过渡到terraform。在当前设置中,我将IAM策略语句集组合在一起以创建单个IAM角色。其中一些是模板。我不确定如何在Terraform中实现类似的重复数据删除。

aws_iam_policy_document数据源几乎是我想要的,但是它只允许一个source_json

我能想到的最好的事情是拥有所有组件的数据源,然后执行以下操作:

dynamic "statement" {
  for_each = concat(set1, set2, set3, set4, ...)
  content {
      sid = statement.sid
      actions = statement.actions
      resources = statement.resources
      ...
  }
}

但这有点混乱,我需要为每个iam角色重复此定义,而且我实际上不确定如果其中一个字段未定义(例如,如果没有定义),引用将如何工作没有Sid)

0 个答案:

没有答案