s3.terraform-state.tf 968 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. provider "aws" {
  2. region = "us-east-2"
  3. profile = "default"
  4. }
  5. resource "aws_kms_key" "terraform_key" {
  6. description = "This key is used to encrypt bucket objects"
  7. deletion_window_in_days = 10
  8. }
  9. resource "aws_kms_alias" "Terraform-Alias" {
  10. name = "alias/terraform"
  11. target_key_id = "${aws_kms_key.terraform_key.key_id}"
  12. }
  13. resource "aws_s3_bucket" "terraform_state" {
  14. bucket = "fcm-terraform-state"
  15. versioning {
  16. enabled = true
  17. }
  18. lifecycle {
  19. prevent_destroy = true
  20. }
  21. server_side_encryption_configuration {
  22. rule {
  23. apply_server_side_encryption_by_default {
  24. kms_master_key_id = "${aws_kms_key.terraform_key.arn}"
  25. sse_algorithm = "aws:kms"
  26. }
  27. }
  28. }
  29. }
  30. resource "aws_s3_bucket_public_access_block" "keep_terraform_safe" {
  31. bucket = "${aws_s3_bucket.terraform_state.id}"
  32. block_public_acls = true
  33. block_public_policy = true
  34. ignore_public_acls = true
  35. restrict_public_buckets = true
  36. }