Шифрование данных при передаче
Так как 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.