diff --git a/prowler/CHANGELOG.md b/prowler/CHANGELOG.md index e00a3558f5..13b63a080b 100644 --- a/prowler/CHANGELOG.md +++ b/prowler/CHANGELOG.md @@ -23,6 +23,7 @@ All notable changes to the **Prowler SDK** are documented in this file. - Ensure `is_service_role` only returns `True` for service roles [(#8274)](https://github.com/prowler-cloud/prowler/pull/8274) - Update DynamoDB check metadata to fix broken link [(#8273)](https://github.com/prowler-cloud/prowler/pull/8273) - Show correct count of findings in Dashboard Security Posture page [(#8270)](https://github.com/prowler-cloud/prowler/pull/8270) +- Update `entra_users_mfa_capable` check to use the correct resource name and ID [(#8288)](https://github.com/prowler-cloud/prowler/pull/8288) --- diff --git a/prowler/providers/m365/services/entra/entra_users_mfa_capable/entra_users_mfa_capable.py b/prowler/providers/m365/services/entra/entra_users_mfa_capable/entra_users_mfa_capable.py index 6196f1e9cc..8345c6963e 100644 --- a/prowler/providers/m365/services/entra/entra_users_mfa_capable/entra_users_mfa_capable.py +++ b/prowler/providers/m365/services/entra/entra_users_mfa_capable/entra_users_mfa_capable.py @@ -28,9 +28,9 @@ class entra_users_mfa_capable(Check): for user in entra_client.users.values(): report = CheckReportM365( metadata=self.metadata(), - resource={}, - resource_name="Users", - resource_id="users", + resource=user, + resource_name=user.name, + resource_id=user.id, ) if not user.is_mfa_capable: diff --git a/tests/providers/m365/services/entra/entra_users_mfa_capable/entra_users_mfa_capable_test.py b/tests/providers/m365/services/entra/entra_users_mfa_capable/entra_users_mfa_capable_test.py index 7cfbe5de0d..4415628b2c 100644 --- a/tests/providers/m365/services/entra/entra_users_mfa_capable/entra_users_mfa_capable_test.py +++ b/tests/providers/m365/services/entra/entra_users_mfa_capable/entra_users_mfa_capable_test.py @@ -43,9 +43,9 @@ class Test_entra_users_mfa_capable: assert len(result) == 1 assert result[0].status == "FAIL" assert result[0].status_extended == "User Test User is not MFA capable." - assert result[0].resource == {} - assert result[0].resource_name == "Users" - assert result[0].resource_id == "users" + assert result[0].resource == entra_client.users[user_id] + assert result[0].resource_name == "Test User" + assert result[0].resource_id == user_id def test_user_mfa_capable(self): """User is MFA capable: expected PASS.""" @@ -84,9 +84,9 @@ class Test_entra_users_mfa_capable: assert len(result) == 1 assert result[0].status == "PASS" assert result[0].status_extended == "User Test User is MFA capable." - assert result[0].resource == {} - assert result[0].resource_name == "Users" - assert result[0].resource_id == "users" + assert result[0].resource == entra_client.users[user_id] + assert result[0].resource_name == "Test User" + assert result[0].resource_id == user_id def test_multiple_users(self): """Multiple users with different MFA capabilities: expected mixed results.""" @@ -134,6 +134,12 @@ class Test_entra_users_mfa_capable: # First user (MFA capable) assert result[0].status == "PASS" assert result[0].status_extended == "User Test User 1 is MFA capable." + assert result[0].resource == entra_client.users[user1_id] + assert result[0].resource_name == "Test User 1" + assert result[0].resource_id == user1_id # Second user (not MFA capable) assert result[1].status == "FAIL" assert result[1].status_extended == "User Test User 2 is not MFA capable." + assert result[1].resource == entra_client.users[user2_id] + assert result[1].resource_name == "Test User 2" + assert result[1].resource_id == user2_id