-
Notifications
You must be signed in to change notification settings - Fork 241
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
PutObjectRetention and DeleteObject authorization optimization #5702
Conversation
Hello williamlardier,My role is to assist you with the merge of this Available options
Available commands
Status report is not available. |
Incorrect fix versionThe
Considering where you are trying to merge, I ignored possible hotfix versions and I expected to find:
Please check the |
Waiting for approvalThe following approvals are needed before I can proceed with the merge:
|
Previously, we were dynamically calling the internal authorization API to check if the identity, when not an account, has the permission to bypass the governance lock configuration. This call sent request contexts with information we already have when authorizing the API, except the type of identity. This commit introduces an optimization by including the Bypass action, when the header is set, directly when the api is authorized. If the identity is an account, the overhead is lower than doing another API call: no policy are evaluated. Both PutObjectRetention and DeleteObject API calls are updated accordingly.
Issue: CLDSRV-583
58a4187
to
c6e8841
Compare
/approve |
In the queueThe changeset has received all authorizations and has been added to the The changeset will be merged in:
The following branches will NOT be impacted:
There is no action required on your side. You will be notified here once IMPORTANT Please do not attempt to modify this pull request.
If you need this pull request to be removed from the queue, please contact a The following options are set: approve |
I have successfully merged the changeset of this pull request
The following branches have NOT changed:
Please check the status of the associated issue CLDSRV-583. Goodbye williamlardier. |
Previously, we were dynamically calling the internal authorization API to check if the identity, when not an account, has the permission to bypass the governance lock configuration. This call sent request contexts with information we already have when authorizing the API, except the type of identity.
This commit introduces an optimization by including the Bypass action, when the header is set, directly when the API is authorized. If the identity is an account, the overhead is lower than doing another API call: no policy are evaluated.
Both
PutObjectRetention
andDeleteObject
API calls are updated accordingly. Multi object delete can be improved but the complexity is higher, and is already subject for improvement in a dedicated ticket.Unit tests updated for the list of actions to authorize, and logic is already covered by existing tests - tested on a real platform too with success.