Skip to content

feat: introduce group-level access support in central dashboard and KFAM#317

Draft
adrianAzoitei wants to merge 6 commits into
kubeflow:mainfrom
adrianAzoitei:main
Draft

feat: introduce group-level access support in central dashboard and KFAM#317
adrianAzoitei wants to merge 6 commits into
kubeflow:mainfrom
adrianAzoitei:main

Conversation

@adrianAzoitei

@adrianAzoitei adrianAzoitei commented Jun 15, 2026

Copy link
Copy Markdown

Description

closes: #308
related: kubeflow/community-distribution#2910 (comment)

Example of adding a group contributor:
Screenshot 2026-06-15 at 13 43 12
Screenshot 2026-06-15 at 13 43 39
Screenshot 2026-06-15 at 13 43 50

NOTE: The approach to the AuthorizationPolicy is still up for debate. See istio section in #308.

apiVersion: security.istio.io/v1
kind: AuthorizationPolicy
metadata:
  annotations:
    group: foo
    role: edit
  creationTimestamp: "2026-06-15T11:42:59Z"
  generation: 1
  name: group-foo-clusterrole-edit
  namespace: issue-308-test
  resourceVersion: "475380"
  uid: 9ba0283f-56b9-4ce0-b2b3-5ed1e0352c67
spec:
  rules:
  - from:
    - source:
        principals:
        - cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account
        - cluster.local/ns/kubeflow/sa/ml-pipeline-ui
    when:
    - key: request.auth.claims[groups]
      values:
      - foo

TODO

  • extend KFAM to support Group type RoleBindings: reading, adding, deleting
  • extend KFAM to add Istio AuthorizationPolicy suitable for group support
  • extend dashboard to support managing and displaying group contributors
  • extend dashboard to support kubeflow-groups header
  • extend dashboard to list all namespaces with suitable RoleBindings based on both kubeflow-userid and kubeflow-groups headers

AI Policy Disclosure

See https://www.kubeflow.org/docs/about/ai_policy/.
claude-sonnet-4.6 was used as a coding assistant, mostly on the frontend - centraldashboard - component. The model did NOT run in agentic mode, every generated snippet of code was reviewed and / or modified by the submitter.

Signed-off-by: Adrian Azoitei <azo.adrian@gmail.com>
Signed-off-by: Adrian Azoitei <azo.adrian@gmail.com>
@google-oss-prow google-oss-prow Bot added do-not-merge/work-in-progress area/dashboard area - related to central dashboard labels Jun 15, 2026
@google-oss-prow

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign thesuperzapper for approval. For more information see the Kubernetes Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@google-oss-prow google-oss-prow Bot added area/kfam area - releated to kubeflow access management api (kfam) size/XL labels Jun 15, 2026
Signed-off-by: Adrian Azoitei <azo.adrian@gmail.com>
Signed-off-by: Adrian Azoitei <azo.adrian@gmail.com>
Signed-off-by: Adrian Azoitei <azo.adrian@gmail.com>
Signed-off-by: Adrian Azoitei <azo.adrian@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/dashboard area - related to central dashboard area/kfam area - releated to kubeflow access management api (kfam) do-not-merge/work-in-progress size/XL

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Group-level access support

1 participant