Ejemplo n.º 1
0
    def __init__(self,
                 profile='default',
                 report_dir=None,
                 timestamp=None,
                 services=None,
                 skipped_services=None,
                 result_format='json',
                 **kwargs):
        services = [] if services is None else services
        skipped_services = [] if skipped_services is None else skipped_services

        self.metadata_path = '%s/metadata.json' % os.path.split(
            os.path.abspath(__file__))[0]

        self.sg_map = {}
        self.subnet_map = {}

        self.profile = profile
        self.services_config = AWSServicesConfig

        self.provider_code = 'aws'
        self.provider_name = 'Amazon Web Services'
        self.environment = self.profile
        self.result_format = result_format

        self.credentials = kwargs['credentials']

        self.account_id = get_aws_account_id(self.credentials.session)

        super(AWSProvider, self).__init__(report_dir, timestamp, services,
                                          skipped_services, result_format)
Ejemplo n.º 2
0
 async def _get_and_set_instance_tags(self, instance: {}, region: str):
     client = AWSFacadeUtils.get_client('rds', self.session, region)
     account_id = get_aws_account_id(self.session)
     try:
         instance_tagset = await run_concurrently(lambda: client.list_tags_for_resource(
             ResourceName="arn:aws:rds:"+region+":"+account_id+":db:"+instance['DBInstanceIdentifier']))
         instance['Tags'] = {x['Key']: x['Value'] for x in instance_tagset['TagList']}
     except ClientError as e:
         if e.response['Error']['Code'] != 'NoSuchTagSet':
             print_exception('Failed to get db instance tags for {}: {}'.format(instance['DBInstanceIdentifier'], e))
     except Exception as e:
         print_exception('Failed to get db instance tags for {}: {}'.format(instance['DBInstanceIdentifier'], e))
         instance['Tags'] = {}
Ejemplo n.º 3
0
 def __init__(self, credentials=None):
     super().__init__()
     self.owner_id = get_aws_account_id(credentials.session)
     self.session = credentials.session
     self._instantiate_facades()
Ejemplo n.º 4
0
    def __init__(self, credentials=None):
        super(AWSFacade, self).__init__()
        self.owner_id = get_aws_account_id(credentials)

        self._set_session(credentials)
        self._instantiate_facades()
Ejemplo n.º 5
0
 def test_get_identity(self):
     with mock.patch(
             "ScoutSuite.providers.aws.utils.get_caller_identity",
             return_value={"Arn": "a:b:c:d:e:f:"},
     ):
         assert get_aws_account_id("") == "e"