Разрешения для запросов
Запросы в ClickHouse можно разделить на несколько типов:
- Запросы на чтение данных:
SELECT,SHOW,DESCRIBE,EXISTS. - Запросы за запись данных:
INSERT,OPTIMIZE. - Запросы на изменение настроек:
SET,USE. - Запросы DDL:
CREATE,ALTER,RENAME,ATTACH,DETACH,DROPTRUNCATE. KILL QUERY.
Разрешения пользователя по типу запроса регулируются параметрами:
- readonly — ограничивает разрешения для всех типов запросов, кроме DDL.
- allow_ddl — ограничивает разрешения для DDL запросов.
KILL QUERY выполняется с любыми настройками.
readonly
Ограничивает разрешения для запросов на чтение данных, запись данных и изменение параметров.
Разделение запросов по типам смотрите по тексту выше по тексту.
Возможные значения
- 0 — разрешены все запросы.
- 1 — разрешены только запросы на чтение данных.
- 2 — разрешены запросы на чтение данных и изменение настроек.
После установки readonly = 1 или 2 пользователь не может изменить настройки readonly и allow_ddl в текущей сессии.
При использовании метода GET в HTTP интерфейсе, readonly = 1 устанавливается автоматически. Для изменения данных используйте метод POST.
Установка readonly = 1 запрещает изменение всех настроек. Существует способ запретить изменения только некоторых настроек, см. ограничения на изменение настроек.
Значение по умолчанию
0
allow_ddl
Разрешает/запрещает DDL запросы.
Разделение запросов по типам смотрите по тексту выше по тексту.
Возможные значения
- 0 — DDL запросы не разрешены.
- 1 — DDL запросы разрешены.
Если allow_ddl = 0, то невозможно выполнить SET allow_ddl = 1 для текущей сессии.
Значение по умолчанию
1