Изменения документа F19. Trino

Редактировал(а) Ирина Сафонова 23.01.2024, 01:06

От версии 1.1
отредактировано Ирина Сафонова
на 18.07.2023, 23:21
Изменить комментарий: К данной версии нет комментариев
К версии 3.1
отредактировано Ирина Сафонова
на 19.07.2023, 00:30
Изменить комментарий: К данной версии нет комментариев

Сводка

Подробности

Свойства страницы
Содержимое
... ... @@ -5,4 +5,123 @@
5 5  
6 6  ----
7 7  
8 -Поддерживается версия Trino 352 и выше.
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.