Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Performance enhancement request: Faster approval #221

Closed
ToyB0x opened this issue Dec 15, 2023 · 3 comments
Closed

Performance enhancement request: Faster approval #221

ToyB0x opened this issue Dec 15, 2023 · 3 comments
Labels
enhancement New feature or request next-release

Comments

@ToyB0x
Copy link

ToyB0x commented Dec 15, 2023

Hi, Thank you for creating such a useful tool.

If I apply for only one role, the approval process will be completed in a few seconds,
but it seems that the process takes a few seconds longer each time the role increases.
(For example, if I apply for 10 roles, it will take approximately 1 minute to complete the process)

If this application processes internally serially, there seems to be room for speeding it up by using parallel processing.

(I confirmed the above behavior in self-approval mode of v1.4.1 and v1.5.0)

@jpassing
Copy link
Collaborator

You're right, activating multiple roles can be quite slow and the reason is that the roles are being processed sequentially. There's definitely room for improvement here.

@jpassing jpassing added the enhancement New feature or request label Dec 15, 2023
@jpassing
Copy link
Collaborator

jpassing commented Jan 8, 2024

Previous versions performed one analyzeIamPolicy API request and one IAM setIamPolicy request per role. Obviously, that wasn't very efficient, particularly given that analyzeIamPolicy API request are expensive.

Version 1.6 improves that behavior and only performs a single analyzeIamPoliocy/effectiveIamPolicies.batchGet API request, regardless how may roles you're trying to activate. However, it still performs one IAM setIamPolicy request per role.

There's still room for improvement, but the performance should be noticeably better now. I'm therefore inclined to close this issue for now.

@ToyB0x
Copy link
Author

ToyB0x commented Jan 9, 2024

Thank you for releasing the new version.
I have confirmed that the performance has improved 🚀
(Thank you very much for the nice improvement)

@ToyB0x ToyB0x closed this as completed Jan 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request next-release
Projects
None yet
Development

No branches or pull requests

2 participants