Skip to content

A cli tool and authorization proxy for using the AWS CLI (boto) with OpenId Connect (OIDC)

License

Notifications You must be signed in to change notification settings

Mozilla-GitHub-Standards/d6cb4f36ff3c0b4f1268b23986630b8b49e9c2f2489787798e36239ac32346f0

 
 

Repository files navigation

federated-boto

CLI application that handled federated authentication for AWS users

Sequence diagram

Prerequisites

  • An OIDC provider like Auth0
  • A well-known openid-configuration URL
  • An Auth0 application created
    • Type : Native
    • Allowed Callback URLs : A list of the localhost URLs created from the POSSIBLE_PORTS list of ports
    • The client_id for this application will be used in the CLI config file
  • An AWS Identity provider
    • with an audience value of the Auth0 application client_id
    • with a valid thumbprint

Instructions

Create a config

cp config.yaml.inc config.yaml

  • well_known_url: The OpenID Connect Discovery Endpoint URL. (Auth0)
  • client_id: The Auth0 client_id generated when the Auth0 application was created in the prerequisites
  • scope: A space delimited list of OpenID Connect Scopes. For example openid and the scope where access control information is made available. Mozilla SSO would use openid https://sso.mozilla.com/claim/groups

Run the tool

python federated_boto/cli.py --role-arn arn:aws:iam::123456789012:role/example-role

Notes

# https://community.auth0.com/t/custom-claims-without-namespace/10999
# https://community.auth0.com/t/how-to-set-audience-for-aws-iam-identity-provider-configuration/12951

About

A cli tool and authorization proxy for using the AWS CLI (boto) with OpenId Connect (OIDC)

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 89.6%
  • Makefile 9.9%
  • Pascal 0.5%