Безопасность является ключевым аспектом Deckhouse Code. Инструмент предоставляет механизмы защиты кода, управления доступом и аудита изменений.

Настраиваемые уровни доступа

Deckhouse Code предлагает гибкую систему прав, позволяя контролировать доступ к коду и настройкам проекта.

Механизмы контроля доступа:

  • Роли пользователей: реализован паттерн Role Based Access Control (RBAC) с предустановленными ролями: гость, наблюдатель, разработчик, мейнтейнер, владелец.
  • Защищенные ветки (protected branches): запрет на прямые коммиты в определённые ветки, модификация которых доступна только через запросы на слияние.
  • Защищенные теги (protected tags): запрет на создание или изменение тегов без разрешения.
  • Механизмы аутентификации: поддержка SAML, LDAP, OIDC для интеграции со сторонними сервисами.
  • Групповые политики доступа: единые настройки безопасности для всех проектов внутри группы.

Логирование действий пользователей и администраторов

Встроенные события аудита позволяют отслеживать важные изменения на уровне проекта или всей системы.

Отслеживаемые действия:

  • Изменение настроек группы или проекта.
  • Создание, удаление и обновление веток и тегов.
  • Изменение прав пользователей.
  • Добавление и удаление ключей пользователя.
  • Успешные и неуспешные попытки входа в систему.

Доступ к этой информации возможен через веб-интерфейс или путём экспорта для внешнего анализа.

Двухфакторная аутентификация (2FA)

Для повышения безопасности аккаунтов поддерживается двухфакторная аутентификация (2FA).

Поддерживаемые методы:

  • Приложения-аутентификаторы (Google Authenticator, Authy).
  • Аппаратные ключи безопасности (U2F, WebAuthn).

Возможна настройка обязательного использования 2FA для всех пользователей проекта.

Контроль доступа по SSH и HTTPS

Deckhouse Code поддерживает два метода подключения к репозиториям:

  • SSH-ключи: безопасный способ аутентификации без использования пароля.
  • HTTPS + токены доступа (Personal Access Tokens): удобный способ, требующий хранения пароля или токена.

Дополнительные настройки:

  • Ограничение использования только HTTPS или SSH.
  • Запрет аутентификации по паролю с разрешением использования только ключей или токенов.