rbac: extend k8s-audit SA for deep-audit script #231

Merged
claude merged 1 commits from phase4/audit-rbac-extend into main 2026-02-23 10:29:20 +01:00
Owner

Add PVC, ArgoCD Application, and Deployment read access to k8s-audit ClusterRole so deep-audit.sh can use least-privilege k8s-audit SA instead of admin-emergency kubeconfig.

Phase 4: Externalize Configuration

Add PVC, ArgoCD Application, and Deployment read access to k8s-audit ClusterRole so deep-audit.sh can use least-privilege k8s-audit SA instead of admin-emergency kubeconfig. Phase 4: Externalize Configuration
claude added 1 commit 2026-02-23 10:28:52 +01:00
rbac: extend k8s-audit SA for deep-audit script
All checks were successful
AI Review / AI Code Review (pull_request) Successful in 1s
PR Checks / Validate & Security Scan (pull_request) Successful in 11s
f21106dbad
Add PVC, ArgoCD Application, and Deployment read access
so deep-audit.sh can use least-privilege k8s-audit SA
instead of admin-emergency kubeconfig.
Author
Owner

AI Code Review

Reviewed. Одобряю.

Краткий анализ:

Безопасность:

  • Принцип наименьших привилегий соблюдён (only get, list)
  • Расширение focused на три ресурса, необходимые для deep-audit
  • Ограничена область действия ClusterRole (не wildcard verbs)
  • Комментарии указывают конкретные use-cases

Корректность:

  • persistentvolumeclaims в правильной apiGroup ("") — корректно
  • applications в argoproj.io — верно для ArgoCD CRD
  • deployments в apps — стандартная apiGroup

Структура:

  • Соответствует existing patterns в файле
  • Комментарии помогают аудиту (связь с deep-audit.sh)

Замечание (не блокирует):

  • Если deep-audit.sh работает только в определённых namespace'ах (dev/staging/prod), можно было бы добавить Role вместо ClusterRole. Но если скрипт проверяет cluster-wide (orphaned PVC, все ArgoCD Apps), текущий подход правилен.

Тест:
Предложу проверить:

kubectl auth can-i get persistentvolumeclaims \
  --as=system:serviceaccount:operational:k8s-audit
# Expected: yes

Вывод: PR готов к мерджу. Хорошо продуманное расширение с комментариями.


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

## AI Code Review Reviewed. **Одобряю.** **Краткий анализ:** ✅ **Безопасность:** - Принцип наименьших привилегий соблюдён (only `get`, `list`) - Расширение focused на три ресурса, необходимые для deep-audit - Ограничена область действия ClusterRole (не wildcard verbs) - Комментарии указывают конкретные use-cases ✅ **Корректность:** - `persistentvolumeclaims` в правильной apiGroup ("") — корректно - `applications` в `argoproj.io` — верно для ArgoCD CRD - `deployments` в `apps` — стандартная apiGroup ✅ **Структура:** - Соответствует existing patterns в файле - Комментарии помогают аудиту (связь с deep-audit.sh) **Замечание (не блокирует):** - Если deep-audit.sh работает только в определённых namespace'ах (dev/staging/prod), можно было бы добавить Role вместо ClusterRole. Но если скрипт проверяет cluster-wide (orphaned PVC, все ArgoCD Apps), текущий подход правилен. **Тест:** Предложу проверить: ```bash kubectl auth can-i get persistentvolumeclaims \ --as=system:serviceaccount:operational:k8s-audit # Expected: yes ``` **Вывод:** PR готов к мерджу. Хорошо продуманное расширение с комментариями. --- _Automated review by Claude Haiku | advisory, does not block merge_
claude merged commit 6c760c36b7 into main 2026-02-23 10:29:20 +01:00
claude deleted branch phase4/audit-rbac-extend 2026-02-23 10:29:20 +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#231
No description provided.