tilfinltd / aws-extend-switch-roles

Extend your AWS IAM switching roles by Chrome extension, Firefox add-on, or Edge add-on

Home Page:https://chromewebstore.google.com/detail/aws-extend-switch-roles/jpmkfafbacpgapdghgdpembnojdlgkdl?utm_source=github

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Plugin Broken Following AWS Console UI Update

jtstrohl opened this issue · comments

This AWS Extend Switch Roles plugin, my most beloved Chrome plugin of all time, appears to be broken after an update was released to the AWS Console -- literally minutes ago. All of the sudden, the username dropdown menu (top right) only displays the last 5 roles in my history and no longer displays my entire list of account/roles configured for the plugin, even though I have configured it to hide original role history.

I hope this is a simple fix!

Must have been a fluke.... After logging back into AWS, it's fixed.

OK, it's broken again..... I think they are releasing the UI update in a weighted-DNS distribution deployment, so sometimes it's the old and sometimes it's the new.

I discovered that the AWS Console UI update is only being rolled out to certain AWS accounts. The extension works in accounts where it hasn't been rolled out, but is broken in those where it has.

confirm, broken on my side also 😢 😢 😢

Same here…

same here -- works in accounts using the old UI, but not the new -- same behavior as reported above.

Part of the problem is that this id: awsc-login-account-section no longer exists, and so this:

var parentEl = elById('awsc-login-account-section'); parentEl.appendChild(divLbl); parentEl.appendChild(ul);

... this breaks. I'm sure there are other problems related to re-named id's. It seems like a great deal of the page language has changed.

Same issue / problem. Since AWS pushed their new experience (started yesterday) this add-on no longer works.

Hi I’m with the AWS Console team and we’d like to help make it easier for this third-party extension to onboard with new navigation. We’ve sent an email to the author but if there’s a different method of contact or PoC please let me know. Thanks

@kareemdarkazanli is there a secret or is it something you can share? At a certain point, anyone here can create a pull request to help the author get this done.

Firstly, now applying new navigation UI to my AWS Account by them.

@kareemdarkazanli How long is the dashboard A/B testing going to continue?
Making a patch for this will be trickier whilst there are 2 versions of the dashboard in play.

Can I raise a support call on AWS to put my account back to the old console until this plugin is updated?

I tried, but AWS isn't doing it. Since this is a 3rd party tool, and one that scrapes the UI to function, they don't have any obligation or desire to cater to it so the changes were not rolled back.

Once again, relevant xkcd: https://xkcd.com/2347/

Just to add to this, when I first log in to AWS, it seems broken. If I manually switch roles, the add-on then starts to work.

Is there a way to opt out of the new UI for accounts ? Our org uses this plugin pretty heavily and the few accounts that got the new UI are currently in chaos.

As mentioned above, it does appear that this is a full canary / A/B testing process that we are in the middle of. I am seeing random changes to the new UI depending on different roles / regions / accounts, without much consistency yet. The only constant so far is that if I get the old UI, the extension works great. If I get the new UI, it breaks.

@kareemdarkazanli Please, please please AWS give us an opt-out. I REALLY need to be able to use this plugin as I have to deal with a lot of accounts via role switching, and without it I have to waste a lot of time. The standard UI is near useless.

Can I raise a support call on AWS to put my account back to the old console until this plugin is updated?

I tried, but AWS isn't doing it. Since this is a 3rd party tool, and one that scrapes the UI to function, they don't have any obligation or desire to cater to it so the changes were not rolled back.

Then perhaps AWS should address this themselves and make the UI useable without the need for third party plugins. If you work with more than 5 roles, it's frustrating to use. Everyone I know uses this plugin.

First of all, I saw the phenomenon in my AWS Management Console.

It's not going to be a simple fix due to the impact of the change in style as well as the change in the rendering framework.
I have already communicated with the AWS developers via email about this issue.

Thank you for supporting those who have donated.

Thanks for the update, really appreciate it. Still don't understand why AWS don't have a better native solution...

After manually assuming a role and reloading the page the plugin is working again.

@daknhh is that because you are switching into an account that doesn't have the new console applied yet? i have just tried switching and i then get a working extend switch roles but as soon as I switch back to another account with the new UI I lose it again.

@simonscholeykcom Ah yes you are right.

I've just escalated this through our Technical Account Manager and via a support case too.
Sounds like they are keen to either work with @tilfin or to raise a request for feature parity in the Dashboard.

I've just escalated this through our Technical Account Manager and via a support case too.
Sounds like they are keen to either work with @tilfin or to raise a request for feature parity in the Dashboard.

Ditto

It seems that it is very difficult to apply new stylesheet to the inserted role list items. The reason is that the new UI class name is a random value by the UI framework.

So I have to think of another way and have to reduce some features.

@tilfin
There is likely a better way to do this but if you made a first pass to add your own className to the Role History element (or wherever you need it to be.. at least rooting off there seems pretty stable?), that might negate having to go through and change the rest of the extension as it would just find what it needs to carry on?

Something like:

[...document.querySelectorAll("div")].filter(n => n.childElementCount == 0).filter(n => n.innerText == "Role History")[0].parentElement.className += " cstavro-test"

