0.Core.Foundation/defender.tf (26 lines of code) (raw):
###################################################################################################
# Defender (https://learn.microsoft.com/azure/defender-for-cloud/defender-for-cloud-introduction) #
###################################################################################################
variable defender {
type = object({
storage = object({
malwareScanning = object({
enable = bool
maxPerMonthGB = number
})
sensitiveDataDiscovery = object({
enable = bool
})
})
})
}
resource azurerm_security_center_workspace studio {
workspace_id = azurerm_log_analytics_workspace.studio.id
scope = "/subscriptions/${data.azurerm_subscription.current.subscription_id}"
}
resource azurerm_security_center_storage_defender studio {
storage_account_id = azurerm_storage_account.studio.id
malware_scanning_on_upload_enabled = var.defender.storage.malwareScanning.enable
malware_scanning_on_upload_cap_gb_per_month = var.defender.storage.malwareScanning.maxPerMonthGB
sensitive_data_discovery_enabled = var.defender.storage.sensitiveDataDiscovery.enable
}
output defender {
value = var.defender
}