diff --git a/prowler/providers/azure/services/policy/policy_ensure_asc_enforcement_enabled/policy_ensure_asc_enforcement_enabled.py b/prowler/providers/azure/services/policy/policy_ensure_asc_enforcement_enabled/policy_ensure_asc_enforcement_enabled.py index 92295f0a00..adde078173 100644 --- a/prowler/providers/azure/services/policy/policy_ensure_asc_enforcement_enabled/policy_ensure_asc_enforcement_enabled.py +++ b/prowler/providers/azure/services/policy/policy_ensure_asc_enforcement_enabled/policy_ensure_asc_enforcement_enabled.py @@ -8,13 +8,13 @@ class policy_ensure_asc_enforcement_enabled(Check): for subscription_name, policies in policy_client.policy_assigments.items(): if "SecurityCenterBuiltIn" in policies: - report = Check_Report_Azure(self.metadata()) - report.status = "PASS" + report = Check_Report_Azure( + metadata=self.metadata(), + resource_metadata=policies["SecurityCenterBuiltIn"], + ) report.subscription = subscription_name - report.resource_name = "SecurityCenterBuiltIn" - report.resource_id = policies["SecurityCenterBuiltIn"].id + report.status = "PASS" report.status_extended = f"Policy assigment '{policies['SecurityCenterBuiltIn'].id}' is configured with enforcement mode '{policies['SecurityCenterBuiltIn'].enforcement_mode}'." - if policies["SecurityCenterBuiltIn"].enforcement_mode != "Default": report.status = "FAIL" report.status_extended = f"Policy assigment '{policies['SecurityCenterBuiltIn'].id}' is not configured with enforcement mode Default." diff --git a/prowler/providers/azure/services/policy/policy_service.py b/prowler/providers/azure/services/policy/policy_service.py index 96fd2f1258..c7950f6d17 100644 --- a/prowler/providers/azure/services/policy/policy_service.py +++ b/prowler/providers/azure/services/policy/policy_service.py @@ -7,7 +7,6 @@ from prowler.providers.azure.azure_provider import AzureProvider from prowler.providers.azure.lib.service.service import AzureService -########################## Policy class Policy(AzureService): def __init__(self, provider: AzureProvider): super().__init__(PolicyClient, provider) @@ -27,6 +26,7 @@ class Policy(AzureService): { policy_assigment.name: PolicyAssigment( id=policy_assigment.id, + name=policy_assigment.name, enforcement_mode=policy_assigment.enforcement_mode, ) } @@ -42,4 +42,5 @@ class Policy(AzureService): @dataclass class PolicyAssigment: id: str + name: str enforcement_mode: str diff --git a/tests/providers/azure/services/policy/policy_ensure_asc_enforcement_enabled/policy_ensure_asc_enforcement_enabled_test.py b/tests/providers/azure/services/policy/policy_ensure_asc_enforcement_enabled/policy_ensure_asc_enforcement_enabled_test.py index c81feeed8a..f61a25b7d8 100644 --- a/tests/providers/azure/services/policy/policy_ensure_asc_enforcement_enabled/policy_ensure_asc_enforcement_enabled_test.py +++ b/tests/providers/azure/services/policy/policy_ensure_asc_enforcement_enabled/policy_ensure_asc_enforcement_enabled_test.py @@ -13,12 +13,15 @@ class Test_policy_ensure_asc_enforcement_enabled: policy_client = mock.MagicMock policy_client.policy_assigments = {} - with mock.patch( - "prowler.providers.common.provider.Provider.get_global_provider", - return_value=set_mocked_azure_provider(), - ), mock.patch( - "prowler.providers.azure.services.policy.policy_ensure_asc_enforcement_enabled.policy_ensure_asc_enforcement_enabled.policy_client", - new=policy_client, + with ( + mock.patch( + "prowler.providers.common.provider.Provider.get_global_provider", + return_value=set_mocked_azure_provider(), + ), + mock.patch( + "prowler.providers.azure.services.policy.policy_ensure_asc_enforcement_enabled.policy_ensure_asc_enforcement_enabled.policy_client", + new=policy_client, + ), ): from prowler.providers.azure.services.policy.policy_ensure_asc_enforcement_enabled.policy_ensure_asc_enforcement_enabled import ( policy_ensure_asc_enforcement_enabled, @@ -32,12 +35,15 @@ class Test_policy_ensure_asc_enforcement_enabled: policy_client = mock.MagicMock policy_client.policy_assigments = {AZURE_SUBSCRIPTION_ID: {}} - with mock.patch( - "prowler.providers.common.provider.Provider.get_global_provider", - return_value=set_mocked_azure_provider(), - ), mock.patch( - "prowler.providers.azure.services.policy.policy_ensure_asc_enforcement_enabled.policy_ensure_asc_enforcement_enabled.policy_client", - new=policy_client, + with ( + mock.patch( + "prowler.providers.common.provider.Provider.get_global_provider", + return_value=set_mocked_azure_provider(), + ), + mock.patch( + "prowler.providers.azure.services.policy.policy_ensure_asc_enforcement_enabled.policy_ensure_asc_enforcement_enabled.policy_client", + new=policy_client, + ), ): from prowler.providers.azure.services.policy.policy_ensure_asc_enforcement_enabled.policy_ensure_asc_enforcement_enabled import ( policy_ensure_asc_enforcement_enabled, @@ -52,16 +58,21 @@ class Test_policy_ensure_asc_enforcement_enabled: resource_id = uuid4() policy_client.policy_assigments = { AZURE_SUBSCRIPTION_ID: { - "policy-1": PolicyAssigment(id=resource_id, enforcement_mode="Default") + "policy-1": PolicyAssigment( + id=resource_id, name="policy-1", enforcement_mode="Default" + ) } } - with mock.patch( - "prowler.providers.common.provider.Provider.get_global_provider", - return_value=set_mocked_azure_provider(), - ), mock.patch( - "prowler.providers.azure.services.policy.policy_ensure_asc_enforcement_enabled.policy_ensure_asc_enforcement_enabled.policy_client", - new=policy_client, + with ( + mock.patch( + "prowler.providers.common.provider.Provider.get_global_provider", + return_value=set_mocked_azure_provider(), + ), + mock.patch( + "prowler.providers.azure.services.policy.policy_ensure_asc_enforcement_enabled.policy_ensure_asc_enforcement_enabled.policy_client", + new=policy_client, + ), ): from prowler.providers.azure.services.policy.policy_ensure_asc_enforcement_enabled.policy_ensure_asc_enforcement_enabled import ( policy_ensure_asc_enforcement_enabled, @@ -73,21 +84,26 @@ class Test_policy_ensure_asc_enforcement_enabled: def test_policy_subscription_asc_default(self): policy_client = mock.MagicMock - resource_id = uuid4() + resource_id = str(uuid4()) policy_client.policy_assigments = { AZURE_SUBSCRIPTION_ID: { "SecurityCenterBuiltIn": PolicyAssigment( - id=resource_id, enforcement_mode="Default" + id=resource_id, + name="SecurityCenterBuiltIn", + enforcement_mode="Default", ) } } - with mock.patch( - "prowler.providers.common.provider.Provider.get_global_provider", - return_value=set_mocked_azure_provider(), - ), mock.patch( - "prowler.providers.azure.services.policy.policy_ensure_asc_enforcement_enabled.policy_ensure_asc_enforcement_enabled.policy_client", - new=policy_client, + with ( + mock.patch( + "prowler.providers.common.provider.Provider.get_global_provider", + return_value=set_mocked_azure_provider(), + ), + mock.patch( + "prowler.providers.azure.services.policy.policy_ensure_asc_enforcement_enabled.policy_ensure_asc_enforcement_enabled.policy_client", + new=policy_client, + ), ): from prowler.providers.azure.services.policy.policy_ensure_asc_enforcement_enabled.policy_ensure_asc_enforcement_enabled import ( policy_ensure_asc_enforcement_enabled, @@ -107,22 +123,26 @@ class Test_policy_ensure_asc_enforcement_enabled: def test_policy_subscription_asc_not_default(self): policy_client = mock.MagicMock - resource_id = uuid4() + resource_id = str(uuid4()) policy_client.policy_assigments = { AZURE_SUBSCRIPTION_ID: { "SecurityCenterBuiltIn": PolicyAssigment( id=resource_id, + name="SecurityCenterBuiltIn", enforcement_mode="DoNotEnforce", ) } } - with mock.patch( - "prowler.providers.common.provider.Provider.get_global_provider", - return_value=set_mocked_azure_provider(), - ), mock.patch( - "prowler.providers.azure.services.policy.policy_ensure_asc_enforcement_enabled.policy_ensure_asc_enforcement_enabled.policy_client", - new=policy_client, + with ( + mock.patch( + "prowler.providers.common.provider.Provider.get_global_provider", + return_value=set_mocked_azure_provider(), + ), + mock.patch( + "prowler.providers.azure.services.policy.policy_ensure_asc_enforcement_enabled.policy_ensure_asc_enforcement_enabled.policy_client", + new=policy_client, + ), ): from prowler.providers.azure.services.policy.policy_ensure_asc_enforcement_enabled.policy_ensure_asc_enforcement_enabled import ( policy_ensure_asc_enforcement_enabled, diff --git a/tests/providers/azure/services/policy/policy_service_test.py b/tests/providers/azure/services/policy/policy_service_test.py index 1de62fd369..381ab82466 100644 --- a/tests/providers/azure/services/policy/policy_service_test.py +++ b/tests/providers/azure/services/policy/policy_service_test.py @@ -13,7 +13,9 @@ from tests.providers.azure.azure_fixtures import ( def mock_policy_assigments(_): return { AZURE_SUBSCRIPTION_ID: { - "policy-1": PolicyAssigment(id="id-1", enforcement_mode="Default") + "policy-1": PolicyAssigment( + id="id-1", name="policy-1", enforcement_mode="Default" + ) } }