Шифрование данных при передаче

Так как YDB является распределённой системой, обычно работающей на кластере, часто расположенным в нескольких датацентрах или зонах доступности, пользовательские данные регулярно передаются по сети. Могут использоваться различные протоколы, каждый из которых может быть настроен для работы с использованием TLS. Ниже приведён список протоколов, поддерживаемых YDB:

  • Интерконнект — специализированный протокол для общения между узлами YDB.

  • YDB в роли сервера:

    • gRPC — для внешнего взаимодействия с клиентскими приложениями, разработанными для нативной работы с YDB через SDK или CLI.
    • Протокол PostgreSQL — для внешнего взаимодействия с клиентскими приложениями, изначально разработанными для работы с PostgreSQL.
    • Протокол Kafka — для внешнего взаимодействия с клиентскими приложениями, изначально разработанными для работы с Apache Kafka.
    • HTTP — для работы с встроенным UI, публикации метрик и других вспомогательных конечных эндпоинтов.
  • YDB в роли клиента:

    • LDAP — для аутентификации пользователей.
    • Федеративные запросы — функциональность, позволяющая YDB выполнять запросы к различным внешним источникам данных. Запросы к некоторым источникам отправляются напрямую из процесса ydbd, в то время как другие проксируются через отдельный процесс-коннектор.
    • Трассировочные данные отправляются во внешний сборщик через gRPC.
  • В асинхронной репликации между двумя базами данных YDB одна из них выступает в роли клиента для другой.

По умолчанию шифрование данных при передаче отключено и должно быть включено отдельно для каждого протокола. Они могут использовать общий набор TLS-сертификатов или отдельные. Инструкции по включению TLS можно найти в разделе Настройка TLS.