【发布时间】:2019-08-09 10:22:04
【问题描述】:
我正在尝试创建加密的 S3 存储桶。执行 terraform apply 后,一切看起来都很好,但是当我在 AWS 控制台中查看存储桶时,它没有加密。我也知道previous 问题。
这是我的 terraform 版本:
Terraform v0.11.13
+ provider.aws v2.2.0
这是我的 tf 文件:
resource "aws_s3_bucket" "test-tf-enc" {
bucket = "test-tf-enc"
acl = "private"
tags {
Name = "test-tf-enc"
}
server_side_encryption_configuration {
rule {
apply_server_side_encryption_by_default {
sse_algorithm = "AES256"
}
}
}
}
这是我执行命令后的输出:
aws_s3_bucket.test-tf-enc: Creating...
acceleration_status: "" => "<computed>"
acl: "" => "private"
arn: "" => "<computed>"
bucket: "" => "test-tf-enc"
bucket_domain_name: "" => "<computed>"
bucket_regional_domain_name: "" => "<computed>"
force_destroy: "" => "false"
hosted_zone_id: "" => "<computed>"
region: "" => "<computed>"
request_payer: "" => "<computed>"
server_side_encryption_configuration.#: "" => "1"
server_side_encryption_configuration.0.rule.#: "" => "1"
server_side_encryption_configuration.0.rule.0.apply_server_side_encryption_by_default.#: "" => "1"
server_side_encryption_configuration.0.rule.0.apply_server_side_encryption_by_default.0.sse_algorithm: "" => "AES256"
tags.%: "" => "1"
tags.Name: "" => "test-tf-enc"
versioning.#: "" => "<computed>"
website_domain: "" => "<computed>"
website_endpoint: "" => "<computed>"
aws_s3_bucket.test-tf-enc: Still creating... (10s elapsed)
aws_s3_bucket.test-tf-enc: Creation complete after 10s (ID: test-tf-enc)
Apply complete! Resources: 1 added, 0 changed, 0 destroyed.
【问题讨论】:
-
代码看起来不错,甚至 terraform 输出看起来也不错。这可能是最新的 AWS Provider 的错误。你试过1.60吗?您可以这样指定:provider "aws" { region = "us-east-1" version = "1.60.0" }
-
该资源的提供者版本没问题,代码看起来也不错。所以它会是别的东西。
-
我使用 aws provider 1.60.0 版进行了测试,但无济于事。
-
您的 terraform 代码看起来不错,所以它一定是导致问题的其他原因,可能是权限问题。试试这个 cli 命令看看它是否有效: aws s3api put-bucket-encryption --bucket my-bucket --server-side-encryption-configuration '{"Rules": [{"ApplyServerSideEncryptionByDefault": {"SSEAlgorithm": " AES256"}}]}'
-
代码运行正常;我用来登录 AWS 管理控制台的用户没有足够的权限查看 s3 存储桶加密属性。感谢@victorm 帮助我解决问题。
标签: amazon-web-services amazon-s3 terraform