So after just 3 days this issue has been upvoted over 80 times already, whereas on Firefox Add-Ons page and Chrome Web Store this priceless plugin has got only 50 reviews altogether (17 for FF, 33 for Chrome). Don't you guys think we owe @tilfin at least some appreciation? ;)

As a workaround I’ve been putting my cross account role names into my password manager. This is also useful with the AWS Console iOS app.

This is still slicker, as I can colour code and add danger emojis for certain roles and make them visible in the Console.

@kickasstimus donation information is in the readme. A new donation page run by an unrelated party sounds sketchy to me.

@kickasstimus donation information is in the readme. A new donation page run by an unrelated party sounds sketchy to me.

Good point. Withdrawn. Deleted the original comment and don't forget to donate to tilfin!

Thank you for your patience. We’ve pushed out changes to new navigation that would help support the functionality of this extension (the css still needs some updates). We can support @tilfin if they need to make the css fixes, but the extension should now be functional.

first, thanks tilfin for making such a great plugin.

it is bit of a shame that AWS console is somewhat horrible in that regard and hasn't really changed in 4 years I have been working with AWS.

This looks better. Is the list limit an AWS thing or a ESR plugin thing? I can see the first 28 accounts but can type in the filter box and it limits the list. I can cope with it, just a change of how it works.

Im still having no luck on getting this plugin to work. Could it have anything todo with my config? I have divided it like this:

[master-account-1]
aws_account_id = master-account-1

[profile master1-child1]
role_arn = arn:aws:iam::00000000000:role/My-Role
region = eu-west-1
source_profile = master-account-1
color=ff9300

[profile master1-child2]
role_arn = arn:aws:iam::0000000000:role/My-Role
region = eu-west-1
source_profile = master-account-1
color=ff9300

[master-account-2]
aws_account_id = master-account-2

[profile im-agp]
role_arn = arn:aws:iam::000000000000:role/My-Role
region = eu-north-1
source_profile = master-account-2
color=ff9300

Im still having no luck on getting this plugin to work. Could it have anything todo with my config? I have divided it like this:

