Skip to content

bug(apps): dashboard resource Roles grant list and watch under resourceNames, which never matches #3613

Open

Description

Every packages/apps/*/templates/dashboard-resourcemap.yaml, 18 files, emits a Role named {{ .Release.Name }}-dashboard-resources whose rules pair resourceNames with verbs: ["get", "list", "watch"]. See packages/apps/bucket/templates/dashboard-resourcemap.yaml:9-14 for the secrets rule. A list or watch request carries no resource name, so the authorizer cannot match it against a rule that has resourceNames set, and only the get in those verb lists is ever effective.

A subject holding only this Role can fetch each object by name but gets a 403 on any collection request, so anything that enumerates rather than fetches comes back empty or errors.

The fix is to split each rule in two, keeping resourceNames with get and adding a separate name-less rule for list and watch scoped by resource type, accepting that list and watch are then namespace-wide for that type since that is the only granularity RBAC offers. Doing it in one sweep across all 18 charts keeps them consistent.

Activity

  1. myasnikovdaniil commented on Aug 16, 2026

    @myasnikovdaniil
    Contributor

    Same defect in one more place, found while building #3847: the vm-disk chart's per-release Role grants get, list and watch on the DataVolume under resourceNames. Only get works, the other two read as granted and are not, so a caller that wants to follow the disk has to poll instead of watch.

  2. added
    triage/acceptedIndicates an issue is ready to be actively worked on
    priority/backlogGeneral backlog priority. Lower than priority/important-longterm
    and removed
    triage/needs-triageIndicates an issue needs triage by a maintainer
    on Sep 23, 2026
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/dashboardIssues or PRs related to the dashboard / UIkind/bugCategorizes issue or PR as related to a bugpriority/backlogGeneral backlog priority. Lower than priority/important-longtermtriage/acceptedIndicates an issue is ready to be actively worked on

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions