0.9.6 • Published 5 years ago
get-aws-session-token v0.9.6
Get AWS Session Token easily
A simple Node.js command line wizard to generate AWS session tokens for MFA-enabled users.

Getting started
- Make sure you have the AWS CLI installed
- Backup your
~/.aws/credentialsand~/.aws/configfiles (!!!) - Make sure you have a valid AWS CLI user configured. Your
~/.aws/credentialsfile should contain a configuration simlar to the one below. Take note of the profile name (in the examplemy-nice-profile), as it will be needed later. If you have only one profile configured, it is generally calleddefault
[my-nice-profile]
aws_access_key_id = XXX
aws_secret_access_key = YYY- Create a file named
config.templatein~/.aws/folder, following the example you find below or inconfig.templatein the project root folder. - Create a file named
clients.jsonin~/.aws/folder, following the example you find below or inclients.example.jsonin the project root folder, and compile the clients configuration. Each client configuration may include the following parameters:
MFASerialNumber: the ARN of the MFA device associated to your users. This can be found on AWS console > IAM > Users > (select your user) > Security credentials tabOutputProfileName: the named profile you want to generate. This profile is the one to use to interact with AWS APIsProfile: (optional) if you want to use a specific AWS named profile to generate the session token. This is the name you picked earlier.Region: (optional) if you want to use a default AWS region for the given AWS profileOutput: (optional) specify the output format
Install
Get AWS Session Tokenusing:
npm install get-aws-session-token -g- Run
gastcommand in the terminal to start the wizard and get your AWS session token!
clients.json file example
{
"MyClient": {
"MFASerialNumber": "arn:aws:iam::000:mfa/daniele.salvatore",
"OutputProfileName": "xxx",
"Profile": "my-profile (this is optional)"
},
"MySecondClient": {
"MFASerialNumber": "arn:aws:iam::000:mfa/daniele.salvatore",
"OutputProfileName": "yyy"
}
}config.template file example
[profile my-production]
role_arn = arn:aws:iam::000000000000:role/InfrastructureAdminRole
source_profile = session
region = eu-west-1
[profile my-sandbox]
source_profile = session
region = eu-west-1`Additional documentation
Disclaimer
THE SOFTWARE IS DISTRIBUTED ON A "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND.