You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by "hanahmily (via GitHub)" <gi...@apache.org> on 2026/08/26 03:12:53 UTC

[I] [BanyanDB][RBAC][Sub-TDD A3] Enforce built-in RBAC on `ClusterState/GetClusterState` [skywalking]

hanahmily opened a new issue, #14019:
URL: https://github.com/apache/skywalking/issues/14019

   Root tracking issue: #13994
   Workflow PR issue: #14014
   Sub-TDD ID: `A3`
   Cycle gate: #14018 must be GREEN on workflow #14014's branch; it is not merged independently.
   
   > [!IMPORTANT]
   > **No independent PR.** This issue tracks one strict RED→GREEN cycle inside
   > workflow #14014. Implement it on that workflow branch, record the evidence
   > in the parent PR checklist, and close it only when the parent PR merges.
   
   ## Size audit
   
   Classification: sub-TDD tracking leaf inside workflow #14014; not an independently mergeable PR leaf
   
   Boundary: one compiled `Decide(principal, policy, scopes)` call consumed by the unary interceptor for `GetClusterState`.
   
   Production activation: authentication places the selected snapshot and trusted principal in context; the real unary chain authorizes this method.
   
   RED test: `TestRBACGetClusterStateDeniesUnboundPrincipal`; after A1 and A2 are GREEN, the legacy authenticated caller is still allowed.
   
   End to end: bad credentials are `Unauthenticated`; reader/unbound are `PermissionDenied`; built-in admin receives the real cluster-state response over gRPC and HTTP; forged gateway identity cannot replace Basic auth.
   
   Format/lifecycle scope: only the lifecycle and caller family named above; no protobuf or persisted-format change
   
   Fixtures and oracle: literal actors, groups, status codes, and visible/absent side effects stated in the integration scenario; expectations are not derived from the implementation
   
   Focused suites: the named RED test plus the focused real-liaison integration scenario in workflow #14014
   
   Dependencies present on `main`: the workflow-level prerequisites are recorded above; intra-workflow cycle gates become GREEN on the same branch
   
   Decision: one bounded RED→GREEN cycle, but deliberately no independent PR; workflow #14014 owns the cumulative production activation, E2E, and merge
   
   ## Boundary
   
   one compiled `Decide(principal, policy, scopes)` call consumed by the unary interceptor for `GetClusterState`.
   
   The production caller activated in this cycle is: authentication places the selected snapshot and trusted principal in context; the real unary chain authorizes this method. Later child
   behavior remains fail-closed or unchanged. Do not add a parallel authorizer,
   generic protobuf field search, or a fourth PR.
   
   Observability in this boundary: the bounded unary decision counter, secret-safe errors, and exactly one observation for an HTTP gateway call.
   
   ## RED
   
   `TestRBACGetClusterStateDeniesUnboundPrincipal`; after A1 and A2 are GREEN, the legacy authenticated caller is still allowed.
   
   Add and run the named test, then record its observable failure before production
   code for this cycle. The failure must come from the missing production behavior,
   not a source-text assertion or a fixture generated by the implementation.
   
   ## GREEN
   
   Implement the minimum production change that activates only the boundary above.
   Make the named RED test pass, then keep all later workflow executors fail-closed.
   Refactor only after the RED and GREEN evidence is recorded in workflow #14014's PR.
   
   ## Focused integration proof
   
   bad credentials are `Unauthenticated`; reader/unbound are `PermissionDenied`; built-in admin receives the real cluster-state response over gRPC and HTTP; forged gateway identity cannot replace Basic auth.
   
   This proof uses the real public liaison path and is added to the cumulative
   integration suite in workflow #14014; it is not deferred to another PR.
   
   ## Requirements
   
   R1. users-only/RBAC-off compatibility plus strict built-in binding YAML.
   R2. authentication/validation/authorization precedence.
   R3. global admin allowed while reader/writer/unbound deny without handler invocation.
   R4. all not-yet-activated permission methods fail closed.
   
   ## Acceptance criteria
   
   - The named RED test is recorded failing for the stated reason before GREEN.
   - The minimum production activation and focused real-liaison integration proof pass.
   - Expected allow/deny/status/side-effect values come from this issue's literal oracle, not production-derived fixtures.
   - Only the named method/extractor/lifecycle boundary is activated; later cycles remain fail-closed.
   - The parent PR checklist links this cycle's RED, GREEN, refactor, integration, and test evidence.
   - No independent PR is opened; this issue closes only when workflow #14014's single PR merges.
   
   ## Scope
   
   Production/tests: RBAC model/compiler/authorizer, auth snapshot/context, unary rules, gRPC server chain, standalone RBAC suite.
   
   Cycle entry from the reviewed catalog: A1 and A2 GREEN in W-PR1.
   
   Out of scope: every later sub-TDD boundary, OAP E2E, Canopy E2E, and any PR separate from workflow #14014.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [I] [BanyanDB][RBAC][Sub-TDD A3] Enforce built-in RBAC on `ClusterState/GetClusterState` [skywalking]

Posted by "hanahmily (via GitHub)" <gi...@apache.org>.
hanahmily closed issue #14019: [BanyanDB][RBAC][Sub-TDD A3] Enforce built-in RBAC on `ClusterState/GetClusterState`
URL: https://github.com/apache/skywalking/issues/14019


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [I] [BanyanDB][RBAC][Sub-TDD A3] Enforce built-in RBAC on `ClusterState/GetClusterState` [skywalking]

Posted by "hanahmily (via GitHub)" <gi...@apache.org>.
hanahmily commented on issue #14019:
URL: https://github.com/apache/skywalking/issues/14019#issuecomment-5425993999

   This tracking issue is withdrawn. Its TDD round remains an internal checklist item in workflow #14014; only the three workflow issues #14014, #14015, and #14016 are sub-issues of #13994, and no round owns an issue or PR.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org