From ed60958014ff0addcb8ec38a775a1e1173908a2d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20De=20la=20Torre=20Vico?= Date: Wed, 13 Mar 2024 10:31:27 +0000 Subject: [PATCH] chore(azure): Manage new errors in the Defender service (#3534) --- .../services/defender/defender_service.py | 24 ++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/prowler/providers/azure/services/defender/defender_service.py b/prowler/providers/azure/services/defender/defender_service.py index 35701c8e03..6e8b9ebb34 100644 --- a/prowler/providers/azure/services/defender/defender_service.py +++ b/prowler/providers/azure/services/defender/defender_service.py @@ -1,7 +1,11 @@ from datetime import timedelta from typing import Dict -from azure.core.exceptions import HttpResponseError +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceNotFoundError, +) from azure.mgmt.security import SecurityCenter from pydantic import BaseModel @@ -48,6 +52,11 @@ class Defender(AzureService): ) } ) + except ResourceNotFoundError as error: + if "Subscription Not Registered" in error.message: + logger.error( + f"Subscription name: {subscription_name} -- {error.__class__.__name__}[{error.__traceback__.tb_lineno}]: Subscription Not Registered - Please register to Microsoft.Security in order to view your security status" + ) except Exception as error: logger.error( f"Subscription name: {subscription_name} -- {error.__class__.__name__}[{error.__traceback__.tb_lineno}]: {error}" @@ -72,10 +81,14 @@ class Defender(AzureService): ) } ) + except ClientAuthenticationError as error: + if "Subscription Not Registered" in error.message: + logger.error( + f"Subscription name: {subscription_name} -- {error.__class__.__name__}[{error.__traceback__.tb_lineno}]: Subscription Not Registered - Please register to Microsoft.Security in order to view your security status" + ) except Exception as error: - logger.error(f"Subscription name: {subscription_name}") logger.error( - f"{error.__class__.__name__}[{error.__traceback__.tb_lineno}]: {error}" + f"Subscription name: {subscription_name} -- {error.__class__.__name__}[{error.__traceback__.tb_lineno}]: {error}" ) return auto_provisioning @@ -122,6 +135,11 @@ class Defender(AzureService): ) } ) + except ClientAuthenticationError as error: + if "Subscription Not Registered" in error.message: + logger.error( + f"Subscription name: {subscription_name} -- {error.__class__.__name__}[{error.__traceback__.tb_lineno}]: Subscription Not Registered - Please register to Microsoft.Security in order to view your security status" + ) except Exception as error: logger.error( f"Subscription name: {subscription_name} -- {error.__class__.__name__}[{error.__traceback__.tb_lineno}]: {error}"