Разрешения для запросов
Запросы в ClickHouse можно разделить на несколько типов:
- Запросы на чтение данных:
SELECT
,SHOW
,DESCRIBE
,EXISTS
. - Запросы за запись данных:
INSERT
,OPTIMIZE
. - Запросы на изменение настроек:
SET
,USE
. - Запросы DDL:
CREATE
,ALTER
,RENAME
,ATTACH
,DETACH
,DROP
TRUNCATE
. 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