5
运行terraform当我收到以下错误创建策略时:MalformedPolicyDocument错误通过terraform
* aws_iam_role_policy.rds_policy: Error putting IAM role policy my-rds-policy: MalformedPolicyDocument: The policy failed legacy parsing
这里是我的资源的定义:
resource "aws_iam_role_policy" "rds_policy" {
name = "my-rds-policy"
role = "${aws_iam_role.rds_role.id}"
policy = <<EOF
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:ListBucket",
"s3:GetBucketLocation"
],
"Resource": [
"arn:aws:s3:::my-bucket"
]
},
{
"Effect": "Allow",
"Action": [
"s3:GetObjectMetaData",
"s3:GetObject",
"s3:PutObject",
"s3:ListMultipartUploadParts",
"s3:AbortMultipartUpload"
],
"Resource": [
"arn:aws:s3:::my-bucket/backups/*"
]
}
]
}
EOF
}
的JSON政策文档是良好的,我什么都看不到。
,首先左大括号的EOF看起来像后它时,它不应该是真实缩进。如果你不这样做会怎么样? heredoc的东西有时可能非常特别。 – ydaetskcoR
@ydaetskcoR哇,奇怪的工作。作为答案发布,我会将其标记为正确的解决方案。 –