/aws-console-switch-role-portal

A portal for AWS role switching, for security-aware professionals.

Primary LanguageTypeScriptMIT LicenseMIT

aws-console-switch-role-portal

Netlify Status

CodeQL

Live Site

Visit https://aws-switchrole.netlify.app

Notion of this project

Q: An existing Chrome plugin is available, why I need your project?

A: It is of course is great, but there are scenarios when security-aware individuals would like to avoid applying a browser plugin by all means especially when accessing AWS resources through the AWS Console, which could contain sensitive information.

Q: What do you need for the app?

A: Basically I need to have these features, which are not available within AWS Console's "Switch Role" current functionality:

  • To create/edit/delete records easily
  • To supply a redirect URL upon successful switching of role

That's how this web app was initially created (for myself).

Run locally

Requirements:

  • nodejs
  • yarn
# install dependencies
yarn
# start local web server
yarn start
# make a build
yarn build

The role list is stored inside localstorage and updated upon save.

Known issues

  • Actually the default color, namely #000000, won't work because AWS's script doesn't include the color inside it's form's radio field.
  • Duplication of the tuple (account, roleName) is NOT avoided (yet).

TODOs

  • Show warning when the color #000000 is chosen
  • Show validation error when there is existing record with the same (account, roleName)
  • Account ID/Alias and role name validation (Reference: account alias and role name)
  • Allow import/export from/to your local ~/.aws/config
  • Allow setting the redirectURI querystring parameter
  • Mobile responsiveness

Disclaimer

I am not an expert in TypeScript so please bear my poor TypesScript... Instead, I am more a DevSecOps engineer...