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 попытается разобрать его пары ключ: значение как строковые значения и установить их в качестве настроек сессии для текущей сессии аутентифицированного пользователя. Если разбор завершится неудачей, тело ответа от сервера будет проигнорировано.