TLS и сертификаты

Stable

Как в SPG99 работает TLS для Gateway и Compute, какие режимы sslmode использовать и почему plaintext не является штатным сценарием.

Обновлено: 5 марта 2026 г.

SPG99 использует TLS на внешних и ключевых внутренних точках взаимодействия. Для пользователя главное правило простое: подключайтесь как минимум с sslmode=require и не рассчитывайте на plaintext‑режим.

PostgreSQL-подключения через Gateway

Клиенты подключаются к Gateway — единой PostgreSQL‑точке входа платформы.

  • Gateway принимает подключения только по TLS.
  • Минимальный рекомендуемый режим — sslmode=require.
  • Для более строгой проверки используйте verify-full и корректный CA‑chain.

Пример DSN:

postgres://<pg_user>:<pg_password>@<gateway-host>:5432/<db-name>?sslmode=require

Что происходит внутри Compute

Compute тоже работает в управляемой TLS‑модели:

  • агент подхватывает готовые сертификаты из секрета или временно поднимает self‑signed на раннем этапе старта;
  • затем при необходимости получает подписанный сертификат через control plane;
  • PostgreSQL конфигурируется так, чтобы сетевой доступ шёл через hostssl.

Для пользователя это важно потому, что база не проходит через этап «на старте была без TLS, потом включили». Шифрование является частью штатного сценария запуска.

Парольная аутентификация

Для клиентских подключений используется современная схема:

  • SCRAM-SHA-256

Поэтому в DSN и приложениях используйте обычные tenant‑креды pg_user / pg_password, а не API key.

Какой sslmode выбрать

  • require — минимальный безопасный вариант, шифрование включено, но без строгой проверки цепочки.
  • verify-ca / verify-full — более строгие режимы для production‑окружений с требованиями к проверке сертификата и hostname.

Если вы работаете в self‑hosted‑контуре, заранее убедитесь, что клиентам доступен корректный CA‑chain.

Что важно помнить

  • API key используется только для Control Plane API, Console и CLI.
  • В DSN должны быть только PostgreSQL‑креды tenant.
  • Plaintext‑подключение к Gateway не является штатным сценарием.
  • Если клиент жалуется на TLS, сначала проверьте sslmode, CA‑chain и hostname, а уже потом саму базу.