Group impersonation fails in Console with Direct Authentication: "Failed to load groups - Model does not exist"
Maintainer thường phản hồi trong vòng 1 ngày
@Khushboo1206 đang làm issue này rồi.
Từ ngày 23/9/2026.
Đánh giá
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức phù hợp với người mới
- 67/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Ít trao đổi
- Công nghệ
- typescript
- Lĩnh vực
- authorization, frontend
Hướng nghiên cứu
Bắt đầu từ modal “Impersonate user” trên masthead của Console và bộ chọn nhóm của nó, hiện đang cố gắng liệt kê các tài nguyên Group. Theo dõi luồng tải và gửi của bộ chọn, sau đó xác minh rằng một hoặc nhiều tên nhóm được nhập thủ công hoạt động mà không yêu cầu model group.openshift.io và lỗi model được tránh.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Summary
When Direct Authentication (structured authentication / external OIDC, aka "BYO" OIDC) is enabled on OpenShift, the built-in OAuth group.openshift.io model no longer exists. User impersonation continues to work fine — the masthead "Impersonate user" flow accepts a username and impersonates it as expected. The problem is scoped to the groups portion of that same modal: when attempting to add groups to an impersonation request, the UI tries to build a selectable list from all Group resources in the cluster. Because the Group model does not exist under Direct Authentication, the groups selector fails with:
Failed to load groups
Model does not exist
Group impersonation itself is still valid and useful in this mode — Kubernetes RBAC continues to honor impersonated groups (Impersonate-Group) regardless of whether the OpenShift group.openshift.io model exists. The problem is purely in the UI's assumption that a discoverable pool of Group resources exists to populate a selectable list.
Version
- OpenShift Container Platform: 4.22
- Console: shipped with OCP 4.22
- Auth mode: Direct Authentication (structured authentication / external OIDC)
Steps to reproduce
- Configure a cluster to use Direct Authentication (structured authentication /
external OIDC), so the built-ingroup.openshift.iomodel is gone. - In the Console masthead, open the user menu and choose Impersonate user.
- Enter a username — user impersonation works as expected.
- Attempt to add/select groups for the impersonation request.
- Observe the
failed to load groups - model does not existerror; the groups
selector cannot load.
Current behavior
User impersonation works. Only the groups selector in the impersonation modal is broken: it attempts to enumerate group.openshift.io Group resources to populate a selectable groups list. Under Direct Authentication that model does not exist, so the request fails and group impersonation is unusable in the UI.
Expected behavior
Group impersonation must still work under Direct Authentication. The fix is in
the UI:
- Allow free-form entry of group names instead of enumerating cluster
Groupresources. - Preserve multiple-group impersonation. The current GUI already supports
selecting multiple groups, andkubectlsupports it via a repeatable
--as-groupflag. Free-form entry must likewise accept one or more group
names. - Gracefully handle the absence of the
group.openshift.iomodel — do not
hard-fail with "model does not exist" when the model is unavailable.
In short: replace the enumerated/selectable group list with free-form entry of one or more group names, preserving the existing multi-group capability.
Non-goal
There is intentionally no authoritative pool of groups to list in this mode. The only way to synthesize one would be to extrapolate group names from RoleBinding / ClusterRoleBinding subjects, which is undesirable (incomplete, misleading, and not a real source of truth) and should not be done. Free-form entry of one or more group names is the correct fix.
Impact
As clusters move to Direct Authentication, the OpenShift group.openshift.io model is eliminated. User impersonation still works, but the Console's dependency on enumerating cluster Group resources makes group impersonation unusable in the UI under Direct Authentication — even though group impersonation remains valid and enforced by Kubernetes RBAC.
Frequency
Reproducible — occurs every time group impersonation is attempted while Direct Authentication is enabled.
Related
- Jira RFE: RFE-9146 (service account impersonation in the Console)
- Related PR: openshift/console#17026 — adds first-class service account
impersonation to the masthead modal (same modal that owns the group selector) - Red Hat support case: 04520499
- Ngôn ngữ chính
- TypeScript
- Star
- 460
- Fork
- 769
- Merge trung bình
- 3 ngày 10 giờ
- Pull request đã merge (30 ngày)
- 52
Chuẩn bị môi trường
- Có Dockerfile hoặc tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của openshift/console
-
Users page prompts to add IDPs via in-cluster OAuth on hosted control plane clustersCó thể đã có người làm @fallmo đã nhận 25 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Bug(release-4.22): incorrect duration calculationCó thể đã có người làm @ardey-hash đã nhận 69 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Improve: RWOP (ReadWriteOncePod) access mode is grayed out for Cinder CSICó thể đã có người làm @kchawlani19 đã nhận 56 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
openshift/console#16866 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
Maintainer thường phản hồi trong vòng 1 ngày
-
lifecycle/rotten
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 45/100
openshift/console#16680 · 2 bình luận · 2 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của openshift/console
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
cline/cline#15327 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
LogicLabs-OU/OpenArchiver#509 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
bigcapitalhq/bigcapital#1545 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 83/100
Maintainer thường phản hồi trong vòng 1 ngày