@@ -7,52 +7,20 @@ provider "azurerm" {
7
7
tenant_id = var. authentication . tenant_id
8
8
}
9
9
10
- # Create dedicated resource group
11
- resource "azurerm_resource_group" "rg" {
12
- name = " ${ var . prefix } -rg"
13
- location = var. location
14
- tags = var. tags
15
- }
16
-
17
- # Create underlying log analytics workspace for sentinel
18
- resource "azurerm_log_analytics_workspace" "rgcore-management-la" {
19
- name = " ${ var . prefix } -la"
20
- location = azurerm_resource_group. rg . location
21
- resource_group_name = azurerm_resource_group. rg . name
22
- sku = " PerGB2018"
23
- retention_in_days = 90
24
- depends_on = [azurerm_resource_group . rg ]
25
- }
26
-
27
- # Deploy sentinel
28
- resource "azurerm_log_analytics_solution" "la-opf-solution-sentinel" {
29
- solution_name = " SecurityInsights"
30
- location = azurerm_resource_group. rg . location
31
- resource_group_name = azurerm_resource_group. rg . name
32
- workspace_resource_id = azurerm_log_analytics_workspace. rgcore-management-la . id
33
- workspace_name = azurerm_log_analytics_workspace. rgcore-management-la . name
34
- plan {
35
- publisher = " Microsoft"
36
- product = " OMSGallery/SecurityInsights"
37
- }
38
- depends_on = [azurerm_log_analytics_workspace . rgcore-management-la ]
39
- }
40
-
41
10
# Create lab virtual network
42
11
resource "azurerm_virtual_network" "vnet" {
43
12
name = " ${ var . prefix } -vnet"
44
13
address_space = [" 10.0.0.0/16" ]
45
14
location = var. location
46
- resource_group_name = azurerm_resource_group . rg . name
15
+ resource_group_name = " ${ var . prefix } "
47
16
tags = var. tags
48
- depends_on = [azurerm_log_analytics_solution . la-opf-solution-sentinel ]
49
17
}
50
18
51
19
# Create network security group and rules
52
20
resource "azurerm_network_security_group" "nsg" {
53
21
name = " ${ var . prefix } -nsg"
54
22
location = var. location
55
- resource_group_name = azurerm_resource_group . rg . name
23
+ resource_group_name = " ${ var . prefix } "
56
24
tags = var. tags
57
25
depends_on = [azurerm_virtual_network . vnet ]
58
26
@@ -132,7 +100,7 @@ resource "azurerm_network_security_group" "nsg" {
132
100
# Create lab subnet
133
101
resource "azurerm_subnet" "subnet" {
134
102
name = " ${ var . prefix } -subnet"
135
- resource_group_name = azurerm_resource_group . rg . name
103
+ resource_group_name = " ${ var . prefix } "
136
104
virtual_network_name = azurerm_virtual_network. vnet . name
137
105
address_prefix = " 10.0.1.0/24"
138
106
network_security_group_id = azurerm_network_security_group. nsg . id
@@ -142,8 +110,8 @@ resource "azurerm_subnet" "subnet" {
142
110
# Create storage account
143
111
resource "azurerm_storage_account" "storageaccount" {
144
112
name = " ${ var . prefix } sablobstrg01"
145
- resource_group_name = azurerm_resource_group . rg . name
146
- location = azurerm_resource_group . rg . location
113
+ resource_group_name = " ${ var . prefix } "
114
+ location = var . location
147
115
account_tier = " Standard"
148
116
account_replication_type = " GRS"
149
117
depends_on = [azurerm_subnet . subnet ]
@@ -177,130 +145,21 @@ resource "azurerm_storage_blob" "adblob" {
177
145
source = " ./files/create-ad.ps1"
178
146
}
179
147
180
- # Create blob storage container for whitelisting files
181
- resource "azurerm_storage_container" "whiteliststorage" {
182
- name = " ${ var . prefix } -store2"
183
- storage_account_name = azurerm_storage_account. storageaccount . name
184
- container_access_type = " private"
185
- depends_on = [azurerm_storage_blob . adblob ]
186
- }
187
-
188
- # Create storage blob for process create whitelist file
189
- resource "azurerm_storage_blob" "pcwhitelist" {
190
- depends_on = [azurerm_storage_container . whiteliststorage ]
191
- name = " process_create_whitelist.csv"
192
- storage_account_name = azurerm_storage_account. storageaccount . name
193
- storage_container_name = azurerm_storage_container. whiteliststorage . name
194
- type = " block"
195
- source = " ./files/process_create_whitelist.csv"
196
- }
197
-
198
- # Create storage blob for dns whitelist file
199
- resource "azurerm_storage_blob" "dnswhitelist" {
200
- depends_on = [azurerm_storage_blob . pcwhitelist ]
201
- name = " dns_whitelist.csv"
202
- storage_account_name = azurerm_storage_account. storageaccount . name
203
- storage_container_name = azurerm_storage_container. whiteliststorage . name
204
- type = " block"
205
- source = " ./files/dns_whitelist.csv"
206
- }
207
-
208
- # Create storage blob for file access whitelist file
209
- resource "azurerm_storage_blob" "fawhitelist" {
210
- depends_on = [azurerm_storage_blob . dnswhitelist ]
211
- name = " file_access_whitelist.csv"
212
- storage_account_name = azurerm_storage_account. storageaccount . name
213
- storage_container_name = azurerm_storage_container. whiteliststorage . name
214
- type = " block"
215
- source = " ./files/file_access_whitelist.csv"
216
- }
217
-
218
- # Create storage blob for file create whitelist file
219
- resource "azurerm_storage_blob" "fcwhitelist" {
220
- depends_on = [azurerm_storage_blob . fawhitelist ]
221
- name = " file_create_whitelist.csv"
222
- storage_account_name = azurerm_storage_account. storageaccount . name
223
- storage_container_name = azurerm_storage_container. whiteliststorage . name
224
- type = " block"
225
- source = " ./files/file_create_whitelist.csv"
226
- }
227
-
228
-
229
- # Create storage blob for image load whitelist file
230
- resource "azurerm_storage_blob" "ilwhitelist" {
231
- depends_on = [azurerm_storage_blob . fcwhitelist ]
232
- name = " image_load_whitelist.csv"
233
- storage_account_name = azurerm_storage_account. storageaccount . name
234
- storage_container_name = azurerm_storage_container. whiteliststorage . name
235
- type = " block"
236
- source = " ./files/image_load_whitelist.csv"
237
- }
238
-
239
- # Create storage blob for network whitelist file
240
- resource "azurerm_storage_blob" "netwhitelist" {
241
- depends_on = [azurerm_storage_blob . ilwhitelist ]
242
- name = " network_whitelist.csv"
243
- storage_account_name = azurerm_storage_account. storageaccount . name
244
- storage_container_name = azurerm_storage_container. whiteliststorage . name
245
- type = " block"
246
- source = " ./files/network_whitelist.csv"
247
- }
248
-
249
- # Create storage blob for pipe whitelist file
250
- resource "azurerm_storage_blob" "pipewhitelist" {
251
- depends_on = [azurerm_storage_blob . netwhitelist ]
252
- name = " pipe_whitelist.csv"
253
- storage_account_name = azurerm_storage_account. storageaccount . name
254
- storage_container_name = azurerm_storage_container. whiteliststorage . name
255
- type = " block"
256
- source = " ./files/pipe_whitelist.csv"
257
- }
258
-
259
- # Create storage blob for process access whitelist file
260
- resource "azurerm_storage_blob" "pawhitelist" {
261
- depends_on = [azurerm_storage_blob . pipewhitelist ]
262
- name = " process_access_whitelist.csv"
263
- storage_account_name = azurerm_storage_account. storageaccount . name
264
- storage_container_name = azurerm_storage_container. whiteliststorage . name
265
- type = " block"
266
- source = " ./files/process_access_whitelist.csv"
267
- }
268
-
269
- # Create storage blob for registry whitelist file
270
- resource "azurerm_storage_blob" "regwhitelist" {
271
- depends_on = [azurerm_storage_blob . pawhitelist ]
272
- name = " registry_whitelist.csv"
273
- storage_account_name = azurerm_storage_account. storageaccount . name
274
- storage_container_name = azurerm_storage_container. whiteliststorage . name
275
- type = " block"
276
- source = " ./files/registry_whitelist.csv"
277
- }
278
-
279
- # Create storage blob for remote thread whitelist file
280
- resource "azurerm_storage_blob" "rtwhitelist" {
281
- depends_on = [azurerm_storage_blob . pawhitelist ]
282
- name = " remote_thread_whitelist.csv"
283
- storage_account_name = azurerm_storage_account. storageaccount . name
284
- storage_container_name = azurerm_storage_container. whiteliststorage . name
285
- type = " block"
286
- source = " ./files/remote_thread_whitelist.csv"
287
- }
288
-
289
148
# Create public ip for domain controller 1
290
149
resource "azurerm_public_ip" "dc1_publicip" {
291
150
name = " ${ var . workstations . dc1 } -external"
292
151
location = var. location
293
- resource_group_name = azurerm_resource_group . rg . name
152
+ resource_group_name = " ${ var . prefix } "
294
153
allocation_method = " Dynamic"
295
154
tags = var. tags
296
- depends_on = [azurerm_storage_blob . rtwhitelist ]
155
+ depends_on = [azurerm_storage_blob . adblob ]
297
156
}
298
157
299
158
# Create network interface for domain controller 1
300
159
resource "azurerm_network_interface" "dc1_nic" {
301
160
name = " ${ var . workstations . dc1 } -primary"
302
161
location = var. location
303
- resource_group_name = azurerm_resource_group . rg . name
162
+ resource_group_name = " ${ var . prefix } "
304
163
network_security_group_id = azurerm_network_security_group. nsg . id
305
164
tags = var. tags
306
165
@@ -317,7 +176,7 @@ resource "azurerm_network_interface" "dc1_nic" {
317
176
resource "azurerm_virtual_machine" "dc1" {
318
177
name = var. workstations . dc1
319
178
location = var. location
320
- resource_group_name = azurerm_resource_group . rg . name
179
+ resource_group_name = " ${ var . prefix } "
321
180
network_interface_ids = [" ${ azurerm_network_interface . dc1_nic . id } " ]
322
181
vm_size = var. workstations . vm_size
323
182
tags = var. tags
@@ -364,7 +223,7 @@ resource "azurerm_virtual_machine" "dc1" {
364
223
resource "azurerm_virtual_machine_extension" "create_ad" {
365
224
name = " create_ad"
366
225
location = var. location
367
- resource_group_name = azurerm_resource_group . rg . name
226
+ resource_group_name = " ${ var . prefix } "
368
227
virtual_machine_name = azurerm_virtual_machine. dc1 . name
369
228
publisher = " Microsoft.Compute"
370
229
type = " CustomScriptExtension"
@@ -383,7 +242,7 @@ SETTINGS
383
242
resource "azurerm_public_ip" "pc1_publicip" {
384
243
name = " ${ var . workstations . pc1 } -external"
385
244
location = var. location
386
- resource_group_name = azurerm_resource_group . rg . name
245
+ resource_group_name = " ${ var . prefix } "
387
246
allocation_method = " Dynamic"
388
247
tags = var. tags
389
248
depends_on = [azurerm_virtual_machine_extension . create_ad ]
@@ -393,7 +252,7 @@ resource "azurerm_public_ip" "pc1_publicip" {
393
252
resource "azurerm_network_interface" "pc1_nic" {
394
253
name = " ${ var . workstations . pc1 } -primary"
395
254
location = var. location
396
- resource_group_name = azurerm_resource_group . rg . name
255
+ resource_group_name = " ${ var . prefix } "
397
256
network_security_group_id = azurerm_network_security_group. nsg . id
398
257
tags = var. tags #
399
258
ip_configuration {
@@ -409,7 +268,7 @@ resource "azurerm_network_interface" "pc1_nic" {
409
268
resource "azurerm_virtual_machine" "pc1" {
410
269
name = var. workstations . pc1
411
270
location = var. location
412
- resource_group_name = azurerm_resource_group . rg . name
271
+ resource_group_name = " ${ var . prefix } "
413
272
network_interface_ids = [" ${ azurerm_network_interface . pc1_nic . id } " ]
414
273
vm_size = var. workstations . vm_size
415
274
tags = var. tags
@@ -456,7 +315,7 @@ resource "azurerm_virtual_machine" "pc1" {
456
315
resource "azurerm_virtual_machine_extension" "utils_pc1" {
457
316
name = " utils_pc1"
458
317
location = var. location
459
- resource_group_name = azurerm_resource_group . rg . name
318
+ resource_group_name = " ${ var . prefix } "
460
319
virtual_machine_name = azurerm_virtual_machine. pc1 . name
461
320
publisher = " Microsoft.Compute"
462
321
type = " CustomScriptExtension"
0 commit comments