|
1 | 1 | resource "aws_cloudtrail" "events" { |
2 | | - count = var.is_production_environment ? 1 : 0 |
| 2 | + count = var.is_live_environment ? 1 : 0 |
3 | 3 |
|
4 | 4 | name = var.identifier_prefix |
5 | | - s3_bucket_name = aws_s3_bucket.cloudtrail.id |
6 | | - s3_key_prefix = "prefix" |
| 5 | + s3_bucket_name = var.cloudtrail_bucket_id |
| 6 | + s3_key_prefix = "liberator-data-processing" |
7 | 7 | include_global_service_events = false |
8 | 8 |
|
9 | 9 | cloud_watch_logs_group_arn = "${aws_cloudwatch_log_group.cloud_trail_events.arn}:*" # CloudTrail requires the Log Stream wildcard |
@@ -67,110 +67,3 @@ data "aws_iam_policy_document" "assume_policy" { |
67 | 67 | } |
68 | 68 | } |
69 | 69 | } |
70 | | - |
71 | | -resource "aws_kms_key" "key" { |
72 | | - tags = var.tags |
73 | | - |
74 | | - description = "${var.project} ${var.environment} - ${var.identifier_prefix}-cloudtrail Bucket Key" |
75 | | - deletion_window_in_days = 10 |
76 | | - enable_key_rotation = true |
77 | | -} |
78 | | - |
79 | | -resource "aws_s3_bucket" "cloudtrail" { |
80 | | - bucket = "${var.identifier_prefix}-cloudtrail" |
81 | | - force_destroy = true |
82 | | -} |
83 | | - |
84 | | -resource "aws_s3_bucket_server_side_encryption_configuration" "cloudtrail" { |
85 | | - bucket = aws_s3_bucket.cloudtrail.id |
86 | | - |
87 | | - rule { |
88 | | - apply_server_side_encryption_by_default { |
89 | | - kms_master_key_id = aws_kms_key.key.arn |
90 | | - sse_algorithm = "aws:kms" |
91 | | - } |
92 | | - bucket_key_enabled = true |
93 | | - } |
94 | | -} |
95 | | - |
96 | | -resource "aws_s3_bucket_versioning" "cloudtrail" { |
97 | | - bucket = aws_s3_bucket.cloudtrail.id |
98 | | - |
99 | | - versioning_configuration { |
100 | | - status = "Enabled" |
101 | | - } |
102 | | -} |
103 | | - |
104 | | -resource "aws_s3_bucket_public_access_block" "block_public_access" { |
105 | | - bucket = aws_s3_bucket.cloudtrail.id |
106 | | - depends_on = [aws_s3_bucket.cloudtrail] |
107 | | - |
108 | | - block_public_acls = true |
109 | | - block_public_policy = true |
110 | | - ignore_public_acls = true |
111 | | - restrict_public_buckets = true |
112 | | -} |
113 | | - |
114 | | -resource "aws_s3_bucket_policy" "example" { |
115 | | - bucket = aws_s3_bucket.cloudtrail.id |
116 | | - policy = data.aws_iam_policy_document.cloudtrail_bucket_policy.json |
117 | | -} |
118 | | - |
119 | | -resource "aws_s3_bucket_lifecycle_configuration" "cloudtrail" { |
120 | | - bucket = aws_s3_bucket.cloudtrail.id |
121 | | - rule { |
122 | | - id = "Keep previous version 30 days" |
123 | | - status = "Enabled" |
124 | | - expiration { |
125 | | - days = 30 |
126 | | - } |
127 | | - } |
128 | | -} |
129 | | - |
130 | | -data "aws_iam_policy_document" "cloudtrail_bucket_policy" { |
131 | | - statement { |
132 | | - effect = "Allow" |
133 | | - actions = ["s3:GetBucketAcl"] |
134 | | - resources = ["arn:aws:s3:::${var.identifier_prefix}-cloudtrail"] |
135 | | - principals { |
136 | | - type = "Service" |
137 | | - identifiers = ["cloudtrail.amazonaws.com"] |
138 | | - } |
139 | | - } |
140 | | - |
141 | | - statement { |
142 | | - effect = "Allow" |
143 | | - actions = ["s3:PutObject"] |
144 | | - resources = ["arn:aws:s3:::${var.identifier_prefix}-cloudtrail/prefix/AWSLogs/*"] |
145 | | - principals { |
146 | | - type = "Service" |
147 | | - identifiers = ["cloudtrail.amazonaws.com"] |
148 | | - } |
149 | | - condition { |
150 | | - test = "StringEquals" |
151 | | - variable = "s3:x-amz-acl" |
152 | | - values = ["bucket-owner-full-control"] |
153 | | - } |
154 | | - } |
155 | | - |
156 | | - statement { |
157 | | - sid = "AllowSSLRequestsOnly" |
158 | | - effect = "Deny" |
159 | | - actions = ["s3:*"] |
160 | | - principals { |
161 | | - type = "AWS" |
162 | | - identifiers = ["*"] |
163 | | - } |
164 | | - resources = [ |
165 | | - aws_s3_bucket.cloudtrail.arn, |
166 | | - "${aws_s3_bucket.cloudtrail.arn}/*", |
167 | | - ] |
168 | | - condition { |
169 | | - test = "Bool" |
170 | | - variable = "aws:SecureTransport" |
171 | | - values = [ |
172 | | - "false" |
173 | | - ] |
174 | | - } |
175 | | - } |
176 | | -} |
0 commit comments