DDP предоставляет набор встроенных механизмов безопасности, обеспечивающих контроль доступа, защиту учетных данных и аудит действий пользователей при работе с платформой.

Аутентификация

Аутентификация пользователей в DDP выполняется с использованием внешнего сервиса Dex, развернутого в составе Deckhouse Kubernetes Platform.

Dex обеспечивает интеграцию с внешними провайдерами аутентификации (Keycloak, LDAP и другими) через стандартные протоколы OIDC и LDAP. DDP Backend использует ключи подписи, получаемые от Dex, для проверки JWT-токенов и аутентификации запросов к API. Настройка выполняется на стороне DKP, дополнительная настройка в DDP не требуется.

Ролевая модель (RBAC)

В DDP реализована ролевая модель доступа, обеспечивающая разграничение прав пользователей и контроль операций, выполняемых в платформе.

Модель поддерживает иерархию ролей и проверку разрешений на уровне супер-администратора, глобальных ролей, ролей ресурсов и ролей сущностей. Подробнее — в документации по ролевой модели.

Учетные данные

DDP обеспечивает централизованное и безопасное хранение учетных данных, используемых для интеграции с внешними системами и сервисами. Хранение и обработка учетных данных выполняются на стороне DDP Backend с использованием базы данных PostgreSQL.

Перед сохранением в базе данных учетные данные шифруются с применением алгоритма AES-GCM. Расшифровка выполняется DDP Backend только в момент использования учетных данных в действиях, источниках данных или виджетах. Подробнее — в документации по учетным данным.

Доверенные сертификаты

DDP позволяет добавлять в хранилище корневые и промежуточные сертификаты (CA) или сертификаты серверов. Они используются при проверке TLS в исходящих HTTPS-запросах к внешним сервисам (в действиях, виджетах, источниках данных и др.).

Управление доверенными сертификатами осуществляется через веб-интерфейс в разделе «Администрирование» → «Доверенные сертификаты». Подробнее — в документации по доверенным сертификатам.

Аудит-логи

Аудит-логи предназначены для регистрации действий пользователей и контроля операций, выполняемых через API платформы. Формирование аудит-логов выполняется на стороне DDP Backend.

Такие логи создаются автоматически для всех HTTP-запросов, за исключением GET. Каждая запись содержит информацию о пользователе, IP-адресе клиента, эндпоинте, HTTP-методе и статусе ответа.

Аудит-логи сохраняются в базе данных PostgreSQL и доступны для просмотра через веб-интерфейс платформы. Подробнее — в документации по аудит-логам.

HTTP-заголовки безопасности

Для защиты веб-интерфейса и API платформы DDP используются стандартные HTTP-заголовки безопасности. Их формирование и применение выполняется на стороне DDP Frontend и DDP Backend. Заголовки направлены на снижение рисков XSS-атак, clickjacking, предотвращения MIME-sniffing, контроля передачи информации о реферере, а также на принудительное использование защищённого соединения HTTPS.

В платформе применяются следующие HTTP-заголовки безопасности:

  • Content Security Policy (CSP).
  • X-Frame-Options.
  • X-Content-Type-Options.
  • X-XSS-Protection.
  • Referrer-Policy.
  • Permissions-Policy.
  • Strict-Transport-Security (HSTS).

Настройка осуществляется в конфигурации DDP в секции security.headers. Подробнее — в документации по HTTP-заголовкам безопасности.