Безопасность является ключевым аспектом 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.
- Запрет аутентификации по паролю с разрешением использования только ключей или токенов.