You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Terraform计划显示IAM策略将更新,代码无变更却疑似移除现有策略

问题:Terraform无代码变更却计划更新IAM角色策略,甚至移除现有内容

当前IAM策略与角色已存在,未修改任何代码,但Terraform plan显示该策略将被就地更新;若执行apply操作,按计划会移除现有策略,且策略文档读取逻辑与移除操作一致。使用的AWS Provider版本为4.29。

模块中的策略代码

data "aws_iam_policy_document" "task_execution_role_with_cloudwatch_policy_doc" {

  count = var.container_log_driver == "awslogs" ? 1 : 0

  statement {
    actions = [
      "logs:CreateLogStream",
      "logs:PutLogEvents",
    ]

    resources = [
      "${aws_cloudwatch_log_group.main[0].arn}:*"
    ]

  }

  statement {
    actions = [
      "ecr:GetAuthorizationToken",
    ]

    resources = [
      "*"
    ]
  }

  statement {
    actions = [
      "ecr:BatchCheckLayerAvailability",
      "ecr:GetDownloadUrlForLayer",
      "ecr:BatchGetImage",
    ]

    resources = var.ecr_repo_arns
  }

  statement {
    actions = [
      "ssm:Describe*",
      "ssm:Get*",
      "ssm:List*",
    ]

    resources = [
      "arn:aws:ssm:*:*:parameter/${local.ssm_name_env}/*",
      "arn:aws:ssm:*:*:parameter/xxxxx/*",
      "arn:aws:ssm:*:*:parameter/${var.env}/xxxxx/*",
      "arn:aws:ssm:*:*:parameter/xxxx/*",
      "arn:aws:ssm:*:*:parameter/xxxxxx/*",
      "arn:aws:ssm:*:*:parameter/xxxxx/*"
    ]
  }
}

Terraform计划输出

# aws_iam_role_policy.task_execution_role_policy[0] will be updated in-place
  ~ resource "aws_iam_role_policy" "task_execution_role_policy" {
        id     = "ecs-task-execution-role-xxxxxxx:ecs-task-execution-role-xxxxxxxxx-policy"
        name   = "ecs-task-execution-role-xxxxxxxxxxx-policy"
      ~ policy = jsonencode(
            {
              - Statement = [
                  - {
                      - Action   = [
                          - "logs:PutLogEvents",
                          - "logs:CreateLogStream",
                        ]
                      - Effect   = "Allow"
                      - Resource = "arn:aws:logs:us-east-1:123456789:log-group:/ecs/xxxxxxxxxx:*"
                      - Sid      = ""
                    },
                  - {
                      - Action   = "ecr:GetAuthorizationToken"
                      - Effect   = "Allow"
                      - Resource = "*"
                      - Sid      = ""
                    },
                  - {
                      - Action   = [
                          - "ecr:GetDownloadUrlForLayer",
                          - "ecr:BatchGetImage",
                          - "ecr:BatchCheckLayerAvailability",
                        ]
                      - Effect   = "Allow"
                      - Resource = "*"
                      - Sid      = ""
                    },
                  - {
                      - Action   = [
                          - "ssm:List*",
                          - "ssm:Get*",
                          - "ssm:Describe*",
                        ]
                      - Effect   = "Allow"
                      - Resource = [
                          - "arn:aws:ssm:*:*:parameter/dev/aurora/*",
                          - "arn:aws:ssm:*:*:parameter/test-service/*",
                          - "arn:aws:ssm:*:*:parameter/ecs/*",
                          - "arn:aws:ssm:*:*:parameter/aurora/*",
                          - "arn:aws:ssm:*:*:parameter/test-service/*",
                        ]
                      - Sid      = ""
                    },
                ]
              - Version   = "2012-10-17"
            }
        ) -> (known after apply)
        # (1 unchanged attribute hidden)
    }

内容的提问来源于stack exchange,提问作者Maruthirao Konda

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 07:52:55