2020-10-26 10:29:30 +00:00
---
toc_priority: 58
2021-03-08 14:54:44 +00:00
toc_title: "Разрешения для запросов"
2020-10-26 10:29:30 +00:00
---
2020-03-22 09:14:59 +00:00
# Разрешения для запросов {#permissions_for_queries}
2018-12-04 09:27:38 +00:00
Запросы в ClickHouse можно разделить на несколько типов:
2020-03-20 18:20:59 +00:00
1. Запросы на чтение данных: `SELECT` , `SHOW` , `DESCRIBE` , `EXISTS` .
2. Запросы за запись данных: `INSERT` , `OPTIMIZE` .
3. Запросы на изменение настроек: `SET` , `USE` .
4. [Запросы DDL ](https://ru.wikipedia.org/wiki/Data_Definition_Language ): `CREATE` , `ALTER` , `RENAME` , `ATTACH` , `DETACH` , `DROP` `TRUNCATE` .
5. `KILL QUERY` .
2018-12-04 09:27:38 +00:00
Разрешения пользователя по типу запроса регулируются параметрами:
2020-03-21 04:11:51 +00:00
- [readonly ](#settings_readonly ) — ограничивает разрешения для всех типов запросов, кроме DDL.
2020-10-13 17:23:29 +00:00
- [allow_ddl ](#settings_allow_ddl ) — ограничивает разрешения для DDL запросов.
2018-12-04 09:27:38 +00:00
`KILL QUERY` выполняется с любыми настройками.
2020-03-22 09:14:59 +00:00
## readonly {#settings_readonly}
2018-12-04 09:27:38 +00:00
Ограничивает разрешения для запросов на чтение данных, запись данных и изменение параметров.
Разделение запросов по типам смотрите по тексту [выше ](#permissions_for_queries ) по тексту.
**Возможные значения**
2020-03-21 04:11:51 +00:00
- 0 — разрешены все запросы.
- 1 — разрешены только запросы на чтение данных.
- 2 — разрешены запросы на чтение данных и изменение настроек.
2018-12-04 09:27:38 +00:00
2020-02-27 18:16:02 +00:00
После установки `readonly = 1` или `2` пользователь не может изменить настройки `readonly` и `allow_ddl` в текущей сессии.
2018-12-04 09:27:38 +00:00
2020-05-06 06:13:29 +00:00
При использовании метода `GET` в [HTTP интерфейсе ](../../interfaces/http.md#http-interface ), `readonly = 1` устанавливается автоматически. Для изменения данных используйте метод `POST` .
2018-12-04 09:27:38 +00:00
2020-04-30 18:19:18 +00:00
Установка `readonly = 1` запрещает изменение всех настроек. Существует способ запретить изменения только некоторых настроек, см. [ограничения на изменение настроек ](constraints-on-settings.md ).
2019-06-10 18:38:03 +00:00
2018-12-04 09:27:38 +00:00
**Значение по умолчанию**
0
2020-10-13 17:23:29 +00:00
## allow_ddl {#settings_allow_ddl}
2018-12-04 09:27:38 +00:00
Разрешает/запрещает [DDL ](https://ru.wikipedia.org/wiki/Data_Definition_Language ) запросы.
Разделение запросов по типам смотрите по тексту [выше ](#permissions_for_queries ) по тексту.
**Возможные значения**
2020-03-21 04:11:51 +00:00
- 0 — DDL запросы не разрешены.
- 1 — DDL запросы разрешены.
2018-12-04 09:27:38 +00:00
2018-12-25 15:25:43 +00:00
Если `allow_ddl = 0` , то невозможно выполнить `SET allow_ddl = 1` для текущей сессии.
2018-12-04 09:27:38 +00:00
**Значение по умолчанию**
1