{"id":13622565,"url":"https://github.com/tilfinltd/aws-extend-switch-roles","last_synced_at":"2025-05-14T14:08:46.421Z","repository":{"id":37169864,"uuid":"64921004","full_name":"tilfinltd/aws-extend-switch-roles","owner":"tilfinltd","description":"Extend your AWS IAM switching roles by Chrome extension, Firefox add-on, or Edge add-on","archived":false,"fork":false,"pushed_at":"2025-01-22T14:49:27.000Z","size":1354,"stargazers_count":1359,"open_issues_count":46,"forks_count":139,"subscribers_count":24,"default_branch":"main","last_synced_at":"2025-04-12T13:57:34.300Z","etag":null,"topics":["aws","aws-iam","chrome-extension","firefox-addon","switching-roles"],"latest_commit_sha":null,"homepage":"https://chromewebstore.google.com/detail/aws-extend-switch-roles/jpmkfafbacpgapdghgdpembnojdlgkdl?utm_source=github","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tilfinltd.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"tilfinltd"}},"created_at":"2016-08-04T09:19:16.000Z","updated_at":"2025-04-01T07:14:22.000Z","dependencies_parsed_at":"2022-07-21T00:53:36.003Z","dependency_job_id":"8c2546d4-852d-4538-8393-e32cbbbdf97a","html_url":"https://github.com/tilfinltd/aws-extend-switch-roles","commit_stats":{"total_commits":304,"total_committers":20,"mean_commits":15.2,"dds":0.07894736842105265,"last_synced_commit":"718ca4bc812dcc92050a772ba8af7a2d1a8e6f6f"},"previous_names":[],"tags_count":44,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tilfinltd%2Faws-extend-switch-roles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tilfinltd%2Faws-extend-switch-roles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tilfinltd%2Faws-extend-switch-roles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tilfinltd%2Faws-extend-switch-roles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tilfinltd","download_url":"https://codeload.github.com/tilfinltd/aws-extend-switch-roles/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254159950,"owners_count":22024566,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws","aws-iam","chrome-extension","firefox-addon","switching-roles"],"created_at":"2024-08-01T21:01:21.124Z","updated_at":"2025-05-14T14:08:46.401Z","avatar_url":"https://github.com/tilfinltd.png","language":"JavaScript","funding_links":["https://github.com/sponsors/tilfinltd"],"categories":["JavaScript","AWS","chrome-extension","aws"],"sub_categories":["Utilities"],"readme":"# AWS Extend Switch Roles\n\n[![Chrome Web Store](https://img.shields.io/chrome-web-store/v/jpmkfafbacpgapdghgdpembnojdlgkdl.svg)](https://chrome.google.com/webstore/detail/aws-extend-switch-roles/jpmkfafbacpgapdghgdpembnojdlgkdl?utm_source=github)\n[![Firefox Add-on](https://img.shields.io/amo/v/aws-extend-switch-roles3.svg)](https://addons.mozilla.org/ja/firefox/addon/aws-extend-switch-roles3/)\n[![Edge Add-on](https://img.shields.io/badge/dynamic/json?label=edge%20add-on\u0026prefix=v\u0026query=%24.version\u0026url=https%3A%2F%2Fmicrosoftedge.microsoft.com%2Faddons%2Fgetproductdetailsbycrxid%2Fdcflbohnocoeheondddeoknmgbngijbi)](https://microsoftedge.microsoft.com/addons/detail/aws-extend-switch-roles/dcflbohnocoeheondddeoknmgbngijbi)\n\nExtend your AWS IAM switching roles by Chrome extension, Firefox add-on, or Edge add-on\n\nSwitch role history only stores the last 5 roles (maximum) on the AWS Management Console.\nThis extension shows a menu of switchable roles that you can configure manually.\n\n- Supports the Sync feature on all sorts of browsers\n- Not support switching between AWS accounts you sign into with AWS SSO or SAML solution providers directly\n- Experimental support for **multi-session** on the AWS Management Console\n\n## Large Supporters\n\n\u003ca href=\"https://classmethod.jp/\" rel=\"noopener\"\u003e\u003cimg alt=\"Classmethod, Inc.\" src=\"https://aesr.tilfin.com/supporters/img/classmethod.png\" width=\"208\" height=\"90\"\u003e\u003c/a\u003e\n\n## Development and Distribution Guideline\n\n#### Minimizes required permissions and operates only on AWS Console pages\nA browser plug-in goes with security risks. AWS Management Console allows you to manipulate your essential data.\n\n#### Supports only the  latest version of each official browser\nThis extension does not restrict the use of other compatible browsers. The version restrictions are only due to the JavaScript language features used.\n\n## Install\n\n- [AWS Extend Switch Roles - Chrome Web Store](https://chrome.google.com/webstore/detail/aws-extend-switch-roles/jpmkfafbacpgapdghgdpembnojdlgkdl?utm_source=github)\n- [AWS Extend Switch Roles :: Add-ons for Firefox](https://addons.mozilla.org/firefox/addon/aws-extend-switch-roles3/)\n- [AWS Extend Switch Roles - Microsoft Edge Addons](https://microsoftedge.microsoft.com/addons/detail/aws-extend-switch-roles/dcflbohnocoeheondddeoknmgbngijbi)\n\n## Configuration\n\nLeft-click the extension, click \"Configure\", enter your configuration in the text box, and click \"Save\".\nYou can write the configuration in INI format like `~/.aws/config` or `~/.aws/credentials`.\n\n### Simple Configuration\nThe simplest configuration is for multiple **target roles** when you always intend to show the whole list.  **Target roles** can be expressed with a `role_arn` or with both `aws_account_id` and `role_name`.\n\n#### Optional parameters\n\n* `color` - The RGB hex value (without the prefix '#') for the color of the header bottom border and around the current profile.\n* `region` - Changing the region whenever switching the role if this parameter is specified.\n* `image` - The uri of an image to use on top of any color attribute supplied. The color and image are not mutually exclusive.\n\n```\n[profile marketingadmin]\nrole_arn = arn:aws:iam::123456789012:role/marketingadmin\ncolor = ffaaee\n\n[anotheraccount]\naws_account_id = 987654321987\nrole_name = anotherrole\nregion=ap-northeast-1\n\n[athirdaccount]\naws_account_id = 987654321988\nrole_name = athirdrole\nimage = \"https://via.placeholder.com/150\"\n```\n\n### Complex Configuration\nMore complex configurations involve multiple AWS accounts and/or organizations.\n\n- A profile specified by the `source_profile` of the others is defined as a **base account**.\n\n- If your account is aliased, you specify `aws_account_alias` in **base account**.\n\n- If an `role_name` is specified in a **base account** it will also check for the role that is used to login to AWS. This can be used to select a subset of accounts when you are using an SSO IdP to login to AWS. If a role name starts with *AWSReservedSSO_*, the value should be only the **permission set** name.\n\n- A **target role** is associated with a **base account** by its `source_profile` specifying the profile name of the base account.\n\n- As above, **target roles** can be expressed with a `role_arn` or with both `aws_account_id` and `role_name` and can optionally pass the optional parameters.\n\n- If `target_role_name` is set in **base account**, the value is provided as the default role name for each **target roles**.\n- If `target_region` is set in **base account**, the value is provided as the default region for each **target roles**.\n\n```\n[organization1]\naws_account_id = 000011112222\naws_account_alias = your-account-alias ; If your account is aliased\n\n[Org1-Account1-Role1]\nrole_arn = arn:aws:iam::123456789012:role/Role1\nsource_profile = organization1\n\n[Org1-Account1-Role2]\naws_account_id = 123456789012\nrole_name = Role2\nsource_profile = organization1\n\n[Org1-Account2-Role1]\naws_account_id = 210987654321\nrole_name = Role1\nsource_profile = organization1\n\n[baseaccount2]\naws_account_id = 000000000000\n\n[Base2-Role1]\nrole_arn = arn:aws:iam::234567890123:role/Role1\nsource_profile = baseaccount2\n\n[AnotherRole]\nrole_name = SomeOtherRole\naws_account_id = account-3-alias\n\n;\n; target_role_name example\n;\n[Org2-BaseAccount]\naws_account_id = 222200000000\ntarget_role_name = Developer\n\n[Org2-Account1-Developer]\naws_account_id = 222200001111\nsource_profile = Org2-BaseAccount\n\n[Org2-Account2-Manager]\naws_account_id = 222200002222\nrole_name = Manager ; overrides target role name\nsource_profile = Org2-BaseAccount\n\n;\n; base account with role_name example\n;\n[Org3-BaseAccount1]\naws_account_id = 333300000000\nrole_name = Entry-Role-1 ; Role for Federated Login, or User to login\n\n[Org3-BaseAccount2]\naws_account_id = 333300000000\naws_account_alias = mycompany\nrole_name = custom_permission-set ; DO NOT set AWSReservedSSO_custom_permission-set_0123456890abcdef\n\n[Org3-Account1-Role1]\naws_account_id = 333300001111\nrole_name = Role1\nsource_profile = Org3-BaseAccount1\n\n[Org2-Account2-Role2]\naws_account_id = 222200002222\nrole_name = Role2\nsource_profile = Org3-BaseAccount2\n```\n\nIf you sign-in a base account, target roles of the other base accounts are excluded.\n\nThe 'Show only matching roles' setting is for use with more sophisticated account structures where you're using AWS Organizations with multiple accounts along with AWS Federated Logins via something like Active Directory or Google GSuite.  Common practice is to have a role in the master account that is allowed to assume a role of the same name in other member accounts.  Checking this box means that if you're logged in to the 'Developer' role in the master account, only member accounts with a role_arn ending in 'role/Developer' will be shown.  You won't see roles that your current role can't actually assume.\n\n## Settings\n\n- **Hide account id** hides the account_id for each profile.\n- **Show only matching roles** filters to only show profiles with roles that match your role in your master account.\n- **Automatic tab grouping for multi-session (Experimental, Supporters only)** automatically organizes tabs from the same AWS Management Console multi-session into tab groups. The tab group name will be the corresponding profile name. When a tab group is removed, the corresponding session will be automatically signed out.\n- **Sign-in endpoint in current region (Experimental, Supporters only)** instead of *signin.aws.amazon.com* when you browse a non-global page in AWS Management Console. For those working geographically far from Virginia, the switch role may be a little faster.\n- ~~**Automatically assume last assumed role (Experimental)** automatically assumes last assumed role on the next sign-in if did not back to the base account and signed out.~~ **temporarily disabled**\n- **Configuration storage** specifies which storage to save to. 'Sync' can automatically share it between browsers with your account but cannot store many profiles. 'Local' is the exact opposite of 'Sync.'\n- **Visual mode** specifies whether light mode or dark mode is applied to the UI appearance.\n\n## Extension API\n\n- **Config sender extension** allowed by the **ID** can send your switch roles configuration to this extension. **'Configuration storage' forcibly becomes 'Local' when the configuration is received from a config sender.** [See](https://github.com/tilfinltd/aws-extend-switch-roles/wiki/External-API#config-sender-extension) how to make your config sender extension.\n\n## Appearance\n\n![Screen Shot 1](https://github.com/tilfinltd/aws-extend-switch-roles/blob/images/ScreenShot_1.png)\n\n![Screen Shot 3](https://github.com/tilfinltd/aws-extend-switch-roles/blob/images/ScreenShot_3_960x600.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftilfinltd%2Faws-extend-switch-roles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftilfinltd%2Faws-extend-switch-roles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftilfinltd%2Faws-extend-switch-roles/lists"}