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

CloudFormation部署IAM策略遇MalformedPolicyDocument错误求助

解决CloudFormation中IAM Policy的MalformedPolicyDocument错误

我看到你在部署CloudFormation模板时遇到了IAM Policy的语法错误,这个问题的核心原因是Policy文档里的Version字段值不符合AWS的要求。

AWS IAM Policy仅支持两个合法的版本号:

  • 2008-10-17(旧版,不推荐使用)
  • 2012-10-17(当前推荐的标准版本)

你模板里用的2020-01-29是无效的版本值,这直接触发了MalformedPolicyDocument错误。

修正后的模板代码

JenkinsInstanceProfile:
  Type: AWS::IAM::InstanceProfile
  Properties:
    Path: "/"
    Roles:
      - Ref: "JenkinsRole"
JenkinsPolicy:
  Type: AWS::IAM::Policy
  Properties:
    PolicyName: "JenkinsPolicy"
    PolicyDocument:
      Version: "2012-10-17"  # 修改为AWS认可的合法版本号
      Statement:
        - Effect: "Allow"
          Action:
            - "s3:GetObject"
            - "s3:GetObjectVersion"
            - "s3:PutObject"
            - "s3:DeleteObject"
          Resource: "*"
        - Effect: "Allow"
          Action:
            - "codedeploy:ListApplications"
            - "codedeploy:ListDeploymentGroups"
            - "codedeploy:RegisterApplicationRevision"
            - "codedeploy:CreateDeployment"
            - "codedeploy:GetDeploymentConfig"
            - "codedeploy:GetApplicationRevision"
            - "codedeploy:GetDeployment"
          Resource: "*"
    Roles:
      - Ref: "JenkinsRole"

额外检查点(若修改后仍报错)

如果调整版本号后问题依旧,可以排查以下细节:

  • YAML语法是否规范:比如有没有多余的逗号、缩进是否保持一致(YAML对缩进敏感)
  • Statement中的Action名称是否拼写准确,有没有遗漏或错误的服务前缀
  • Resource字段的格式是否符合要求(你当前用的*是合法的通配符,这部分没问题)

内容的提问来源于stack exchange,提问作者Anvesha Saxena

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.06 12:17:31