From 2df02acbd8dbfed334594f1537bb10db3953ec49 Mon Sep 17 00:00:00 2001 From: Nacho Rivera Date: Mon, 27 Mar 2023 17:13:11 +0200 Subject: [PATCH] feat(defender service): retrieving key dicts with get (#2129) --- ..._ensure_defender_for_app_services_is_on.py | 21 +++++++------ .../defender_ensure_defender_for_arm_is_on.py | 21 +++++++------ ..._defender_for_azure_sql_databases_is_on.py | 21 +++++++------ ...er_ensure_defender_for_containers_is_on.py | 21 +++++++------ ...nder_ensure_defender_for_cosmosdb_is_on.py | 21 +++++++------ ...der_ensure_defender_for_databases_is_on.py | 31 ++++++++++++------- .../defender_ensure_defender_for_dns_is_on.py | 21 +++++++------ ...nder_ensure_defender_for_keyvault_is_on.py | 21 +++++++------ ...ender_for_os_relational_databases_is_on.py | 23 ++++++++------ ...fender_ensure_defender_for_server_is_on.py | 19 ++++++------ ...r_ensure_defender_for_sql_servers_is_on.py | 21 +++++++------ ...ender_ensure_defender_for_storage_is_on.py | 21 +++++++------ 12 files changed, 141 insertions(+), 121 deletions(-) diff --git a/prowler/providers/azure/services/defender/defender_ensure_defender_for_app_services_is_on/defender_ensure_defender_for_app_services_is_on.py b/prowler/providers/azure/services/defender/defender_ensure_defender_for_app_services_is_on/defender_ensure_defender_for_app_services_is_on.py index f6e89f5c68..b610a45f2d 100644 --- a/prowler/providers/azure/services/defender/defender_ensure_defender_for_app_services_is_on/defender_ensure_defender_for_app_services_is_on.py +++ b/prowler/providers/azure/services/defender/defender_ensure_defender_for_app_services_is_on/defender_ensure_defender_for_app_services_is_on.py @@ -6,15 +6,16 @@ class defender_ensure_defender_for_app_services_is_on(Check): def execute(self) -> Check_Report_Azure: findings = [] for subscription, pricings in defender_client.pricings.items(): - report = Check_Report_Azure(self.metadata()) - report.status = "PASS" - report.subscription = subscription - report.resource_name = "Defender plan App Services" - report.resource_id = pricings["AppServices"].resource_id - report.status_extended = f"Defender plan Defender for App Services from subscription {subscription} is set to ON (pricing tier standard)" - if pricings["AppServices"].pricing_tier != "Standard": - report.status = "FAIL" - report.status_extended = f"Defender plan Defender for App Services from subscription {subscription} is set to OFF (pricing tier not standard)" + if "AppServices" in pricings: + report = Check_Report_Azure(self.metadata()) + report.status = "PASS" + report.subscription = subscription + report.resource_name = "Defender plan App Services" + report.resource_id = pricings["AppServices"].resource_id + report.status_extended = f"Defender plan Defender for App Services from subscription {subscription} is set to ON (pricing tier standard)" + if pricings["AppServices"].pricing_tier != "Standard": + report.status = "FAIL" + report.status_extended = f"Defender plan Defender for App Services from subscription {subscription} is set to OFF (pricing tier not standard)" - findings.append(report) + findings.append(report) return findings diff --git a/prowler/providers/azure/services/defender/defender_ensure_defender_for_arm_is_on/defender_ensure_defender_for_arm_is_on.py b/prowler/providers/azure/services/defender/defender_ensure_defender_for_arm_is_on/defender_ensure_defender_for_arm_is_on.py index b3bdf88ce3..df3fd50888 100644 --- a/prowler/providers/azure/services/defender/defender_ensure_defender_for_arm_is_on/defender_ensure_defender_for_arm_is_on.py +++ b/prowler/providers/azure/services/defender/defender_ensure_defender_for_arm_is_on/defender_ensure_defender_for_arm_is_on.py @@ -6,15 +6,16 @@ class defender_ensure_defender_for_arm_is_on(Check): def execute(self) -> Check_Report_Azure: findings = [] for subscription, pricings in defender_client.pricings.items(): - report = Check_Report_Azure(self.metadata()) - report.status = "PASS" - report.subscription = subscription - report.resource_id = pricings["Arm"].resource_id - report.resource_name = "Defender planARM" - report.status_extended = f"Defender plan Defender for ARM from subscription {subscription} is set to ON (pricing tier standard)" - if pricings["Arm"].pricing_tier != "Standard": - report.status = "FAIL" - report.status_extended = f"Defender plan Defender for ARM from subscription {subscription} is set to OFF (pricing tier not standard)" + if "Arm" in pricings: + report = Check_Report_Azure(self.metadata()) + report.status = "PASS" + report.subscription = subscription + report.resource_id = pricings["Arm"].resource_id + report.resource_name = "Defender planARM" + report.status_extended = f"Defender plan Defender for ARM from subscription {subscription} is set to ON (pricing tier standard)" + if pricings["Arm"].pricing_tier != "Standard": + report.status = "FAIL" + report.status_extended = f"Defender plan Defender for ARM from subscription {subscription} is set to OFF (pricing tier not standard)" - findings.append(report) + findings.append(report) return findings diff --git a/prowler/providers/azure/services/defender/defender_ensure_defender_for_azure_sql_databases_is_on/defender_ensure_defender_for_azure_sql_databases_is_on.py b/prowler/providers/azure/services/defender/defender_ensure_defender_for_azure_sql_databases_is_on/defender_ensure_defender_for_azure_sql_databases_is_on.py index 5e7a9a47d5..6b88f73a2d 100644 --- a/prowler/providers/azure/services/defender/defender_ensure_defender_for_azure_sql_databases_is_on/defender_ensure_defender_for_azure_sql_databases_is_on.py +++ b/prowler/providers/azure/services/defender/defender_ensure_defender_for_azure_sql_databases_is_on/defender_ensure_defender_for_azure_sql_databases_is_on.py @@ -6,15 +6,16 @@ class defender_ensure_defender_for_azure_sql_databases_is_on(Check): def execute(self) -> Check_Report_Azure: findings = [] for subscription, pricings in defender_client.pricings.items(): - report = Check_Report_Azure(self.metadata()) - report.status = "PASS" - report.subscription = subscription - report.resource_id = pricings["SqlServers"].resource_id - report.resource_name = "Defender plan Azure sql db servers" - report.status_extended = f"Defender plan Defender for Azure sql db servers from subscription {subscription} is set to ON (pricing tier standard)" - if pricings["SqlServers"].pricing_tier != "Standard": - report.status = "FAIL" - report.status_extended = f"Defender plan Defender for Azure sql db servers from subscription {subscription} is set to OFF (pricing tier not standard)" + if "SqlServers" in pricings: + report = Check_Report_Azure(self.metadata()) + report.status = "PASS" + report.subscription = subscription + report.resource_id = pricings["SqlServers"].resource_id + report.resource_name = "Defender plan Azure sql db servers" + report.status_extended = f"Defender plan Defender for Azure sql db servers from subscription {subscription} is set to ON (pricing tier standard)" + if pricings["SqlServers"].pricing_tier != "Standard": + report.status = "FAIL" + report.status_extended = f"Defender plan Defender for Azure sql db servers from subscription {subscription} is set to OFF (pricing tier not standard)" - findings.append(report) + findings.append(report) return findings diff --git a/prowler/providers/azure/services/defender/defender_ensure_defender_for_containers_is_on/defender_ensure_defender_for_containers_is_on.py b/prowler/providers/azure/services/defender/defender_ensure_defender_for_containers_is_on/defender_ensure_defender_for_containers_is_on.py index 3a87c2f008..64758f7b26 100644 --- a/prowler/providers/azure/services/defender/defender_ensure_defender_for_containers_is_on/defender_ensure_defender_for_containers_is_on.py +++ b/prowler/providers/azure/services/defender/defender_ensure_defender_for_containers_is_on/defender_ensure_defender_for_containers_is_on.py @@ -6,15 +6,16 @@ class defender_ensure_defender_for_containers_is_on(Check): def execute(self) -> Check_Report_Azure: findings = [] for subscription, pricings in defender_client.pricings.items(): - report = Check_Report_Azure(self.metadata()) - report.status = "PASS" - report.subscription = subscription - report.resource_id = pricings["Containers"].resource_id - report.resource_name = "Defender plan Container Registries" - report.status_extended = f"Defender plan Defender for Containers from subscription {subscription} is set to ON (pricing tier standard)" - if pricings["Containers"].pricing_tier != "Standard": - report.status = "FAIL" - report.status_extended = f"Defender plan Defender for Containers from subscription {subscription} is set to OFF (pricing tier not standard)" + if "Containers" in pricings: + report = Check_Report_Azure(self.metadata()) + report.status = "PASS" + report.subscription = subscription + report.resource_id = pricings["Containers"].resource_id + report.resource_name = "Defender plan Container Registries" + report.status_extended = f"Defender plan Defender for Containers from subscription {subscription} is set to ON (pricing tier standard)" + if pricings["Containers"].pricing_tier != "Standard": + report.status = "FAIL" + report.status_extended = f"Defender plan Defender for Containers from subscription {subscription} is set to OFF (pricing tier not standard)" - findings.append(report) + findings.append(report) return findings diff --git a/prowler/providers/azure/services/defender/defender_ensure_defender_for_cosmosdb_is_on/defender_ensure_defender_for_cosmosdb_is_on.py b/prowler/providers/azure/services/defender/defender_ensure_defender_for_cosmosdb_is_on/defender_ensure_defender_for_cosmosdb_is_on.py index 5461fa58e4..cc3f3587c1 100644 --- a/prowler/providers/azure/services/defender/defender_ensure_defender_for_cosmosdb_is_on/defender_ensure_defender_for_cosmosdb_is_on.py +++ b/prowler/providers/azure/services/defender/defender_ensure_defender_for_cosmosdb_is_on/defender_ensure_defender_for_cosmosdb_is_on.py @@ -6,15 +6,16 @@ class defender_ensure_defender_for_cosmosdb_is_on(Check): def execute(self) -> Check_Report_Azure: findings = [] for subscription, pricings in defender_client.pricings.items(): - report = Check_Report_Azure(self.metadata()) - report.status = "PASS" - report.subscription = subscription - report.resource_id = pricings["CosmosDbs"].resource_id - report.resource_name = "Defender plan Cosmos DB" - report.status_extended = f"Defender plan Defender for Cosmos DB from subscription {subscription} is set to ON (pricing tier standard)" - if pricings["CosmosDbs"].pricing_tier != "Standard": - report.status = "FAIL" - report.status_extended = f"Defender plan Defender for Cosmos DB from subscription {subscription} is set to OFF (pricing tier not standard)" + if "CosmosDbs" in pricings: + report = Check_Report_Azure(self.metadata()) + report.status = "PASS" + report.subscription = subscription + report.resource_id = pricings["CosmosDbs"].resource_id + report.resource_name = "Defender plan Cosmos DB" + report.status_extended = f"Defender plan Defender for Cosmos DB from subscription {subscription} is set to ON (pricing tier standard)" + if pricings["CosmosDbs"].pricing_tier != "Standard": + report.status = "FAIL" + report.status_extended = f"Defender plan Defender for Cosmos DB from subscription {subscription} is set to OFF (pricing tier not standard)" - findings.append(report) + findings.append(report) return findings diff --git a/prowler/providers/azure/services/defender/defender_ensure_defender_for_databases_is_on/defender_ensure_defender_for_databases_is_on.py b/prowler/providers/azure/services/defender/defender_ensure_defender_for_databases_is_on/defender_ensure_defender_for_databases_is_on.py index 697823ad5f..f495f3a502 100644 --- a/prowler/providers/azure/services/defender/defender_ensure_defender_for_databases_is_on/defender_ensure_defender_for_databases_is_on.py +++ b/prowler/providers/azure/services/defender/defender_ensure_defender_for_databases_is_on/defender_ensure_defender_for_databases_is_on.py @@ -6,19 +6,26 @@ class defender_ensure_defender_for_databases_is_on(Check): def execute(self) -> Check_Report_Azure: findings = [] for subscription, pricings in defender_client.pricings.items(): - report = Check_Report_Azure(self.metadata()) - report.resource_name = "Defender plan Databases" - report.subscription = subscription - report.resource_id = pricings["SqlServers"].resource_id - report.status_extended = f"Defender plan Defender for Databases from subscription {subscription} is set to ON (pricing tier standard)" if ( - pricings["SqlServers"].pricing_tier != "Standard" - or pricings["SqlServerVirtualMachines"].pricing_tier != "Standard" - or pricings["OpenSourceRelationalDatabases"].pricing_tier != "Standard" - or pricings["CosmosDbs"].pricing_tier != "Standard" + "SqlServers" in pricings + and "SqlServerVirtualMachines" in pricings + and "OpenSourceRelationalDatabases" in pricings + and "CosmosDbs" in pricings ): - report.status = "FAIL" - report.status_extended = f"Defender plan Defender for Databases from subscription {subscription} is set to OFF (pricing tier not standard)" + report = Check_Report_Azure(self.metadata()) + report.resource_name = "Defender plan Databases" + report.subscription = subscription + report.resource_id = pricings["SqlServers"].resource_id + report.status_extended = f"Defender plan Defender for Databases from subscription {subscription} is set to ON (pricing tier standard)" + if ( + pricings["SqlServers"].pricing_tier != "Standard" + or pricings["SqlServerVirtualMachines"].pricing_tier != "Standard" + or pricings["OpenSourceRelationalDatabases"].pricing_tier + != "Standard" + or pricings["CosmosDbs"].pricing_tier != "Standard" + ): + report.status = "FAIL" + report.status_extended = f"Defender plan Defender for Databases from subscription {subscription} is set to OFF (pricing tier not standard)" - findings.append(report) + findings.append(report) return findings diff --git a/prowler/providers/azure/services/defender/defender_ensure_defender_for_dns_is_on/defender_ensure_defender_for_dns_is_on.py b/prowler/providers/azure/services/defender/defender_ensure_defender_for_dns_is_on/defender_ensure_defender_for_dns_is_on.py index 377c7428b5..0b935df1ad 100644 --- a/prowler/providers/azure/services/defender/defender_ensure_defender_for_dns_is_on/defender_ensure_defender_for_dns_is_on.py +++ b/prowler/providers/azure/services/defender/defender_ensure_defender_for_dns_is_on/defender_ensure_defender_for_dns_is_on.py @@ -6,15 +6,16 @@ class defender_ensure_defender_for_dns_is_on(Check): def execute(self) -> Check_Report_Azure: findings = [] for subscription, pricings in defender_client.pricings.items(): - report = Check_Report_Azure(self.metadata()) - report.status = "PASS" - report.subscription = subscription - report.resource_name = "Defender plan DNS" - report.resource_id = pricings["Dns"].resource_id - report.status_extended = f"Defender plan Defender for DNS from subscription {subscription} is set to ON (pricing tier standard)" - if pricings["Dns"].pricing_tier != "Standard": - report.status = "FAIL" - report.status_extended = f"Defender plan Defender for DNS from subscription {subscription} is set to OFF (pricing tier not standard)" + if "Dns" in pricings: + report = Check_Report_Azure(self.metadata()) + report.status = "PASS" + report.subscription = subscription + report.resource_name = "Defender plan DNS" + report.resource_id = pricings["Dns"].resource_id + report.status_extended = f"Defender plan Defender for DNS from subscription {subscription} is set to ON (pricing tier standard)" + if pricings["Dns"].pricing_tier != "Standard": + report.status = "FAIL" + report.status_extended = f"Defender plan Defender for DNS from subscription {subscription} is set to OFF (pricing tier not standard)" - findings.append(report) + findings.append(report) return findings diff --git a/prowler/providers/azure/services/defender/defender_ensure_defender_for_keyvault_is_on/defender_ensure_defender_for_keyvault_is_on.py b/prowler/providers/azure/services/defender/defender_ensure_defender_for_keyvault_is_on/defender_ensure_defender_for_keyvault_is_on.py index 1f1290bd02..6fda3f2e45 100644 --- a/prowler/providers/azure/services/defender/defender_ensure_defender_for_keyvault_is_on/defender_ensure_defender_for_keyvault_is_on.py +++ b/prowler/providers/azure/services/defender/defender_ensure_defender_for_keyvault_is_on/defender_ensure_defender_for_keyvault_is_on.py @@ -6,15 +6,16 @@ class defender_ensure_defender_for_keyvault_is_on(Check): def execute(self) -> Check_Report_Azure: findings = [] for subscription, pricings in defender_client.pricings.items(): - report = Check_Report_Azure(self.metadata()) - report.status = "PASS" - report.subscription = subscription - report.resource_name = "Defender plan KeyVaults" - report.resource_id = pricings["KeyVaults"].resource_id - report.status_extended = f"Defender plan Defender for KeyVaults from subscription {subscription} is set to ON (pricing tier standard)" - if pricings["KeyVaults"].pricing_tier != "Standard": - report.status = "FAIL" - report.status_extended = f"Defender plan Defender for KeyVaults subscription from {subscription} is set to OFF (pricing tier not standard)" + if "KeyVaults" in pricings: + report = Check_Report_Azure(self.metadata()) + report.status = "PASS" + report.subscription = subscription + report.resource_name = "Defender plan KeyVaults" + report.resource_id = pricings["KeyVaults"].resource_id + report.status_extended = f"Defender plan Defender for KeyVaults from subscription {subscription} is set to ON (pricing tier standard)" + if pricings["KeyVaults"].pricing_tier != "Standard": + report.status = "FAIL" + report.status_extended = f"Defender plan Defender for KeyVaults subscription from {subscription} is set to OFF (pricing tier not standard)" - findings.append(report) + findings.append(report) return findings diff --git a/prowler/providers/azure/services/defender/defender_ensure_defender_for_os_relational_databases_is_on/defender_ensure_defender_for_os_relational_databases_is_on.py b/prowler/providers/azure/services/defender/defender_ensure_defender_for_os_relational_databases_is_on/defender_ensure_defender_for_os_relational_databases_is_on.py index 06eb713e43..9dd6e799bf 100644 --- a/prowler/providers/azure/services/defender/defender_ensure_defender_for_os_relational_databases_is_on/defender_ensure_defender_for_os_relational_databases_is_on.py +++ b/prowler/providers/azure/services/defender/defender_ensure_defender_for_os_relational_databases_is_on/defender_ensure_defender_for_os_relational_databases_is_on.py @@ -6,15 +6,18 @@ class defender_ensure_defender_for_os_relational_databases_is_on(Check): def execute(self) -> Check_Report_Azure: findings = [] for subscription, pricings in defender_client.pricings.items(): - report = Check_Report_Azure(self.metadata()) - report.status = "PASS" - report.subscription = subscription - report.resource_name = "Defender plan Open-Source Relational Databases" - report.resource_id = pricings["OpenSourceRelationalDatabases"].resource_id - report.status_extended = f"Defender plan Defender for Open-Source Relational Databases from subscription {subscription} is set to ON (pricing tier standard)" - if pricings["OpenSourceRelationalDatabases"].pricing_tier != "Standard": - report.status = "FAIL" - report.status_extended = f"Defender plan Defender for Open-Source Relational Databases from subscription {subscription} is set to OFF (pricing tier not standard)" + if "OpenSourceRelationalDatabases" in pricings: + report = Check_Report_Azure(self.metadata()) + report.status = "PASS" + report.subscription = subscription + report.resource_name = "Defender plan Open-Source Relational Databases" + report.resource_id = pricings[ + "OpenSourceRelationalDatabases" + ].resource_id + report.status_extended = f"Defender plan Defender for Open-Source Relational Databases from subscription {subscription} is set to ON (pricing tier standard)" + if pricings["OpenSourceRelationalDatabases"].pricing_tier != "Standard": + report.status = "FAIL" + report.status_extended = f"Defender plan Defender for Open-Source Relational Databases from subscription {subscription} is set to OFF (pricing tier not standard)" - findings.append(report) + findings.append(report) return findings diff --git a/prowler/providers/azure/services/defender/defender_ensure_defender_for_server_is_on/defender_ensure_defender_for_server_is_on.py b/prowler/providers/azure/services/defender/defender_ensure_defender_for_server_is_on/defender_ensure_defender_for_server_is_on.py index edde6e02f2..2a9fc1c806 100644 --- a/prowler/providers/azure/services/defender/defender_ensure_defender_for_server_is_on/defender_ensure_defender_for_server_is_on.py +++ b/prowler/providers/azure/services/defender/defender_ensure_defender_for_server_is_on/defender_ensure_defender_for_server_is_on.py @@ -6,15 +6,16 @@ class defender_ensure_defender_for_server_is_on(Check): def execute(self) -> Check_Report_Azure: findings = [] for subscription, pricings in defender_client.pricings.items(): - report = Check_Report_Azure(self.metadata()) - report.status = "PASS" - report.subscription = subscription - report.resource_name = "Defender plan Servers" - report.resource_id = pricings["VirtualMachines"].resource_id - report.status_extended = f"Defender plan Defender for Servers from subscription {subscription} is set to ON (pricing tier standard)" - if pricings["VirtualMachines"].pricing_tier != "Standard": - report.status = "FAIL" - report.status_extended = f"Defender plan Defender for Servers from subscription {subscription} is set to OFF (pricing tier not standard)" + if "VirtualMachines" in pricings: + report = Check_Report_Azure(self.metadata()) + report.status = "PASS" + report.subscription = subscription + report.resource_name = "Defender plan Servers" + report.resource_id = pricings["VirtualMachines"].resource_id + report.status_extended = f"Defender plan Defender for Servers from subscription {subscription} is set to ON (pricing tier standard)" + if pricings["VirtualMachines"].pricing_tier != "Standard": + report.status = "FAIL" + report.status_extended = f"Defender plan Defender for Servers from subscription {subscription} is set to OFF (pricing tier not standard)" findings.append(report) return findings diff --git a/prowler/providers/azure/services/defender/defender_ensure_defender_for_sql_servers_is_on/defender_ensure_defender_for_sql_servers_is_on.py b/prowler/providers/azure/services/defender/defender_ensure_defender_for_sql_servers_is_on/defender_ensure_defender_for_sql_servers_is_on.py index 713909ff24..f08cfd8c28 100644 --- a/prowler/providers/azure/services/defender/defender_ensure_defender_for_sql_servers_is_on/defender_ensure_defender_for_sql_servers_is_on.py +++ b/prowler/providers/azure/services/defender/defender_ensure_defender_for_sql_servers_is_on/defender_ensure_defender_for_sql_servers_is_on.py @@ -6,15 +6,16 @@ class defender_ensure_defender_for_sql_servers_is_on(Check): def execute(self) -> Check_Report_Azure: findings = [] for subscription, pricings in defender_client.pricings.items(): - report = Check_Report_Azure(self.metadata()) - report.status = "PASS" - report.subscription = subscription - report.resource_name = "Defender plan SQL Server VMs" - report.resource_id = pricings["SqlServerVirtualMachines"].resource_id - report.status_extended = f"Defender plan Defender for SQL Server VMs from subscription {subscription} is set to ON (pricing tier standard)" - if pricings["SqlServerVirtualMachines"].pricing_tier != "Standard": - report.status = "FAIL" - report.status_extended = f"Defender plan Defender for SQL Server VMs from subscription {subscription} is set to OFF (pricing tier not standard)" + if "SqlServerVirtualMachines" in pricings: + report = Check_Report_Azure(self.metadata()) + report.status = "PASS" + report.subscription = subscription + report.resource_name = "Defender plan SQL Server VMs" + report.resource_id = pricings["SqlServerVirtualMachines"].resource_id + report.status_extended = f"Defender plan Defender for SQL Server VMs from subscription {subscription} is set to ON (pricing tier standard)" + if pricings["SqlServerVirtualMachines"].pricing_tier != "Standard": + report.status = "FAIL" + report.status_extended = f"Defender plan Defender for SQL Server VMs from subscription {subscription} is set to OFF (pricing tier not standard)" - findings.append(report) + findings.append(report) return findings diff --git a/prowler/providers/azure/services/defender/defender_ensure_defender_for_storage_is_on/defender_ensure_defender_for_storage_is_on.py b/prowler/providers/azure/services/defender/defender_ensure_defender_for_storage_is_on/defender_ensure_defender_for_storage_is_on.py index ebb67e0489..c7f39ca458 100644 --- a/prowler/providers/azure/services/defender/defender_ensure_defender_for_storage_is_on/defender_ensure_defender_for_storage_is_on.py +++ b/prowler/providers/azure/services/defender/defender_ensure_defender_for_storage_is_on/defender_ensure_defender_for_storage_is_on.py @@ -6,15 +6,16 @@ class defender_ensure_defender_for_storage_is_on(Check): def execute(self) -> Check_Report_Azure: findings = [] for subscription, pricings in defender_client.pricings.items(): - report = Check_Report_Azure(self.metadata()) - report.status = "PASS" - report.subscription = subscription - report.resource_name = "Defender plan Storage Accounts" - report.resource_id = pricings["StorageAccounts"].resource_id - report.status_extended = f"Defender plan Defender for Storage Accounts from subscription {subscription} is set to ON (pricing tier standard)" - if pricings["StorageAccounts"].pricing_tier != "Standard": - report.status = "FAIL" - report.status_extended = f"Defender plan Defender for Storage Accounts from subscription {subscription} is set to OFF (pricing tier not standard)" + if "StorageAccounts" in pricings: + report = Check_Report_Azure(self.metadata()) + report.status = "PASS" + report.subscription = subscription + report.resource_name = "Defender plan Storage Accounts" + report.resource_id = pricings["StorageAccounts"].resource_id + report.status_extended = f"Defender plan Defender for Storage Accounts from subscription {subscription} is set to ON (pricing tier standard)" + if pricings["StorageAccounts"].pricing_tier != "Standard": + report.status = "FAIL" + report.status_extended = f"Defender plan Defender for Storage Accounts from subscription {subscription} is set to OFF (pricing tier not standard)" - findings.append(report) + findings.append(report) return findings