Проверка подлинности FoundationDB - PullRequest
0 голосов
/ 27 июня 2018

Кластер FoundationDB можно настроить на использование SSL / TLS, но можно ли подключиться к кластеру, не зная файл fdb.cluster кластера?

Другими словами, является ли fdb.cluster файл эквивалентным схеме безопасности имени пользователя / пароля в других системах баз данных?

Ответы [ 2 ]

0 голосов
/ 12 июля 2018

Файл fdb.cluster состоит из 2 основных частей (см. Формат файла кластера ):

  • Кластер id (с дополнительным description)
  • Список одного или нескольких координаторов IP:PORT пар.

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

Это означает, что вы должны предоставить себе исходный файл кластера для вашего приложения. После подключения к узлу-координатору он сможет получить полный список и самостоятельно обновить файл кластера (при изменении топологии).

Одно из решений для развертывания состоит в том, чтобы приложение (или сценарий развертывания) загрузило последнюю версию fdb.cluster с внутреннего URL-адреса (или общей папки), если файл отсутствует, для быстрого запуска установки.

Что касается аутентификации, если вы не используете TLS / SSL, часть "id" в файле кластера действует как псевдо-открытый текстовый пароль. Даже если у вас есть правильный набор координаторов, приложение также должно иметь правильный идентификатор кластера.

Хотя это следует рассматривать как эквивалент базы данных имени в типичном сервере SQL. Его легко найти и передать открытым текстом, если вы не используете SSL. Я предполагаю, что это предотвращает глупые ошибки, больше всего (напр .: ввод IP: PORT другого кластера).

0 голосов
/ 28 июня 2018

Невозможно подключиться без файла кластера. Это обеспечивает некоторую слабую безопасность, но гораздо лучше использовать взаимную поддержку TLS, если вы хотите запустить кластер в ненадежной сети.

...