diff --git a/prowler/lib/check/models.py b/prowler/lib/check/models.py index 44e0078754..6a8c050cbb 100644 --- a/prowler/lib/check/models.py +++ b/prowler/lib/check/models.py @@ -779,7 +779,10 @@ class CheckReportCloudflare(Check_Report): @property def zone_name(self) -> str: - """Zone name.""" + """Zone name - for DNS records use zone_name attribute, for zones use name.""" + zone_name = getattr(self._zone, "zone_name", None) + if zone_name: + return zone_name return getattr(self._zone, "name", "") @property @@ -792,7 +795,10 @@ class CheckReportCloudflare(Check_Report): @property def region(self) -> str: - """Cloudflare is a global service.""" + """Return zone_name as region for zone-scoped resources, otherwise global.""" + zone_name = getattr(self._zone, "zone_name", None) + if zone_name: + return zone_name return "global" diff --git a/tests/providers/cloudflare/services/dns/dns_record_proxied/dns_record_proxied_test.py b/tests/providers/cloudflare/services/dns/dns_record_proxied/dns_record_proxied_test.py index 226d77a718..41a828aa01 100644 --- a/tests/providers/cloudflare/services/dns/dns_record_proxied/dns_record_proxied_test.py +++ b/tests/providers/cloudflare/services/dns/dns_record_proxied/dns_record_proxied_test.py @@ -113,6 +113,9 @@ class Test_dns_record_proxied: assert result[0].resource_name == "www.example.com" assert result[0].status == "PASS" assert "is proxied through Cloudflare" in result[0].status_extended + # DNS records should have zone_name as region + assert result[0].region == ZONE_NAME + assert result[0].zone_name == ZONE_NAME def test_a_record_not_proxied(self): dns_client = mock.MagicMock