Передача учетных данных в 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;
Коннектор выполнит аутентификацию, используя предоставленные учетные данные пользователя.