我有一个 terraform 基础设施设置,其中一个模块用于不同的环境(相同的帐户,不同的区域)。我遇到的问题是,对于每个环境,我都需要将策略附加到该环境中的角色。因此,每次我尝试使用 更新基础结构时apex infra -e <env> apply
,之前附加到策略的角色都会被新环境中的角色覆盖。
Terraform v0.12.13
Apex version 1.0.0-rc2
有没有办法告诉 terraform,将角色添加到当前附加到策略的角色列表中?
data "aws_iam_policy" "ecsPolicy" {
arn = "arn:aws:iam::aws:policy/service-role/AmazonECSTaskExecutionRolePolicy"
}
resource "aws_iam_policy_attachment" "ecs_task_attach" {
name = "${var.apex_environment}_ecsTaskExec"
roles = [aws_iam_role.ecs_task_executor_role.name]
policy_arn = data.aws_iam_policy.ecsPolicy.arn
}
创建单独的策略以附加到不同的用户将是我的最后一个
aws_iam_policy_attachment
创建 IAM 策略的独占附件并覆盖附加到 IAM 角色的任何现有策略。
如果您希望将多个策略附加到单个 IAM 角色,请尝试使用aws_iam_role_policy_attachment
( https://www.terraform.io/docs/providers/aws/r/iam_role_policy_attachment.html )。该资源应该可以帮助您实现目标。
希望这可以帮助。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句