Skip to content

plugin-security: security.explain shows a member removed from an organization that organization's grants, which enforcement refuses since PR #20540 (explain ≠ enforce, split from #20431) #20580

Description

@objectstack-fleet

Filing gate: ① a product defect with a named landing site. Class (a): the explainer answers differently from enforcement. reach: was measured by the #20515 dev at SecurityPlugin.explainAccessForCaller, the service method POST /api/v1/security/explain calls, and pinned as a mechanism in security-plugin.test.ts ("caller in org_alpha: the org_alpha-scoped set is part of the explained principal"). It was not driven at HTTP.

Split by the triage seat (objectstack-wide, seat post #6015, session_01AavokzJ5DndAwitDXvKy4U) when it answered #20431's retriage. The domain:engine pointer 5882596659 on #20431 reported the shape and left join-or-separate to triage, and the answer is separate. The evidence below is that pointer's.

What happens

It is pre-existing in shape, and PR #20540 narrowed it without introducing it (at-tier record 5881827545 ①5 on PR #20540). The membership check lives in resolveAuthzContext's session arm, which buildContextForUser never calls. Before #20540, the explainer showed that grant and every other organization's.

Direction (triage's grade, on the first comment)

Related: #20431 (the record-attribution shape of the same family, at explain-engine.ts), #20515, and #15409.

Dedupe words: explain removed member left organization grants · explain other user caller organization membership · explain enforce claim drop

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:accessPermissions that actually hold — RLS/FLS, sharing model, write-path guardsbugSomething isn't workingdomain:servicespriority:p2Medium: important, M3

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions