Beispiel #1
0
    def get_temp_credentials_from_environment(self):
        #We're looking at an auto-awsume'd profile
        awsRegion = 'us-east-1'  #default region

        if 'AWS_PROFILE' in os.environ:
            autoProfile = awsumepy.get_ini_profile_by_name(
                os.environ['AWS_PROFILE'],
                awsumepy.get_profiles_from_ini_file(
                    awsumepy.AWS_CREDENTIALS_FILE))
            temporaryCredentials = {
                "sessionId": autoProfile['aws_access_key_id'],
                "sessionKey": autoProfile['aws_secret_access_key'],
                "sessionToken": autoProfile['aws_session_token']
            }
            if autoProfile.get('region'):
                awsRegion = autoProfile.get('region')
        #We're looking at a normal awsume'd profile
        elif os.environ.get('AWS_ACCESS_KEY_ID') and os.environ.get(
                'AWS_SECRET_ACCESS_KEY') and os.environ.get(
                    'AWS_SESSION_TOKEN'):
            temporaryCredentials = {
                "sessionId": os.environ['AWS_ACCESS_KEY_ID'],
                "sessionKey": os.environ['AWS_SECRET_ACCESS_KEY'],
                "sessionToken": os.environ["AWS_SESSION_TOKEN"]
            }
            if os.environ.get('AWS_REGION'):
                awsRegion = os.environ['AWS_REGION']
        else:
            print("Cannot use these credentials to open the AWS Console.",
                  file=sys.stderr)
            exit(0)
        #format the credentials into a json formatted string
        jsonTempCredentials = json.dumps(temporaryCredentials)
        return jsonTempCredentials, awsRegion
Beispiel #2
0
    def test_get_ini_profile_by_name(self):
        user1 = collections.OrderedDict([('__name__', 'name1'),
                                         ('key', 'value')])
        user2 = collections.OrderedDict([('__name__', 'name1'),
                                         ('key', 'value')])
        user3 = collections.OrderedDict([('__name__', 'name1'),
                                         ('key', 'value')])

        sections = collections.OrderedDict()
        sections['user1'] = user1
        sections['user2'] = user2
        sections['user3'] = user3

        getUser1 = awsumepy.get_ini_profile_by_name('user1', sections)
        getUser2 = awsumepy.get_ini_profile_by_name('user2', sections)
        getUser3 = awsumepy.get_ini_profile_by_name('user3', sections)
        noUser = awsumepy.get_ini_profile_by_name('no_user', sections)

        self.assertEqual(user1, getUser1)
        self.assertEqual(user2, getUser2)
        self.assertEqual(user3, getUser3)
        self.assertEqual(noUser, collections.OrderedDict())