繁体   English   中英

Terraform s3_bucket_policy

[英]Terraform s3_bucket_policy

我正在使用 Terraform 构建 AWS 环境,但 s3 存储桶策略和帐户存在问题。

resource "aws_s3_bucket_policy" "awsbucketprodpolicy" {
    bucket = local.prodtbucket
    policy = jsonencode({
        Version = "2012-10-17"
        #Id = format("%s-policy", local.vaultbucket )
        Statement = [
            {
                #Sid = "prodpolicy"
                Effect = "Allow"
                Principal = "*" #aws_organizations_account.prodbucket.arn #"*"
                Action = "s3:CopyObject
        #["s3:CopyObject","s3:DeleteObject","s3:GetObject"]
                Resource = [
                    aws_s3_bucket.prodbucket.arn,
                    "${aws_s3_bucket.prodbucket.arn}/*",
                ]
            }
        ],
    })
}

我收到操作错误。 放置 S3 策略时出错:MalformedPolicy:策略具有无效操作。 它适用于“s3:8)”但不适用于确切的操作。

您的策略密钥当前包含已注释掉的语句,这些语句未正确编码为 JSON。 Action行也缺少引号。
最后,copyObject 命令没有策略操作, 根据这篇文章,您至少需要 listObject 和 getObject 权限才能执行此操作

清理策略 object:

{
        Version = "2012-10-17"
        Statement = [
            {
                Effect = "Allow"
                Principal = "*"
                Action = [
                "s3:GetObject",
                "s3:ListBucket",
                "s3:PutObject",
                ]
                Resource = [
                    "${aws_s3_bucket.prodbucket.arn}/*"                    ]
            }
        ],
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM