HTTP
Эта страница не применима к ClickHouse Cloud. Функция, описанная здесь, недоступна в сервисах ClickHouse Cloud. Смотрите руководство по совместимости с Cloud для получения дополнительной информации.
HTTP сервер может использоваться для аутентификации пользователей ClickHouse. HTTP аутентификация может быть использована только в качестве внешнего аутентификатора для существующих пользователей, которые определены в users.xml
или в локальных путях контроля доступа. В настоящее время поддерживаемая схема аутентификации — Basic с использованием метода GET.
Определение HTTP сервера аутентификации
Чтобы определить HTTP сервер аутентификации, вам нужно добавить секцию http_authentication_servers
в config.xml
.
Пример
Обратите внимание, что вы можете определить несколько HTTP серверов внутри секции http_authentication_servers
, используя разные имена.
Параметры
uri
- URI для выполнения запроса на аутентификацию
Тайм-ауты в миллисекундах для сокета, используемого для общения с сервером:
connection_timeout_ms
- По умолчанию: 1000 мс.receive_timeout_ms
- По умолчанию: 1000 мс.send_timeout_ms
- По умолчанию: 1000 мс.
Параметры повторных попыток:
max_tries
- Максимальное количество попыток выполнения запроса на аутентификацию. По умолчанию: 3retry_initial_backoff_ms
- Начальный интервал задержки при повторной попытке. По умолчанию: 50 мсretry_max_backoff_ms
- Максимальный интервал задержки. По умолчанию: 1000 мс
Пересылаемые заголовки:
Эта часть определяет, какие заголовки будут пересланы от заголовков запроса клиента к внешнему HTTP аутентификатору. Обратите внимание, что заголовки будут сопоставляться с конфигурационными заголовками без учета регистра, но пересылаться в том виде, в каком они есть, т.е. без изменений.
Включение HTTP аутентификации в users.xml
Чтобы включить HTTP аутентификацию для пользователя, укажите секцию http_authentication
вместо password
или аналогичных секций в определении пользователя.
Параметры:
server
- Имя HTTP сервера аутентификации, настроенного в основном файлеconfig.xml
, как описано ранее.scheme
- Схема HTTP аутентификации. В настоящее время поддерживается толькоBasic
. По умолчанию: Basic
Пример (добавляется в users.xml
):
Обратите внимание, что HTTP аутентификация не может использоваться вместе с любым другим механизмом аутентификации. Наличие любых других секций, таких как password
, наряду с http_authentication
заставит ClickHouse завершить работу.
Включение HTTP аутентификации с использованием SQL
Когда SQL-управляемый контроль доступа и управление учетными записями включен в ClickHouse, пользователи, идентифицированные HTTP аутентификацией, также могут быть созданы с использованием SQL-запросов.
...или, Basic
является значением по умолчанию без явного определения схемы
Передача настроек сессии
Если тело ответа от HTTP сервера аутентификации имеет формат JSON и содержит подпункт settings
, ClickHouse попытается разобрать его пары ключ: значение как строковые значения и установить их в качестве настроек сессии для текущей сессии аутентифицированного пользователя. Если разбор не удался, тело ответа от сервера будет проигнорировано.