test(ilm): deny manual transition for non-admin - #5188
Merged
Conversation
Co-Authored-By: heihutu <heihutu@gmail.com>
Contributor
|
CLA requirements are satisfied for this pull request. |
houseme
marked this pull request as ready for review
July 24, 2026 10:51
houseme
enabled auto-merge (squash)
July 24, 2026 11:03
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Related Issues
Related to rustfs/backlog#1481 and rustfs/backlog#1476.
Summary of Changes
enqueue_onlyhandler contract, then verifies a limited authenticated user receives403 AccessDeniedon the samePOST /rustfs/admin/v3/ilm/transition/runrequest.Verification
cargo fmt --all --checkgit diff --checkcargo test -p e2e_test non_admin_credential_denied_on_manual_transition_run -- --nocaptureImpact
Test coverage only. No public API, wire format, console behavior, or compatibility change.
Additional Notes
The e2e test covers the backend permission boundary only; console operations remain out of scope.
Adversarial validation: correctness attacked root handler reachability and limited-user denial with no break found; simplicity found the test reuses the existing signed request and limited-user e2e helpers; security attacked the authenticated-but-unauthorized admin endpoint case and observed
403 AccessDenied; concurrency/durability found no production lock, IO, or persisted-state change and the e2e is serial like neighboring admin auth tests; compatibility found no endpoint or response contract change beyond assertions; performance found test-only cold build/runtime cost; test-coverage found the new e2e fails if the admin gate allows the limited user or if the root path no longer reaches the enqueue-only handler.Thank you for your contribution! Please ensure your PR follows the community standards (CODE_OF_CONDUCT.md). If this is your first contribution, review the CLA document and sign it by commenting
I have read and agree to the CLA.on the PR.