24
[NodeJs/AWS] Self-reload SSO keys in credentials file
Hello everyone! I just wanted to share a script i made in Nodejs using the V3 AWS Sdk for javascript.
This is a script to (almost)automatically update your local credentials file.
I say almost because at some point you'll need to click a button (or two in the worst scenario).
The SSO credentials expires every day, so I did not want to update this file manually. This script is very useful when you have a lot of accounts/roles in your organization.
- Node.js - Install Node.js
First of all download the code from github - aws-sso-creds-tool
git clone https://github.com/leandrosalo/aws-sso-creds-tool.git
It is required to set the sso url like this:
SSO_URL="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:
USE_ACCOUNT_ID=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
AWS_CREDENTIALS_PATH=/Users/you/.aws/credentials
- Run
npm install
in this folder - Update the
.env
with the correct values - Run
node app.js
- At some point the aws webpage will popup
- Log in to aws if you are not already
- The code for device authentication will be auto filled
- Click on Sign In
- When the success alert shows then come back to the terminal and press a key
- Done!
For consequents runs just start from step 3.
24