VK Data Platform logo
Помощь
Обновлена 17 июля 2026 г. в 15:34

Подключение к экземпляру сервиса

Подключиться к экземпляру сервиса Cloud Trino можно только по TLS с помощью веб-интерфейса и сторонних клиентов, например DBeaver.

Подключение через веб-интерфейс

  1. Перейдите в раздел Data PlatformЭкземпляры сервисов.

  2. Нажмите на название экземпляра сервиса.

  3. На странице экземпляра перейдите на вкладку Общая информация.

  4. Перейдите по ссылке, указанной в поле Trino Admin UI / CLI Client.

  5. В зависимости от браузера:

    • Google Chrome: нажмите Дополнительные настройкиПерейти на сайт.
    • Mozilla Firefox: нажмите ДополнительноПерейти на <URL_АДРЕС>.
    • Яндекс Браузер: нажмите ПодробнееСделать исключение для этого сайта.
    • Safari: нажмите Подробнеепосетить этот сайт.
  6. Введите логин и пароль учетной записи Cloud Trino.

  7. Нажмите Log In.

Подключение через DBeaver

  1. Перейдите в раздел Data PlatformЭкземпляры сервисов.

  2. Нажмите на название экземпляра сервиса.

  3. На странице экземпляра перейдите на вкладку Общая информация.

  4. Скопируйте URL-адрес, указанный в поле Trino JDBC Connection string.

  5. Откройте DBeaver.

  6. Cоздайте новое подключение к Trino:

    1. Слева в окне Database Navigator нажмите в пустое пространство правой кнопкой мыши и выберите CreateConnection.

    2. В открывшемся окне выберите сервис Trino.

    3. В поле Connect by выберите URL.

    4. Вставьте скопированный URL-адрес в поле JDBC URL.

    5. (Только для Standalone в VK Private Cloud) Укажите логин учетной записи Cloud Trino в поле Username.

    6. (Только для Standalone в VK Private Cloud) Укажите пароль учетной записи Cloud Trino в поле Password.

    7. (Только для Standalone) Добавьте в URL-адрес в поле JDBC URL параметр externalAuthentication=true. Пример:

      jdbc:trino://<АДРЕС_TRINO>:<ПОРТ>?SSL=true&SSLVerification=NONE&externalAuthentication=true

      При подключении DBeaver перенаправит вас в систему CIAM для аутентификации.

    8. Нажмите кнопку Finish.

      Новое подключение отобразится в окне Database Navigator.

  7. Нажмите правой кнопкой мыши на созданное подключение и выберите Connect.

  8. Если DBeaver предложит загрузить драйвер для работы с Trino, загрузите его.

Подключение в Standalone

В Standalone управление идентификацией и доступом выполняется через систему CIAM. Подробнее — в официальной документации CIAM.

Для подключения к Cloud Trino из скрипта или CLI-клиента создайте учетную запись сервисного пользователя и получите CIAM-токен.

Создание сервисного пользователя

  1. Перейдите в раздел Data PlatformЭкземпляры сервисов.

  2. Нажмите на имя нужного экземпляра.

  3. Перейдите на вкладку Сервисные пользователи.

  4. Нажмите Добавить сервисного пользователя.

  5. Нажмите Сгенерировать, чтобы сгенерировать секрет сервисного пользователя. Идентификатор сервисного пользователя создается автоматически.

  6. Нажмите Сохранить изменения.

Получение токена CIAM

Для подключения к Cloud Trino без логина и пароля получите CIAM-токен. Для этого отправьте запрос POST к эндпоинту получения токена CIAM:

ACCESS_TOKEN=$(curl -k -X POST ${<LK_UI_URL>}/iam/hydra/oauth2/token \     -u "${<CLIENT_ID>}:${<CLIENT_SECRET>}" \     -d "grant_type=client_credentials" \     -d "scope=openid" \     -d "audience=${<TRINO_APP_ID>}" | jq -r .access_token)

Здесь:

  • <LK_UI_URL> — URL веб-интерфейса VK Data Platform из адресной строки браузера.
  • <CLIENT_ID> — ID сервисного пользователя.
  • <CLIENT_SECRET> — секрет сервисного пользователя.
  • <TRINO_APP_ID> — ID экземпляра сервиса. Отображается на вкладке Общая информация в поле ID экземпляра.

Подключение через trino-cli

Выполните команду, указав значения переменных:

trino --debug \    --user=${<CLIENT_ID>} \    --server=${<TRINO_URL>} \    --access-token=${<ACCESS_TOKEN>} \    --insecure \    --execute="show catalogs;"

Здесь:

  • <CLIENT_ID> — ID сервисного пользователя.
  • <TRINO_URL> — адрес экземпляра Cloud Trino.
  • <ACCESS_TOKEN> — CIAM-токен, полученный ранее.

Подключение через Python-скрипт

Создайте Python-файл и скопируйте в него скрипт, указав значения переменных:

import jsonfrom urllib.parse import quoteimport requestsfrom trino.auth import JWTAuthenticationfrom trino.dbapi import connectoauth2_token_url = f"{<LK_UI_URL>}/iam/hydra/oauth2/token"response = requests.post(    oauth2_token_url,    auth=(<CLIENT_ID>, quote(<CLIENT_SECRET>)),    data={        "grant_type": "client_credentials",        "scope": "openid",        "audience": <TRINO_APP_ID>,    },    verify=False,    timeout=10,)access_token = json.loads(response.text)["access_token"]conn = connect(    host=<TRINO_URL>,    port=<TRINO_PORT>,    http_scheme="https",    auth=JWTAuthentication(access_token),    verify=False,)cur = conn.cursor()cur.execute("SHOW catalogs")rows = cur.fetchall()for row in rows:    print(row)

Здесь:

  • <LK_UI_URL> — URL веб-интерфейса VK Data Platform из адресной строки браузера.
  • <CLIENT_ID> — ID сервисного пользователя.
  • <CLIENT_SECRET> — секрет сервисного пользователя.
  • <TRINO_APP_ID> — ID экземпляра сервиса. Отображается на вкладке Общая информация в поле ID экземпляра.
  • <TRINO_URL> — адрес экземпляра Cloud Trino.
  • <TRINO_PORT> — порт экземпляра Cloud Trino.

Удаление сервисного пользователя

Если сервисный пользователь больше не нужен, удалите его, чтобы отозвать доступ к экземпляру сервиса.

  1. Перейдите в раздел Data PlatformЭкземпляры сервисов.
  2. Нажмите на имя нужного экземпляра.
  3. Перейдите на вкладку Сервисные пользователи.
  4. Нажмите ••• для нужного сервисного пользователя и выберите пункт Удалить.
  5. Подтвердите удаление.