Исходный код вики G21. Trino

Версия 3.1 от Ирина Сафонова на 19.07.2023, 00:30

Последние авторы
1 **Содержание**
2
3
4 = Общая информация =
5
6 ----
7
8 Поддерживается версия [[Trino>>https://trino.io/]] 352 и выше.
9
10 Укажите следующий формат строки подключения (поле **SQLALCHEMY URI** вкладки **Базовая настройка**):
11
12 {{code language="none"}}
13 trino://{username}:{password}@{hostname}:{port}/{catalog}
14 {{/code}}
15
16 Если вы используете Trino с docker на локальном компьютере, используйте следующий URL-адрес подключения:
17
18 {{code language="none"}}
19 trino://trino@host.docker.internal:8080
20 {{/code}}
21
22 Способы аутентификации
23
24 Поддерживаются следующие способы аутентификации:
25
26 * Базовый
27 * Через Kerberos.
28 * Через сертификат.
29 * Через JWT.
30 * Пользовательский.
31
32 == Базовый способ аутентификации ==
33
34 Вы можете указать имя пользователя/пароль в строке подключения или в поле {{code language="none"}}Secure Extra{{/code}} в Advanced / Security.
35
36 Строка подключения
37
38 {{code language="none"}}
39 trino://{username}:{password}@{hostname}:{port}/{catalog}
40 {{/code}}
41
42 В поле {{code language="none"}}Secure Extra{{/code}}:
43
44 {{code language="none"}}
45 {
46 "auth_method": "basic",
47 "auth_params": {
48 "username": "<username>",
49 "password": "<password>"
50 }
51 }
52 {{/code}}
53
54 {{info}}
55 Если указаны оба параметра, {{code language="none"}}Secure Extra{{/code}} всегда имеет более высокий приоритет.
56 {{/info}}
57
58 == Аутентификация через Kerberos ==
59
60 Настройте поле {{code language="none"}}Secure Extra{{/code}} следующим образом:
61
62 {{code language="none"}}
63 {
64 "auth_method": "kerberos",
65 "auth_params": {
66 "service_name": "superset",
67 "config": "/path/to/krb5.config",
68 ...
69 }
70 }
71 {{/code}}
72
73 == Аутентификация через сертификат ==
74
75 (% id="cke_bm_20700S" style="display:none" %) (%%)Настройте поле {{code language="none"}}Secure Extra{{/code}} следующим образом:
76
77 {{code language="none"}}
78 {
79 "auth_method": "certificate",
80 "auth_params": {
81 "cert": "/path/to/cert.pem",
82 "key": "/path/to/key.pem"
83 }
84 }
85 {{/code}}
86
87 == Аутентификация через JWT ==
88
89 Настройте {{code language="none"}}auth_method{{/code}} и укажите токен в поле {{code language="none"}}Secure Extra{{/code}} следующим образом:
90
91 {{code language="none"}}
92 {
93 "auth_method": "jwt",
94 "auth_params": {
95 "token": "<your-jwt-token>"
96 }
97 }
98 {{/code}}
99
100 == Пользовательская аутентификация ==
101
102 Чтобы использовать пользовательскую аутентификацию, сначала добавьте ее в список разрешений {{code language="none"}}ALLOWED_EXTRA_AUTHENTICATIONS{{/code}} в конфигурационном файле Cloud BI:
103
104 {{code language="none"}}
105 from your.module import AuthClass
106 from another.extra import auth_method
107
108 ALLOWED_EXTRA_AUTHENTICATIONS: Dict[str, Dict[str, Callable[..., Any]]] = {
109 "trino": {
110 "custom_auth": AuthClass,
111 "another_auth_method": auth_method,
112 },
113 }
114 {{/code}}
115
116 Далее настройте поле {{code language="none"}}Secure Extra{{/code}} следующим образом:
117
118 {{code language="none"}}
119 {
120 "auth_method": "custom_auth",
121 "auth_params": {
122 ...
123 }
124 }
125 {{/code}}
126
127 Вы также можете использовать пользовательскую аутентификацию, предоставив ссылку на свой класс {{code language="none"}}trino.auth.Authentication{{/code}} или [[фабричную функцию>>https://wiki.dfcloud.ru/bin/view/Glossary/%D0%A4%D0%B0%D0%B1%D1%80%D0%B8%D1%87%D0%BD%D0%B0%D1%8F%20%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D1%8F]], возвращающая экземпляр Authentication) в auth_method.