Add OIDC RBAC for Keycloak groups (Phase 15) #169

Merged
claude merged 1 commits from feat/oidc-rbac into main 2026-02-19 14:03:28 +01:00
Owner

ClusterRoleBindings:

  • oidc:infra-admins -> cluster-admin
  • oidc:infra-bots -> oidc-readonly
ClusterRoleBindings: - oidc:infra-admins -> cluster-admin - oidc:infra-bots -> oidc-readonly
claude added 1 commit 2026-02-19 14:02:30 +01:00
Add OIDC RBAC for Keycloak groups (Phase 15)
All checks were successful
AI Review / AI Code Review (pull_request) Successful in 3s
PR Checks / Validate & Security Scan (pull_request) Successful in 10s
ebf830bee1
Author
Owner

AI Code Review

Обзор PR: OIDC RBAC для групп Keycloak

Статус: Хорошо. Основные проблемы отсутствуют, но есть замечания.

Проблемы

  1. cluster-admin для infra-admins — риск

    • cluster-admin позволяет полный доступ, включая удаление критических ресурсов (etcd, kyverno, cert-manager)
    • Рекомендация: создать ClusterRole с явным whitelist (etcd ops, kyverno policies, cert debugging), вместо cluster-admin
    • Особенно критично при OIDC — любой в группе oidc:infra-admins получит полный доступ
  2. audit-лог не указан

    • Нет аннотации description или комментариев о том, кто/когда создал
    • Рекомендация: добавить description и created-by аннотацию для трейсирования
  3. Отсутствует тест доступа

    • Нет проверки, что группа oidc:infra-admins от Keycloak действительно передаётся в K8s token с нужным format oidc:GROUP_NAME
    • Рекомендация: добавить в CI тест kubectl auth can-i с OIDC токеном

Замечания (не критично)

  • Формат group name (oidc:infra-admins) соответствует конфигу Keycloak OIDC
  • oidc-readonly покрывает нужные API (apps, batch, kyverno, cert-manager, argocd)
  • Нет * на modify/delete — правильно

Рекомендации

metadata:
  name: oidc-infra-admins
  annotations:
    description: "OIDC infra-admins group from Keycloak infrastructure realm"

Вывод: Мерж возможен после замены cluster-admin на scoped ClusterRole и добавления теста в CI.


Automated review by Claude Haiku | advisory, does not block merge

## AI Code Review ## Обзор PR: OIDC RBAC для групп Keycloak **Статус:** ✅ Хорошо. Основные проблемы отсутствуют, но есть замечания. ### Проблемы 1. **cluster-admin для infra-admins — риск** - `cluster-admin` позволяет полный доступ, включая удаление критических ресурсов (etcd, kyverno, cert-manager) - Рекомендация: создать `ClusterRole` с явным whitelist (etcd ops, kyverno policies, cert debugging), вместо `cluster-admin` - Особенно критично при OIDC — любой в группе `oidc:infra-admins` получит полный доступ 2. **audit-лог не указан** - Нет аннотации `description` или комментариев о том, кто/когда создал - Рекомендация: добавить `description` и `created-by` аннотацию для трейсирования 3. **Отсутствует тест доступа** - Нет проверки, что группа `oidc:infra-admins` от Keycloak действительно передаётся в K8s token с нужным format `oidc:GROUP_NAME` - Рекомендация: добавить в CI тест `kubectl auth can-i` с OIDC токеном ### Замечания (не критично) - ✅ Формат group name (`oidc:infra-admins`) соответствует конфигу Keycloak OIDC - ✅ `oidc-readonly` покрывает нужные API (apps, batch, kyverno, cert-manager, argocd) - ✅ Нет `*` на modify/delete — правильно ### Рекомендации ```yaml metadata: name: oidc-infra-admins annotations: description: "OIDC infra-admins group from Keycloak infrastructure realm" ``` **Вывод:** Мерж возможен после замены `cluster-admin` на scoped `ClusterRole` и добавления теста в CI. --- _Automated review by Claude Haiku | advisory, does not block merge_
claude merged commit 6227e1ed34 into main 2026-02-19 14:03:28 +01:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: claude/k8s-apps#169
No description provided.