Ejemplo n.º 1
0
    def test_aws_sts_role_try_catch(self, session_mock, client_mock,
                                    assume_role_mock):

        region = self.region_mock
        api = "sts"
        roleArn = self.mock_roleArn

        mock_response = {
            'Credentials': {
                'AccessKeyId': 'mock_access_id',
                'SecretAccessKey': 'mock_access_secret',
                'SessionToken': 'mock_session_token',
            },
            'AssumedRoleUser': {
                'AssumedRoleId': 'mock_id_1122Null',
                'Arn': self.mock_roleArn
            },
            'PackedPolicySize': 123
        }

        self.boto3_mock = Mock()
        session_mock.return_value = "session for boto3 client mocked "

        assume_role_mock.return_value = mock_response
        instance = AbstractionLayer(region)
        instance.aws_sts_role(api, roleArn)
Ejemplo n.º 2
0
    def test_aws_sts_role_exception_catch(self, session_mock):
        with self.assertRaises(SystemExit) as sys_exit:
            region = self.region_mock
            api = "sts"
            roleArn = ""

            instance = AbstractionLayer(region)
            instance.aws_sts_role(api, roleArn)

        self.assertEqual(sys_exit.exception.code, 1)
def ingest_api_call(response):
    # Logging attributes status for the spinned instances using AssumeRole methodology

    if response["roleArn"]:
        try:
            aws_obj = LayerClass(region=response["region"])
            assume_role = aws_obj.aws_sts_role(api_call=response["apis"],
                                               role_arn=response["roleArn"])
            credentials = aws_obj.role_data_extraction(
                assume_role_credentials=assume_role)
            logger.debug("STS rule controller for AWS ")

        except Exception as err:
            logger.exception("Logging STS Error: " + str(err) + "\n")
            sys.exit(1)

        else:
            return credentials

    else:
        logger.exception("Role ARN missing to execute the Boto3 API call ! ")
        sys.exit(1)