`

Plugin is still mostly broken currently if you have the new UI. Few days of patience needed probably.

Love this plugin and would like to still use it with the new console UI.

I really appreciate your time developing this plugin.
An update would be cool :-)

Thanks / MErci / Danke / Gracias / Obrigado

@timcleaver @yannickvr The complex configuration does not work in New UI yet after #156 (comment)

https://github.com/tilfin/aws-extend-switch-roles#simple-configuration
Please change to the above temporarily and save the original settings somewhere.

I am using the simple config and it works fine.

This is a thing I've been thinking about, but it's less affected by showing the role list from the extension browser icon instead of hacking the list in the Console page. So I'm moving it to break through the issue.

commented

I have noticed this since this morning, when I hit my landing zone account all is well, when I switch roles its broken but also I noticed that all my pinned services in chrome are no longer there, not related to this plugin but just something else I am noting.

I have noticed this since this morning, when I hit my landing zone account all is well, when I switch roles its broken but also I noticed that all my pinned services in chrome are no longer there, not related to this plugin but just something else I am noting.

I fear that's by AWS design. The pins are now your favorites in the dropdown menu. I'm not too fond of these changes.

commented

I fear that's by AWS design. The pins are now your favorites in the dropdown menu. I'm not too fond of these changes.

Indeed they are, thank you for pointing that out, I prefer them where they were if I am honest as now I need to click the "Services" link to get to the favourites, the entire reason I pinned them in the first place!

I pre-released AESR V2, you can get zip files of it in #157 (comment)

I have noticed this since this morning, when I hit my landing zone account all is well, when I switch roles its broken but also I noticed that all my pinned services in chrome are no longer there, not related to this plugin but just something else I am noting.

I fear that's by AWS design. The pins are now your favorites in the dropdown menu. I'm not too fond of these changes.

Is ANYBODY fond of the UI changes? They have all been crap.

I pre-released AESR V2, you can get zip files of it in #157 (comment)

I don't recall when was the last time I was so happy about any pre-release/update. You sir, just saved our lives from eternal torment of crappy UI.

I pre-released AESR V2, you can get zip files of it in #157 (comment)

Does it work with both simple and complex mode? It's not working for me on complex mode?

I pre-released AESR V2, you can get zip files of it in #157 (comment)

Does it work with both simple and complex mode? It's not working for me on complex mode?

I didn't realize at first that now you need to click the extension icon rather than the dropdown in the console. Works great for me in complex mode. Maybe that's the issue @jolcese?

I pre-released AESR V2, you can get zip files of it in #157 (comment)

Does it work with both simple and complex mode? It's not working for me on complex mode?

I didn't realize at first that now you need to click the extension icon rather than the dropdown in the console. Works great for me in complex mode. Maybe that's the issue @jolcese?

Thanks. Not sure why but now it's working on both Simple and Complex modes.

Please comment the feedback about V2 to #157 after this.

Im still having no luck on getting this plugin to work. Could it have anything todo with my config? I have divided it like this:

[master-account-1]
aws_account_id = master-account-1

[profile master1-child1]
role_arn = arn:aws:iam::00000000000:role/My-Role
region = eu-west-1
source_profile = master-account-1
color=ff9300

[profile master1-child2]
role_arn = arn:aws:iam::0000000000:role/My-Role
region = eu-west-1
source_profile = master-account-1
color=ff9300

[master-account-2]
aws_account_id = master-account-2

[profile im-agp]
role_arn = arn:aws:iam::000000000000:role/My-Role
region = eu-north-1
source_profile = master-account-2
color=ff9300

Temporarily remark ; the source_profile lines until the fix is released.

Im still having no luck on getting this plugin to work. Could it have anything todo with my config? I have divided it like this:

[master-account-1]
aws_account_id = master-account-1

[profile master1-child1]
role_arn = arn:aws:iam::00000000000:role/My-Role
region = eu-west-1
source_profile = master-account-1
color=ff9300

[profile master1-child2]
role_arn = arn:aws:iam::0000000000:role/My-Role
region = eu-west-1
source_profile = master-account-1
color=ff9300

[master-account-2]
aws_account_id = master-account-2

[profile im-agp]
role_arn = arn:aws:iam::000000000000:role/My-Role
region = eu-north-1
source_profile = master-account-2
color=ff9300

Temporarily remark ; the source_profile lines until the fix is released.

Thank you, this resolved the issue where I could jump from master account to one account but not assume a role on another account from any other account then our master.
Remarking the source_profile now let me assume a role and jumping around like Im used to do. Only thing is that my color matching doesn't work in the config now. A small price to pay I guess.

I pre-released AESR V2.0.1 (rev updated), you can get zip files of it in #157 (comment),
and I also explained the issue about the Complex configuration and the alias account in it.

Hi I’m with the AWS Console team and we’d like to help make it easier for this third-party extension to onboard with new navigation. We’ve sent an email to the author but if there’s a different method of contact or PoC please let me know. Thanks

@kareemdarkazanli great that you're reaching out! I suspect a lot of customers having more than 5 accounts (every enterprise out there?) uses this plugin. Instead of an external plugin, it would be even better if this can be integrated natively into the AWS console. Is there an easy way for the community to raise a request and upvote this feature?

I pre-released AESR V2.0.2 (rev updated), you can get zip files of it in #157 (comment),

commented

@kareemdarkazanli One point to note as to why this plugin is so useful is that it enables orgs/teams to provide a pre-populated file to hit the ground running. If this plugin was native to the console, it would:

  • Lack the support for a pre-populated list via a config file
  • Survive off of cookies 😢 (i clear my cookies on browser close)

@tilfin thanks for your continued work, since i have used AWS, i have used this plugin/extension

What appeared to work for me is switching the role manually once by clicking on switch role and type AccountID, ROLE_ARN, and DisplayName. Logout and login and All the accounts switch roles seemed to work.

I pre-released AESR V2.0.2 (rev updated), you can get zip files of it in #157 (comment),

Do you know when you will push this into the official Chrome and Firefox extension stores? My company blocks me from using anything outside of the store and I really need this extension. We have over 150 accounts and some of us have to switch constantly between them.

I've only recently found the "Automatically assume last assumed role (Experimental)" option. That's now also broken - it keeps switching to the last role continuously.

I haven't settled on a clean situation, but the barriers are gone for now and I've released AESR V2.0.3 to the store.

Chrome

Now available in Chrome Web Store
https://chrome.google.com/webstore/detail/aws-extend-switch-roles/jpmkfafbacpgapdghgdpembnojdlgkdl

Firefox

Now available in Firefox Browser ADD-ONS
https://addons.mozilla.org/ja/firefox/addon/aws-extend-switch-roles3/

For AWS GovCloud and China Partition

I was informed after this releases that these regions are still the old UI.

I'm releasing AESR v0.15.0 as another plugin v1 for them because I don't have an environment to test the old UI anymore.
https://chrome.google.com/webstore/detail/aws-extend-switch-roles-v/mnlhnejefaknddcbndkdpnhcdbmnnmlo

All versions of Firefox ADD-ONS are available in https://addons.mozilla.org/firefox/addon/aws-extend-switch-roles3/versions/

@tilfin Many thanks for the new version! It's working nicely for us :)

If you have a GitHub account, you can star this repository. This action will contribute to the standing as my engineer.
Thank you.

commented

@tilfin the irony in this breaking is that you have gained a few stars and exposure to this repo:
http://www.gitstarhistory.com/#tilfin/aws-extend-switch-roles
Screenshot 2020-09-25 at 15 04 59

Is there a way to downgrade back to the prior version? I'm sure they will eventually roll out the UI changes to GovCloud, but for now that's all I work in and the update definitely doesn't work in GovCloud. Thanks again for creating this - it's a huge time saver!

Hi,

At my company we're still having issues. When I use my normal Chrome I see my roles and things work, it just looks funky still, which is nbd.

image

But when I create a new Chrome profile, install the plugin, and copy the config from my first profile, it doesn't seem to work:

image

Ok, I found that my new profile's plugin works after I manually switch roles one time.

Feel free to issue new one with V2 label.