Support ignoreMissingPrincipals with ACLs #853
Draft
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.
This PR implements support for ignoring missing principals during ACL installation, similar to SLING-12115. This allows creating ACLs without creating the corresponding groups/users, deferring that to external group sync processes.
Problem
By default, Oak in AEMaaCS is more lenient and allows unbound principals in ACLs using
org.apache.jackrabbit.oak.security.authorization.AuthorizationConfigurationImpl.importBehavior = besteffort
. However, the Access Control Tool would fail when trying to install ACEs for principals that don't exist in the repository, making it incompatible with workflows where:Solution
Added a new global configuration option
ignoreMissingPrincipals
that enables lenient principal handling during ACE installation:When enabled, the tool will:
Implementation Details
ignoreMissingPrincipals
configuration field with proper parsing, validation, and merge supportinstallPrivileges()
to catch and handle missing principal exceptions when the option is enabledBackward Compatibility
This change is fully backward compatible:
Usage
Organizations can now separate ACL management from principal/group management by enabling this feature, making the tool compatible with external group sync workflows and Oak's lenient import behavior in AEMaaCS environments.
Original prompt
💬 Share your feedback on Copilot coding agent for the chance to win a $200 gift card! Click here to start the survey.