Skip to content

Commit b2aafd8

Browse files
feat(query): implements "Beta - SQL Database Without Data Encryption" (#7858)
Co-authored-by: Artur Ribeiro <153724638+cx-artur-ribeiro@users.noreply.github.com>
1 parent 11964e1 commit b2aafd8

6 files changed

Lines changed: 86 additions & 0 deletions

File tree

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
{
2+
"id": "0745bb3f-60dc-43b6-90ae-67bb01fd1775",
3+
"queryName": "Beta - SQL Database Without Data Encryption",
4+
"severity": "HIGH",
5+
"category": "Encryption",
6+
"descriptionText": "All 'azurerm_mssql_database' resources should enable data encryption at rest through the 'transparent_data_encryption_enabled' field",
7+
"descriptionUrl": "https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/mssql_database#transparent_data_encryption_enabled-1",
8+
"platform": "Terraform",
9+
"descriptionID": "0745bb3f",
10+
"cloudProvider": "azure",
11+
"cwe": "312",
12+
"riskScore": "6.0",
13+
"experimental": "true"
14+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package Cx
2+
3+
import data.generic.common as common_lib
4+
import data.generic.terraform as tf_lib
5+
6+
CxPolicy[result] {
7+
resource := input.document[i].resource.azurerm_mssql_database[name]
8+
9+
resource.transparent_data_encryption_enabled != true
10+
11+
result := {
12+
"documentId": input.document[i].id,
13+
"resourceType": "azurerm_mssql_database",
14+
"resourceName": tf_lib.get_resource_name(resource, name),
15+
"searchKey": sprintf("azurerm_mssql_database[%s].transparent_data_encryption_enabled", [name]),
16+
"issueType": "IncorrectValue",
17+
"keyExpectedValue": sprintf("'azurerm_mssql_database[%s].transparent_data_encryption_enabled' should be set to 'true'", [name]),
18+
"keyActualValue": sprintf("'azurerm_mssql_database[%s].transparent_data_encryption_enabled' is set to '%s'", [name, resource.transparent_data_encryption_enabled]),
19+
"searchLine": common_lib.build_search_line(["resource", "azurerm_mssql_database", name, "transparent_data_encryption_enabled"], [])
20+
}
21+
}
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
resource "azurerm_mssql_database" "example" {
2+
name = "example-db"
3+
server_id = azurerm_mssql_server.example.id
4+
collation = "SQL_Latin1_General_CP1_CI_AS"
5+
license_type = "LicenseIncluded"
6+
max_size_gb = 4
7+
read_scale = true
8+
sku_name = "S0"
9+
zone_redundant = true
10+
enclave_type = "VBS"
11+
12+
# missing "transparent_data_encryption_enabled" - defaults to true
13+
}
14+
15+
resource "azurerm_mssql_database" "example" {
16+
name = "example-db"
17+
server_id = azurerm_mssql_server.example.id
18+
collation = "SQL_Latin1_General_CP1_CI_AS"
19+
license_type = "LicenseIncluded"
20+
max_size_gb = 4
21+
read_scale = true
22+
sku_name = "S0"
23+
zone_redundant = true
24+
enclave_type = "VBS"
25+
26+
transparent_data_encryption_enabled = true
27+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
resource "azurerm_mssql_database" "example" {
2+
name = "example-db"
3+
server_id = azurerm_mssql_server.example.id
4+
collation = "SQL_Latin1_General_CP1_CI_AS"
5+
license_type = "LicenseIncluded"
6+
max_size_gb = 4
7+
read_scale = true
8+
sku_name = "S0"
9+
zone_redundant = true
10+
enclave_type = "VBS"
11+
12+
transparent_data_encryption_enabled = false
13+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
[
2+
{
3+
"queryName": "Beta - SQL Database Without Data Encryption",
4+
"severity": "HIGH",
5+
"line": 12
6+
}
7+
]

assets/similarityID_transition/terraform_azure.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,10 @@ similarityIDChangeList:
33
queryName: Sensitive Port Is Exposed To Wide Private Network
44
observations: ""
55
change: 5
6+
- queryId: 0745bb3f-60dc-43b6-90ae-67bb01fd1775
7+
queryName: Beta - SQL Database Without Data Encryption
8+
observations: ""
9+
change: 2
610
- queryId: 0536c90c-714e-4184-991e-3fed8d8b7b46
711
queryName: Beta - VM Without Managed Disk
812
observations: ""

0 commit comments

Comments
 (0)