mirror of
https://github.com/ghndrx/prowler.git
synced 2026-02-11 07:15:15 +00:00
fix(iam-dynamodb): Handle errors (#2680)
This commit is contained in:
@@ -65,18 +65,29 @@ class DynamoDB(AWSService):
|
||||
logger.info("DynamoDB - Describing Continuous Backups...")
|
||||
try:
|
||||
for table in self.tables:
|
||||
regional_client = self.regional_clients[table.region]
|
||||
properties = regional_client.describe_continuous_backups(
|
||||
TableName=table.name
|
||||
)["ContinuousBackupsDescription"]
|
||||
if "PointInTimeRecoveryDescription" in properties:
|
||||
if (
|
||||
properties["PointInTimeRecoveryDescription"][
|
||||
"PointInTimeRecoveryStatus"
|
||||
]
|
||||
== "ENABLED"
|
||||
):
|
||||
table.pitr = True
|
||||
try:
|
||||
regional_client = self.regional_clients[table.region]
|
||||
properties = regional_client.describe_continuous_backups(
|
||||
TableName=table.name
|
||||
)["ContinuousBackupsDescription"]
|
||||
if "PointInTimeRecoveryDescription" in properties:
|
||||
if (
|
||||
properties["PointInTimeRecoveryDescription"][
|
||||
"PointInTimeRecoveryStatus"
|
||||
]
|
||||
== "ENABLED"
|
||||
):
|
||||
table.pitr = True
|
||||
except ClientError as error:
|
||||
if error.response["Error"]["Code"] == "TableNotFoundException":
|
||||
logger.warning(
|
||||
f"{regional_client.region} -- {error.__class__.__name__}[{error.__traceback__.tb_lineno}]: {error}"
|
||||
)
|
||||
else:
|
||||
logger.error(
|
||||
f"{regional_client.region} -- {error.__class__.__name__}[{error.__traceback__.tb_lineno}]: {error}"
|
||||
)
|
||||
continue
|
||||
except Exception as error:
|
||||
logger.error(
|
||||
f"{error.__class__.__name__}:{error.__traceback__.tb_lineno} -- {error}"
|
||||
|
||||
@@ -442,10 +442,21 @@ class IAM(AWSService):
|
||||
logger.info("IAM - List Policies Version...")
|
||||
try:
|
||||
for policy in policies:
|
||||
policy_version = self.client.get_policy_version(
|
||||
PolicyArn=policy.arn, VersionId=policy.version_id
|
||||
)
|
||||
policy.document = policy_version["PolicyVersion"]["Document"]
|
||||
try:
|
||||
policy_version = self.client.get_policy_version(
|
||||
PolicyArn=policy.arn, VersionId=policy.version_id
|
||||
)
|
||||
policy.document = policy_version["PolicyVersion"]["Document"]
|
||||
except ClientError as error:
|
||||
if error.response["Error"]["Code"] == "NoSuchEntity":
|
||||
logger.warning(
|
||||
f"{self.region} -- {error.__class__.__name__}[{error.__traceback__.tb_lineno}]: {error}"
|
||||
)
|
||||
else:
|
||||
logger.error(
|
||||
f"{self.region} -- {error.__class__.__name__}[{error.__traceback__.tb_lineno}]: {error}"
|
||||
)
|
||||
continue
|
||||
except Exception as error:
|
||||
logger.error(
|
||||
f"{self.region} -- {error.__class__.__name__}[{error.__traceback__.tb_lineno}]: {error}"
|
||||
|
||||
Reference in New Issue
Block a user