有没有办法将多个角色附加到单个策略?

时间:2019-05-23 14:17:14

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

我正在尝试在terraform中创建IAM角色,在2-3种策略中很常见,那么有什么方法可以将这些角色附加到策略上?

resource "aws_iam_role_policy_attachment" "alerts-config-params-sam-cf-accessToKmsKeyIAMPolicy-CZV903G9AVJR" {
  role       = ["${module.role1.name}","${module.role2.name}","${module.role3.name}",]
  policy_arn = "arn:aws:iam::policy"
}

这是我尝试附加3个角色的政策

"${module.role1.name}","${module.role2.name}","${module.role3.name}",

确切的错误是:

aws_iam_role_policy_attachment.AWSLambdaBasicExecutionRole: role must be a single value, not a list

并且如果我多次创建该策略并将其附加到单个角色上,则会出现如下错误:

aws_iam_role_policy_attachment.AWSLambdaBasicExecutionRole: resource repeated multiple times 

1 个答案:

答案 0 :(得分:0)

如果您正在使用aws_iam_role_policy_attachment资源,则需要为每个角色创建一个单独的附件。确保给他们提供不同的名称。

或者,您可以考虑使用iam_policy_attachment,它接受​​角色列表。不过,请确保您已阅读并理解页面顶部的警告。