trek10inc / awsume

A utility for easily assuming AWS IAM roles from the command line.
https://awsu.me
MIT License
485 stars 90 forks source link

Awsume error: profiles[target_profile_name]['mfa_serial'] = target_profile['mfa_serial'] KeyError: None #213

Closed quanhk711 closed 1 year ago

quanhk711 commented 1 year ago

Hi, I'm struggling to get awsume running on my macbook m1 and get the following error: $ awsume quan --mfa-token $(op item get Amazon-quannhm-child-611 --otp)

Traceback (most recent call last):
  File "/opt/homebrew/bin/awsumepy", line 8, in <module>
    sys.exit(main())
  File "/Users/quannhm/Library/Python/3.9/lib/python/site-packages/awsume/awsumepy/main.py", line 29, in main
    run_awsume(sys.argv[1:])
  File "/Users/quannhm/Library/Python/3.9/lib/python/site-packages/awsume/awsumepy/main.py", line 17, in run_awsume
    awsume.run(argument_list)
  File "/Users/quannhm/Library/Python/3.9/lib/python/site-packages/awsume/awsumepy/app.py", line 263, in run
    credentials = self.get_credentials(args, profiles)
  File "/Users/quannhm/Library/Python/3.9/lib/python/site-packages/awsume/awsumepy/app.py", line 202, in get_credentials
    credentials = self.plugin_manager.hook.get_credentials(config=self.config, arguments=args, profiles=profiles)
  File "/Users/quannhm/Library/Python/3.9/lib/python/site-packages/pluggy/_hooks.py", line 265, in __call__
    return self._hookexec(self.name, self.get_hookimpls(), kwargs, firstresult)
  File "/Users/quannhm/Library/Python/3.9/lib/python/site-packages/pluggy/_manager.py", line 80, in _hookexec
    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
  File "/Users/quannhm/Library/Python/3.9/lib/python/site-packages/pluggy/_callers.py", line 60, in _multicall
    return outcome.get_result()
  File "/Users/quannhm/Library/Python/3.9/lib/python/site-packages/pluggy/_result.py", line 60, in get_result
    raise ex[1].with_traceback(ex[2])
  File "/Users/quannhm/Library/Python/3.9/lib/python/site-packages/pluggy/_callers.py", line 39, in _multicall
    res = hook_impl.function(*args)
  File "/Users/quannhm/Library/Python/3.9/lib/python/site-packages/awsume/awsumepy/default_plugins.py", line 583, in get_credentials
    role_chain = get_role_chain(config, arguments, profiles, target_profile_name)
  File "/Users/quannhm/Library/Python/3.9/lib/python/site-packages/awsume/awsumepy/lib/profile.py", line 132, in get_role_chain
    profiles[target_profile_name]['mfa_serial'] = target_profile['mfa_serial']
KeyError: None

this is my ~/.aws/credentials and ~/.aws/config

[quan]
credential_process = ~/.aws/op-cred-helper.sh Personal Amazon-quan
[profile quan]
region = us-east-1
output = json
role_arn = arn:aws:iam::xxxxxxxxxxxxxx:role/AdminAccessRoleWithMFA
mfa_serial = arn:aws:iam::xxxxxxxxxxxxx:mfa/op-mfa