1
1
resource "aws_s3_bucket" "this" {
2
2
provider = aws. main
3
3
bucket = var. project_name
4
- policy = data. aws_iam_policy_document . this . json
5
-
6
- block_public_acls = true
7
-
4
+ policy = data. aws_iam_policy_document . this . json
8
5
website {
9
6
redirect_all_requests_to = " https://${ var . target_domain } "
10
7
}
@@ -17,6 +14,15 @@ resource "aws_s3_bucket" "this" {
17
14
)
18
15
}
19
16
17
+ resource "aws_s3_bucket_public_access_block" "this" {
18
+ bucket = aws_s3_bucket. this . id
19
+
20
+ block_public_acls = true
21
+ block_public_policy = true
22
+ ignore_public_acls = true
23
+ restrict_public_buckets = true
24
+ }
25
+
20
26
data "aws_iam_policy_document" "this" {
21
27
statement {
22
28
sid = " Redirect ${ var . project_name } "
@@ -44,6 +50,7 @@ data "aws_iam_policy_document" "this" {
44
50
45
51
resource "aws_kms_key" "this" {
46
52
deletion_window_in_days = 10
53
+ enable_key_rotation = true
47
54
}
48
55
49
56
resource "aws_s3_bucket_server_side_encryption_configuration" "this" {
@@ -63,12 +70,22 @@ resource "aws_s3_bucket_versioning" "this" {
63
70
versioning_configuration {
64
71
status = " Enabled"
65
72
}
73
+ versioning. mfa_delete = true
66
74
}
67
75
68
76
resource "aws_s3_bucket" "log_bucket" {
69
77
bucket = " log_bucket"
70
78
}
71
79
80
+ resource "aws_s3_bucket_public_access_block" "log" {
81
+ bucket = aws_s3_bucket. log_bucket . id
82
+
83
+ block_public_acls = true
84
+ block_public_policy = true
85
+ ignore_public_acls = true
86
+ restrict_public_buckets = true
87
+ }
88
+
72
89
resource "aws_s3_bucket_acl" "log_bucket_acl" {
73
90
bucket = aws_s3_bucket. log_bucket . id
74
91
acl = " log-delivery-write"
0 commit comments