assumer-cli

2.1.4 • Public • Published

assumer-cli

Assume IAM roles between AWS accounts

NPM

Known Vulnerabilities NSP Status

Features

  • Interactive user prompt
  • Account search autocompletion
  • Generates & opens AWS Console URL in default browser
  • Generates script for users to source in their current terminal session (supported platforms: Windows, Linux, Darwin)

Install

npm i -g assumer-cli

Usage

❯ assumer --help

  Assume IAM roles between AWS accounts

  Usage
    $ assumer
    $ assumer <flags>

  Required Flags
    -a, --target-account    Target Account Number
    -r, --target-role       Target Account Role
    -A, --control-account   Control Account Number
    -R, --control-role      Control Account Role

  Optional Flags
    -u, --username          An AWS IAM username (defaults to system user name)
    -g, --gui               Open a web browser to the AWS console with these credentials
    -t, --token             MFA Token (you will be interactively prompted)
    --check                 Check for new versions

  Example
    $ assumer # interactive mode
    $ assumer -a 111111111111 -r target/role -A 123456789012 -R control/role

Examples

  • If you know the account numbers and role names you wish to assume:
    $ assumer -a <target-account> -r <target-role> -A <control-account> -R <control-role>
    
  • If you don't know the account numbers and role names:
    $ assumer
    
  • To check if there is a new version of assumer-cli:
    $ assumer --check
    
    check version

Configuration

If you want to use the CLI in interactive mode, assumer expects a config file called .assumer.json in your home directory. Sample configuration:

{
  "control": {
    "accounts": [
      {
        "name": "Control Account",
        "value": "123456789012"
      }
    ],
    "roles": [
      {
        "name": "Deploy Admin",
        "value": "deployment/admin"
      },
      {
        "name": "Super Admin",
        "value": "security/admin"
      },
      {
        "name": "Read Only",
        "value": "read/only"
      }
    ]
  },
  "target": {
    "roles": [
      {
        "name": "Deploy Admin",
        "value": "deployment/admin"
      },
      {
        "name": "Super Admin",
        "value": "security/admin"
      },
      {
        "name": "Read Only",
        "value": "read/only"
      }
    ],
    "accounts": [
      {
        "name": "target-account-1",
        "value": "111111111111"
      },
      {
        "name": "target-account-2",
        "value": "222222222222"
      }
    ]
  }
}

See sample config file for reference.

Related

License

MIT © Peter Benjamin

Package Sidebar

Install

npm i assumer-cli

Weekly Downloads

1

Version

2.1.4

License

MIT

Last publish

Collaborators

  • pmbenjamin