Skip to content

[authz] framework-owned 契约 HTTP permission overlay 派生路径(#2205/#2358 follow-up) #2403

Open

Description

@ghbvf

现状

framework-owned 契约(ownerCell: _framework,如 http.devicestate.v1)的 HTTP route gate 由 composition-root 手写(cellmodules/deviceserving/service.go 的 auth.RequirePermissionForResource),不走 #2205 的 endpoints.http.permission overlay → cellgen → auth.NewStaticMethodPolicyResolver / RequirePermissionForContract 路径(该路径目前只覆盖 cell-owned 契约)。当 #2358「standard route MUST 声明 permission」mandatory 化后,framework-owned 契约缺 overlay 派生路径会成为盲区。

证据:contracts/http/devicestate/v1/contract.yaml 无 endpoints.http.permission;tenancy.md §HTTP 授权 contract-derived 化 中 overlay 现为 sparse optional;HTTP-PERMISSION-GATE-WIRING-FUNNEL-01 / 治理 FMT-42 只覆盖 cell-level resolver。

三维根因:代码 = framework serving 经 bootstrap.WithFrameworkHTTPServing 手写 gate,无 overlay 消费点;架构 = contract-derived authz overlay 未覆盖 framework-owned 归属(系统性,所有 framework http 契约);历史 = #2037 / #2348 framework serving 落地时 overlay 尚 sparse optional。

修复方向

Files

  • contracts/http/devicestate/v1/contract.yaml
  • cellmodules/deviceserving/service.go
  • tools/codegen/cellgen/(HTTP overlay 派生)

Source

PR #2400 finding F11(内置 review 架构维度 P3·Cx2)· Discovered via /ship #2351。Related/blocked-by #2358 #2355。

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-auth认证 Authn + 授权 AuthzbacklogBacklog item — automation trigger 入 projectcx-2Cx2 改动量:同包 ≤5 文件pri-p3Priority P3type-feat新功能

    Projects

    • Status
      Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions