【发布时间】:2018-06-29 20:38:00
【问题描述】:
您好,我的 terraform 中有以下策略定义,但它不断返回格式错误
resource "aws_iam_role_policy" "task-policy" {
name = "docker-flowcell-restore-task-policy"
role = "${aws_iam_role.task-role.id}"
policy = "${file("${path.module}/policies/role-docker-flowcell-restore-${var.environment}-ecs-policy.json")}"
}
一段时间以来一直在努力寻找其中的错误。
这是错误
aws_iam_role_policy.task-policy: Error putting IAM role policy docker-flowcell-restore-task-policy: MalformedPolicyDocument: Syntax errors in policy.
这是失败的政策
{
"Version": "2012-10-17",
"Statement": [
{
"Sid":"AllowWritesS3",
"Action": [
"s3:GetObject",
"s3:RestoreObject"
],
"Effect": "Allow",
"Resource": [
"Temp_name_for_post",
"Temp_name_for_post"
]
},
{
"SID": "Allow for user for upload S3 bucket",
"Action": [
"s3:PutObject",
"s3:AbortMultipartUpload"
],
"Resource":[
"temp_name_for_post",
"temp_name_for_post"
]
}
]
}
【问题讨论】:
-
这可能是策略本身的错误,为策略变量解析的内容是有效的 json/有效策略吗?发布错误可能会有所帮助。
-
我在帖子中添加了错误/该角色可以来自的每个文件都是格式正确的 json 文件。
-
您的 iam 政策似乎格式不正确。 Here 是有关 iam 语法和语法的文档。查看策略有什么问题的另一个选项是将该文件的内容复制到 aws 控制台中的 iam 策略验证器中。
-
我明白了,错误出在任务策略正在读取的 JSON 文件之一中?
-
在我看来就是这样
标签: amazon-web-services terraform