1.0.2 • Published 2 years ago

auto-aws-sso-creds v1.0.2

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

AWS SSO Credentials Tool

(couldn't find a better name)

This AWS SSO Credentials Tool is a script in nodejs to (almost)automatically update your local credentials file of aws.

I say almost because at some point you'll need to click a button (or two in the worst scenario).

Disclaimer: this is NOT intended to use as a dependency, it is just a script. The only reason it's published is for it to be more easy to find.

Motivation

The SSO credentials expires every day, so I did not want to update this file manually.

Requirements

How to use

Update config.json file with the correct params

When running for the first time, a config.json file will be created on path:

~/.config/auto-aws-sso-creds-nodejs/config.json

Then you need to change its parameters:

It is required to set the sso url like this:

{
    ssoUrl: "https://<your-project>.awsapps.com/start#/"
}

The credentials will be stored as account-name_AWSRoleName. If you want to store it as 123456789098_AWSRoleName add this:

{
  "useAccountId": true
}

if you want a different profile name pattern update the code...

It uses us-east-1 as default aws region and searches for the credentials file in the default path. If you want to change it, add this:

{
    region: "us-east-1"
    ssoUrl: "https://<your-project>.awsapps.com/start#/"
    awsCredentialsPath: "/home/<user>/.aws/credentials" // Optional
    useAccountId: true
    defaultSection: "<account_id>_<role_name>" // section to be used to create a [default] section in credentials
    accounts: "account1,account2,account3"
}

First time use

  1. Run npm install in this folder
  2. Update the ~/.config/aws-sso-creds-tool-nodejs/config.json with the correct values
  3. Run node app.js or create an alias
  4. At some point the aws webpage will popup
    1. Log in to aws if you are not already
    2. The code for device authentication will be auto filled
    3. Click on Sign In
  1. When the success alert shows then come back to the terminal
  1. Done!

For consecuents runs just start from step 3.

Authors

  • Leandro Salomon
  • Rafael Nascimento