docs(access): warn_only — trial a resource ACL before enforcing it - #401
Open
maximelb wants to merge 2 commits into
Open
docs(access): warn_only — trial a resource ACL before enforcing it#401maximelb wants to merge 2 commits into
maximelb wants to merge 2 commits into
Conversation
Documents the warn_only flag on an acl hive scope record: the scope stops being enforced entirely and every access it would have blocked is filed as an organization error instead, so an admin can find out who a new ACL breaks before it breaks them. Covers the full loop (set the flag, tag the resources, read `limacharlie org errors`, add the people who legitimately need the data, dismiss, repeat, then clear the flag), what to expect from the warnings (one entry per scope under component acl/<scope>, debounced, members never reported, best-effort delivery against exact non-enforcement, and that a trial still costs what enforcement costs), and what the flag does NOT change: it does not relax who may edit acl: tags, it is the opposite of disabling a scope, and it does not suppress the audit trail. Also adds the flag to the disable/delete table — the one place in this page where the intuitive expectation is backwards — a pointer from the setup steps, and a note on the Outputs section, since an ACL quietly removing records from a SIEM feed is the effect users are most likely to be caught out by and outputs are the one place the flag takes a couple of minutes rather than applying immediately. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Contributor
Author
|
/lc-review |
lcbill
approved these changes
Sep 9, 2026
A configuration written during a trial outlives it: an output opted into the scope keeps exporting that scope's records once enforcement is on. So naming a scope in an output's or a rule's acl_scopes still needs real membership even while the scope is unenforced, and the trial stays reversible. A temporary live stream is the exception, since it is a read that ends with the connection rather than a saved configuration. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Contributor
Author
|
/lc-review |
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.
Documents the new
warn_onlyflag on anaclhive scope record.A warn-only scope is not enforced — everything tagged with it behaves exactly as if the tag were not there — and every access it would have blocked is filed as an organization error naming the principal and the resource. It is the dry run for a resource ACL: the hard part of one is not writing it, it is finding out who it breaks.
What's in the page
A new Trying a scope out first:
warn_onlysection covering the whole loop — set the flag, tag the resources for real, leave it a working day or two, readlimacharlie org errors, add the people who legitimately need the data, dismiss, repeat until the entry stops coming back, then clear the flag — with a sample of the org error text.Then two subsections on the things a reader will otherwise get wrong:
acl/<scope>rather than one per person (organization errors hold one entry per component and each violation replaces the last), repeats debounced to roughly one every fifteen minutes, members never reported so a quiet list genuinely means nobody depends on the access, warnings best-effort while non-enforcement is exact, and the trial costing what enforcement costs — it is a state to pass through, not to live in.warn_onlydoes not change. It does not relax who may editacl:tags (acl.setstill required, D&R rules still refused). It is the opposite of disabling the scope, which locks everything. It does not suppress the audit trail.Smaller edits elsewhere on the page:
warn_onlycovers them too, which matters because an ACL quietly removing records from a SIEM feed is the effect most likely to catch you out — and outputs are the one place where the flag takes a couple of minutes rather than applying immediately.Notes
docs/resource-acl-user-guide(docs(access): resource ACLs — restricting sensors and configs by scope #394), not master, sinceresource-acls.mdonly exists on that branch. Retarget to master once docs(access): resource ACLs — restricting sensors and configs by scope #394 merges.limacharlieCLI (org errors,org dismiss-error --component).mkdocs build --strictandmarkdownlint-cli2both clean; the new section's anchor confirmed in the built HTML.Implementation: refractionPOINT/go-essentials#935.
🤖 Generated with Claude Code