Skip to content
This repository has been archived by the owner on Oct 27, 2023. It is now read-only.

A command line util for using SSO credentials with AWS SDK on AWS CLI v2 until native support is released

License

Notifications You must be signed in to change notification settings

ryansonshine/aws-sso-creds-helper

Repository files navigation

AWS SSO Credentials Helper

Important

This repository is now archived due to new functionality being added to the AWS CLI.

Please update your CLI to the latest version and use aws sso login --profile <profile_name>

Additional details are available here.

npm package Build Status Downloads Issues Code Coverage Commitizen Friendly Semantic Release

When using aws sso login on AWS CLI v2 as of July 27th, 2020, the credentials are stored so they will work with the CLI itself (v2) but don't work on the AWS SDKs and other tools that expect credentials to be readable from ~/.aws/credentials (v1).

This package aims to streamline updating the AWS credentials file for AWS SSO¹ users by updating/creating the corresponding profile section in ~/.aws/credentials with temporary role credentials. Once a solution is implemented in AWS CLI v2, this repo will be archived.

¹Renamed to IAM Identity Center as of July 26th, 2022.

Note

As of December 2022, profiles configured with an SSO Session Name using the AWS CLI v2.8.2 or later have added functionality for the AWS SDKs to use SSO credentials without them being present in the ~/.aws/credentials file.

This project will continue to be maintained and currently supports both legacy and new profile formats, since I'm currently not aware if all third party AWS tools have made changes required adopted this change.

See SSO token provider configuration with automatic authentication refresh for additional details.

Install

npm install -g aws-sso-creds-helper

Usage

Note: If you have not configured your AWS CLI to use SSO for your profile, follow the instructions here.

Usage: ssocreds [options]

Options:
  -V, --version            output the version number
  -p, --profile <profile>  profile to use for obtaining sso credentials (default: "default")
  -d, --debug              enables verbose logging (default: false)
  -v, --verbose            enables verbose logging (default: false)
  -u, --use-proxy          flag for the aws sdk to use HTTPS_PROXY found in env (default: false)
  -h, --help               display help for command

Example:

$ ssocreds -p my-profile

[aws-sso-creds-helper]: Getting SSO credentials for profile my-profile
[aws-sso-creds-helper]: Successfully loaded SSO credentials for profile my-profile

or create an alias in your shell containing

alias awsmyprofile="ssocreds -p my-profile"

or combine with a profile switching script if you use multiple profiles to switch profiles and then grab the credentials in one command

alias awsmyprofile="awsp my-profile && ssocreds -p my-profile"

Contributors ✨

All Contributors

Thanks goes to these wonderful people (emoji key):

Ryan Sonshine
Ryan Sonshine

💻
Steven Tobias
Steven Tobias

💻
sclarson
sclarson

💻
Cole Siegel
Cole Siegel

🐛
Rinaldi Utomo
Rinaldi Utomo

🐛
diogo
diogo

🐛
Caleb Hill
Caleb Hill

🐛

This project follows the all-contributors specification. Contributions of any kind welcome!