首页 > 解决方案 > 如何启用通过 Terraform 传输到 AWS 的加密?

问题描述

我们的 AWS S3 存储桶策略要求在传输过程中进行加密,以便将对象放置在 S3 中。我写了一个 Terraform,它将状态文件写入我们的 S3 存储桶。不幸的是,由于脚本在传输过程中没有加密,它不允许我这样做。

有谁知道这是否可以通过 Terraform 实现?

*编辑:添加存储桶策略。

{
"Version": "2012-10-17",
"Id": "PutObjPolicy",
"Statement": [
    {
        "Sid": "DenyIncorrectEncryptionHeader",
        "Effect": "Deny",
        "Principal": "*",
        "Action": "s3:PutObject",
        "Resource": "arn:aws:s3:::test/*",
        "Condition": {
            "StringNotEquals": {
                "s3:x-amz-server-side-encryption": "AES256"
            }
        }
    },
    {
        "Sid": "DenyUnEncryptedObjectUploads",
        "Effect": "Deny",
        "Principal": "*",
        "Action": "s3:PutObject",
        "Resource": "arn:aws:s3:::test/*",
        "Condition": {
            "Null": {
                "s3:x-amz-server-side-encryption": "true"
            }
        }
    }
]
}

编辑:添加后端 tfstate

terraform {
backend "s3" {
bucket = "test/inf/"
key    = "s3_vpc_endpoint.tfstate"
region = "us-east-1"
 }
}

标签: amazon-s3terraformterraform-provider-aws

解决方案


推荐阅读