From e3a0124b108e9bb60aba499353d577050fab1bbf Mon Sep 17 00:00:00 2001 From: Pepe Fagoaga Date: Thu, 27 Apr 2023 12:05:43 +0200 Subject: [PATCH] fix(opensearch): Handle invalid JSON policy (#2262) --- .../aws/services/opensearch/opensearch_service.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/prowler/providers/aws/services/opensearch/opensearch_service.py b/prowler/providers/aws/services/opensearch/opensearch_service.py index a406bd786d..ba2710fe4e 100644 --- a/prowler/providers/aws/services/opensearch/opensearch_service.py +++ b/prowler/providers/aws/services/opensearch/opensearch_service.py @@ -1,5 +1,5 @@ import threading -from json import loads +from json import JSONDecodeError, loads from typing import Optional from pydantic import BaseModel @@ -79,9 +79,16 @@ class OpenSearchService: ]["Options"][logging_key]["Enabled"], ) ) - domain.access_policy = loads( - describe_domain["DomainConfig"]["AccessPolicies"]["Options"] - ) + try: + domain.access_policy = loads( + describe_domain["DomainConfig"]["AccessPolicies"]["Options"] + ) + except JSONDecodeError as error: + logger.error( + f"{regional_client.region} -- {error.__class__.__name__}[{error.__traceback__.tb_lineno}]: {error}" + ) + continue + except Exception as error: logger.error( f"{regional_client.region} -- {error.__class__.__name__}[{error.__traceback__.tb_lineno}]: {error}"