Передача учетных данных в Trino
Обзор
Передача учетных данных (credentials propagation) в Trino позволяет аутентифицироваться от имени текущего пользователя через коннекторы, такие как ADB, PostgreSQL, ClickHouse и другие. Это обеспечивает большую безопасность при доступе к данным.
В этой статье описывается, как включить и настроить передачу учетных данных для Trino в кластерах Arenadata.
|
ПРИМЕЧАНИЕ
Эта функция работает для JDBC-коннекторов и при использовании HTTP-аутентификации с паролем (свойство |
Включение credentials propagation
Когда значение параметра arenadata.http-server.authentication.password.populate-extra-credentials установлено в true, Trino автоматически добавляет имя пользователя и пароль из текущей сессии в extra credentials. Используемый коннектор считывает эти учетные данные и аутентифицирует запрос от имени пользователя.
Чтобы включить передачу учетных данных с помощью ADCM:
-
На странице Clusters выберите нужный кластер.
-
Перейдите в Services → Trino → Components → Trino Coordinator/Trino Worker и включите опцию Show advanced.
-
Откройте раздел Custom node.properties и нажмите Add property.
-
Введите arenadata.http-server.authentication.password.populate-extra-credentials в качестве имени поля и
true— в качестве значения. -
Сохраните конфигурацию, нажав Save, и перезапустите компонент через Actions → Restart.
Для каждого коннектора, который должен использовать передаваемые учетные данные, добавьте следующие свойства в конфигурационный файл коннектора:
user-credential-name=arenadata.username
password-credential-name=arenadata.password
Дополнительную информацию о настройке коннекторов можно получить в статье Обзор коннекторов в Trino.
Пример
Чтобы проверить, что передача учетных данных работает корректно:
-
Подключитесь к Trino, используя CLI. Пример команды для подключения:
$ ./trino https://<coordinator_host>:18188 --user=<username> --password -
Введите пароль.
-
Выполните запрос к коннектору, который использует передаваемые учетные данные:
SHOW TABLES FROM adb.default;
Коннектор выполнит аутентификацию, используя предоставленные учетные данные пользователя.