Skip to content

HDDS-13855. Move ACL check in Bucket requests to preExecute#10329

Open
ss77892 wants to merge 1 commit into
apache:masterfrom
ss77892:HDDS-13855-bucket-acl-preexecute
Open

HDDS-13855. Move ACL check in Bucket requests to preExecute#10329
ss77892 wants to merge 1 commit into
apache:masterfrom
ss77892:HDDS-13855-bucket-acl-preexecute

Conversation

@ss77892
Copy link
Copy Markdown
Contributor

@ss77892 ss77892 commented May 21, 2026

Summary

  • Move ACL authorization checks for bucket operations (DeleteBucket, SetBucketOwner, SetBucketProperty) from validateAndUpdateCache to preExecute
  • Move ACL checks for bucket ACL operations (AddAcl, RemoveAcl, SetAcl) from validateAndUpdateCache to preExecute
  • Add audit logging for preExecute ACL failures

Motivation

When ACL enforcement happens inside validateAndUpdateCache, the request has already been written to the Ratis log on all OM peers. Moving the check to preExecute (which runs only on the leader, before log submission) prevents unauthorized requests from polluting the log and ensures consistent ACL rejection across HA leader changes.

Test plan

  • Unit tests pass for bucket request handlers
  • Integration test TestOMHALeaderSpecificACLEnforcement covers bucket operations (in a follow-up PR)

Related

Part of HDDS-13855. See also:

  • Volume requests (separate PR)
  • Key + Prefix requests (separate PR)

Made with Cursor

Move ACL authorization checks for bucket operations (delete, set-owner,
set-property) and bucket ACL operations (add, remove, set ACL) from
validateAndUpdateCache to preExecute. This ensures ACL enforcement
happens before the Ratis log entry is written, so unauthorized requests
are rejected early on the OM leader without producing log entries.

Co-authored-by: Cursor <cursoragent@cursor.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant