首页 > 解决方案 > 有没有办法将多个角色附加到单个策略?

问题描述

我正在尝试在 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 

标签: terraformamazon-iamterraform-provider-aws

解决方案


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

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


推荐阅读