Пользовательский подключаемый модуль для аутентификации PasswordAuthenticator Presto не запускается - PullRequest
0 голосов
/ 19 июня 2019

Я создал подключаемый модуль аутентификации предварительно настроенного пароля (внутренний), сделав копию плагина LDAP и изменив его. Вы можете увидеть этот код здесь: https://github.com/prestodb/presto/tree/master/presto-password-authenticators/src/main/java/com/facebook/presto/password.

Я создал копии Authenticator, AuthenticatorFactory и конфигурации и изменил их, чтобы в основном просто взять имя пользователя / пароль из конфигурации и разрешить вход только этому пользователю. Я также поместил новый класс в регистрационный код PasswordAuthenticatorPlugin.

Я вижу загрузку плагина при запуске presto, но он ничего не делает, несмотря на отсутствие ошибок. Чего мне не хватает?

1 Ответ

0 голосов
/ 19 июня 2019

Примечание: я уже нашел решение для этого, я просто записываю его на SO, как я пришел сюда и не нашел помощи.

Чтобы подключаемый модуль с настраиваемым паролем работал, вам действительно нужно включить HTTPS для связи с координатором. Вы можете увидеть эту рекомендацию в нижней части их документации:

https://prestodb.github.io/docs/current/develop/password-authenticator.html

Кроме того, координатор должен быть настроен на использование аутентификации по паролю и активирован HTTPS.

Итак, шаги, чтобы заставить это работать:

  1. Убедитесь, что у вашего основного config.properties есть «http-server.authentication.type = PASSWORD».
  2. Убедитесь, что вы добавили password-authenticator.properties рядом со свойствами конфигурации с содержимым, подобным образцу в приведенной выше ссылке. Но убедитесь, что вы используете свою строку из вашего аутентификатора в качестве имени и добавляете вместо этого свойства конфигурации (имя пользователя и пароль).
  3. Настройка магазина JKS или реального сертификата (некоторые инструкции от Presto для JKS: https://prestodb.github.io/docs/current/security/tls.html).
  4. Добавьте SSL config в ваши config.properties.
    • HTTP-server.https.enabled = верно
    • HTTP-server.https.port = 8443
    • HTTP-server.https.keystore.path = / и т.д. / престо-хранилище ключей / keystore.jks
    • HTTP-server.https.keystore.key = password123
  5. Настройте драйвер JDBC для использования того же хранилища ключей.

Я написал в нем блог с более подробной информацией, если что-то из этого не имеет смысла. Но после всего этого вы должны обнаружить, что для него требуется пароль и он принудительно применяет ваш плагин.

https://coding -stream-of-consciousness.com / 2019/06/18 / гоп-заказ пароля аутентификацией плагин-внутренний /

...