1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- provider "aws" {
- region = "us-east-2"
- profile = "default"
- }
- resource "aws_kms_key" "terraform_key" {
- description = "This key is used to encrypt bucket objects"
- deletion_window_in_days = 10
- }
- resource "aws_kms_alias" "Terraform-Alias" {
- name = "alias/terraform"
- target_key_id = "${aws_kms_key.terraform_key.key_id}"
- }
- resource "aws_s3_bucket" "terraform_state" {
- bucket = "fcm-terraform-state"
- versioning {
- enabled = true
- }
- lifecycle {
- prevent_destroy = true
- }
- server_side_encryption_configuration {
- rule {
- apply_server_side_encryption_by_default {
- kms_master_key_id = "${aws_kms_key.terraform_key.arn}"
- sse_algorithm = "aws:kms"
- }
- }
- }
- }
- resource "aws_s3_bucket_public_access_block" "keep_terraform_safe" {
- bucket = "${aws_s3_bucket.terraform_state.id}"
- block_public_acls = true
- block_public_policy = true
- ignore_public_acls = true
- restrict_public_buckets = true
- }
|