Skip to content

Безопасность и управление доступом ​

Kubron объединяет собственные разрешения приложения с правами Kubernetes identity, используемой для подключения к кластеру. Backend проверяет разрешения для каждой защищённой операции; скрытие кнопки в интерфейсе не является границей безопасности.

Встроенные пользователи и роли ​

В Kubron есть локальные учётные записи и три встроенные роли:

РольРазрешения
adminПолный доступ к кластерам и привилегированным операциям; управление пользователями и командами организации, а также доступ к аудиту имеют отдельную область действия
operatorЧтение, доступ к значениям Secret и безопасные операционные действия: масштабирование, перезапуск и rollback workloads
userТолько чтение; без значений Secret, операций записи, терминалов и port-forward

Разрешения детализированы: чтение ресурсов, secrets.read, operate, write, exec, nodeshell, portforward, управление кластерами и пользователями, доступ к аудиту. Например, чтение значений Secret отделено от просмотра списка объектов Secret.

Изоляция команд в Web ​

В Web team mode с PostgreSQL каждый кластер принадлежит одной команде, а разрешения Kubron определяются ролью пользователя в этой команде. Администратор организации может управлять пользователями и командами, но не получает автоматический доступ к данным кластеров без членства в команде. Kubernetes RBAC остаётся отдельным дополнительным ограничением.

Аутентификация и защита сессий ​

  • Пароли хранятся в виде хешей Argon2id (19 МиБ памяти, 2 итерации, 1 поток, случайная соль 16 байт). Длина пароля — от 8 до 256 байт. Хеши прежних версий (PBKDF2-SHA256) по-прежнему принимаются и автоматически обновляются при следующем успешном входе, поэтому сбрасывать пароли не нужно.
  • После неудачных попыток входа включается временная блокировка.
  • При бездействии сессия автоматически завершается; интерактивные ресурсы, например терминалы и port-forward, закрываются вместе с ней.
  • Web-сессии используют защищённые cookie, CSRF-проверку и проверку Origin. При работе по HTTPS cookie сессии имеет флаги HttpOnly, Secure и SameSite=Lax.

Шифрование секретов при хранении ​

В Web service mode с PostgreSQL kubeconfig и чувствительные учётные данные Helm-репозиториев шифруются до записи в БД. Ключ шифрования сервера необходимо защищать и резервировать отдельно от базы данных: при его потере зашифрованные учётные данные восстановить нельзя. См. конфигурацию сервера и руководство по развёртыванию.

Desktop хранит kubeconfig локально в каталоге данных Kubron с ограниченными правами файловой системы. Локальное приложение использует kubeconfig напрямую; он не загружается в облачный сервис Kubron.

Журнал аудита ​

Журнал фиксирует выбранные привилегированные и административные действия, их результат и контекст пользователя. Также записываются начало и завершение интерактивных сессий — терминалов Pod, node shell и port-forward. Обычный просмотр данных не создаёт отдельную запись на каждый запрос.

Контроли сервера ​

Администратор сервера может отключить Pod exec, node shell или port-forward для всех пользователей. Web также применяет сетевые политики к подключениям к Kubernetes API и Helm-репозиториям для снижения SSRF-риска. См. конфигурацию Web.

Приватность и расширения ​

Kubron не отправляет продуктовую телеметрию и не требует аккаунт у облачного SaaS-провайдера Kubron. Для доступа к приложению используются локальные учётные записи. Доступен публичный Go API расширений; встроенный вход пользователей организации через SSO/OIDC пока не входит в доступный sign-in flow.

Released under the Apache-2.0 License.