fix(global services): fixed global services region (#2203)

Co-authored-by: Pepe Fagoaga <pepe@verica.io>
This commit is contained in:
Nacho Rivera
2023-04-14 09:57:33 +02:00
committed by GitHub
parent 0e50766d6e
commit 946c943457
9 changed files with 34 additions and 14 deletions

View File

@@ -1,12 +1,20 @@
from prowler.providers.aws.aws_provider import generate_regional_clients
################## Account ################## Account
class Account: class Account:
def __init__(self, audit_info): def __init__(self, audit_info):
self.service = "account" self.service = "account"
self.session = audit_info.audit_session self.session = audit_info.audit_session
self.audited_account = audit_info.audited_account self.audited_account = audit_info.audited_account
self.region = audit_info.profile_region self.regional_clients = generate_regional_clients(self.service, audit_info)
# If the region is not set in the audit profile,
# we pick the first region from the regional clients list
self.region = (
audit_info.profile_region
if audit_info.profile_region
else list(self.regional_clients.keys())[0]
)
def __get_session__(self): def __get_session__(self):
return self.session return self.session

View File

@@ -10,7 +10,7 @@ class backup_plans_exist(Check):
report.status_extended = "No Backup Plan Exist" report.status_extended = "No Backup Plan Exist"
report.resource_arn = "" report.resource_arn = ""
report.resource_id = "No Backups" report.resource_id = "No Backups"
report.region = backup_client.general_region report.region = backup_client.region
if backup_client.backup_plans: if backup_client.backup_plans:
report.status = "PASS" report.status = "PASS"
report.status_extended = f"At least one backup plan exists: { backup_client.backup_plans[0].name}" report.status_extended = f"At least one backup plan exists: { backup_client.backup_plans[0].name}"

View File

@@ -10,7 +10,7 @@ class backup_reportplans_exist(Check):
report.status_extended = "No Backup Report Plan Exist" report.status_extended = "No Backup Report Plan Exist"
report.resource_arn = "" report.resource_arn = ""
report.resource_id = "No Backups" report.resource_id = "No Backups"
report.region = backup_client.general_region report.region = backup_client.region
if backup_client.backup_report_plans: if backup_client.backup_report_plans:
report.status = "PASS" report.status = "PASS"
report.status_extended = f"At least one backup report plan exists: { backup_client.backup_report_plans[0].name}" report.status_extended = f"At least one backup report plan exists: { backup_client.backup_report_plans[0].name}"

View File

@@ -16,7 +16,13 @@ class Backup:
self.audited_account = audit_info.audited_account self.audited_account = audit_info.audited_account
self.audit_resources = audit_info.audit_resources self.audit_resources = audit_info.audit_resources
self.regional_clients = generate_regional_clients(self.service, audit_info) self.regional_clients = generate_regional_clients(self.service, audit_info)
self.general_region = audit_info.profile_region # If the region is not set in the audit profile,
# we pick the first region from the regional clients list
self.region = (
audit_info.profile_region
if audit_info.profile_region
else list(self.regional_clients.keys())[0]
)
self.backup_vaults = [] self.backup_vaults = []
self.__threading_call__(self.__list_backup_vaults__) self.__threading_call__(self.__list_backup_vaults__)
self.backup_plans = [] self.backup_plans = []

View File

@@ -10,7 +10,7 @@ class backup_vaults_exist(Check):
report.status_extended = "No Backup Vault Exist" report.status_extended = "No Backup Vault Exist"
report.resource_arn = "" report.resource_arn = ""
report.resource_id = "No Backups" report.resource_id = "No Backups"
report.region = backup_client.general_region report.region = backup_client.region
if backup_client.backup_vaults: if backup_client.backup_vaults:
report.status = "PASS" report.status = "PASS"
report.status_extended = f"At least one backup vault exists: { backup_client.backup_vaults[0].name}" report.status_extended = f"At least one backup vault exists: { backup_client.backup_vaults[0].name}"

View File

@@ -17,8 +17,14 @@ class Cloudtrail:
self.audited_account = audit_info.audited_account self.audited_account = audit_info.audited_account
self.audit_resources = audit_info.audit_resources self.audit_resources = audit_info.audit_resources
self.audited_partition = audit_info.audited_partition self.audited_partition = audit_info.audited_partition
self.region = audit_info.profile_region
self.regional_clients = generate_regional_clients(self.service, audit_info) self.regional_clients = generate_regional_clients(self.service, audit_info)
# If the region is not set in the audit profile,
# we pick the first region from the regional clients list
self.region = (
audit_info.profile_region
if audit_info.profile_region
else list(self.regional_clients.keys())[0]
)
self.trails = [] self.trails = []
self.__threading_call__(self.__get_trails__) self.__threading_call__(self.__get_trails__)
self.__get_trail_status__() self.__get_trail_status__()

View File

@@ -9,7 +9,7 @@ AWS_REGION = "eu-west-1"
class Test_backup_plans_exist: class Test_backup_plans_exist:
def test_no_backup_plans(self): def test_no_backup_plans(self):
backup_client = mock.MagicMock backup_client = mock.MagicMock
backup_client.general_region = AWS_REGION backup_client.region = AWS_REGION
backup_client.backup_plans = [] backup_client.backup_plans = []
with mock.patch( with mock.patch(
"prowler.providers.aws.services.backup.backup_service.Backup", "prowler.providers.aws.services.backup.backup_service.Backup",
@@ -32,7 +32,7 @@ class Test_backup_plans_exist:
def test_one_backup_plan(self): def test_one_backup_plan(self):
backup_client = mock.MagicMock backup_client = mock.MagicMock
backup_client.general_region = AWS_REGION backup_client.region = AWS_REGION
backup_client.backup_plans = [ backup_client.backup_plans = [
BackupPlan( BackupPlan(
arn="ARN", arn="ARN",

View File

@@ -9,7 +9,7 @@ AWS_REGION = "eu-west-1"
class Test_backup_reportplans_exist: class Test_backup_reportplans_exist:
def test_no_backup_report_plans(self): def test_no_backup_report_plans(self):
backup_client = mock.MagicMock backup_client = mock.MagicMock
backup_client.general_region = AWS_REGION backup_client.region = AWS_REGION
backup_client.backup_report_plans = [] backup_client.backup_report_plans = []
with mock.patch( with mock.patch(
"prowler.providers.aws.services.backup.backup_service.Backup", "prowler.providers.aws.services.backup.backup_service.Backup",
@@ -32,7 +32,7 @@ class Test_backup_reportplans_exist:
def test_one_backup_report_plan(self): def test_one_backup_report_plan(self):
backup_client = mock.MagicMock backup_client = mock.MagicMock
backup_client.general_region = AWS_REGION backup_client.region = AWS_REGION
backup_client.backup_report_plans = [ backup_client.backup_report_plans = [
BackupReportPlan( BackupReportPlan(
arn="ARN", arn="ARN",

View File

@@ -8,7 +8,7 @@ AWS_REGION = "eu-west-1"
class Test_backup_vaults_exist: class Test_backup_vaults_exist:
def test_no_backup_vaults(self): def test_no_backup_vaults(self):
backup_client = mock.MagicMock backup_client = mock.MagicMock
backup_client.general_region = AWS_REGION backup_client.region = AWS_REGION
backup_client.backup_vaults = [] backup_client.backup_vaults = []
with mock.patch( with mock.patch(
"prowler.providers.aws.services.backup.backup_service.Backup", "prowler.providers.aws.services.backup.backup_service.Backup",
@@ -31,7 +31,7 @@ class Test_backup_vaults_exist:
def test_one_backup_vault(self): def test_one_backup_vault(self):
backup_client = mock.MagicMock backup_client = mock.MagicMock
backup_client.general_region = AWS_REGION backup_client.region = AWS_REGION
backup_client.backup_vaults = [ backup_client.backup_vaults = [
BackupVault( BackupVault(
arn="ARN", arn="ARN",