Skip to content

HDDS-13855. Move ACL check in Volume requests to preExecute#10328

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

HDDS-13855. Move ACL check in Volume requests to preExecute#10328
ss77892 wants to merge 1 commit into
apache:masterfrom
ss77892:HDDS-13855-volume-acl-preexecute

Conversation

@ss77892
Copy link
Copy Markdown
Contributor

@ss77892 ss77892 commented May 21, 2026

Summary

  • Move ACL authorization checks for volume operations (DeleteVolume, SetVolumeOwner, SetVolumeQuota) from validateAndUpdateCache to preExecute
  • Move ACL checks for volume ACL operations (AddAcl, RemoveAcl, SetAcl) from validateAndUpdateCache to preExecute
  • Add audit logging for preExecute ACL failures so rejections are recorded even before the Ratis log entry is written

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 volume request handlers
  • Integration test TestOMHALeaderSpecificACLEnforcement covers volume operations (in a follow-up PR)

Related

Part of HDDS-13855. See also:

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

Made with Cursor

Move ACL authorization checks for volume operations (delete, set-owner,
set-quota) and volume 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