ClickHouse/docs/zh/operations/settings/permissions-for-queries.md

58 lines
2.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
slug: /zh/operations/settings/permissions-for-queries
sidebar_position: 58
sidebar_label: "\u67E5\u8BE2\u6743\u9650"
---
# 查询权限 {#permissions_for_queries}
ClickHouse中的查询可以分为几种类型:
1. 读取数据的查询: `SELECT` `SHOW` `DESCRIBE` `EXISTS`
2. 写入数据的查询: `INSERT` `OPTIMIZE`
3. 更改设置的查询: `SET` `USE`
4. [DDL](https://zh.wikipedia.org/zh-cn/数据定义语言) 查询: `CREATE` `ALTER` `RENAME` `ATTACH` `DETACH` `DROP` `TRUNCATE`
5. `KILL QUERY`
以下设置按查询类型规范用户权限:
- [readonly](#settings_readonly) — 对除 DDL 查询以外的所有类型限制权限。
- [allow_ddl](#settings_allow_ddl) — 对 DDL 查询限制权限。
`KILL QUERY` 可以与任何设置进行。
## readonly {#settings_readonly}
限制读取数据、写入数据和更改设置查询的权限。
查看查询如何划分为 **[上述](#permissions_for_queries)** 的多种类型。
可能的值:
- 0 — 所有查询都被允许。
- 1 — 只有读取数据的查询被允许。
- 2 — 读取数据以及变更设置的查询被允许。
设置为 `readonly = 1` 后,用户无法在当前会话中更改 `readonly``allow_ddl` 设置。
当使用 [HTTP接口](../../interfaces/http.md) 中的 `GET` 方法时,将自动设置为 `readonly = 1` 。 要修改数据,请使用 `POST` 方法。
设置 `readonly = 1` 将禁止用户的更改任何设置。有一种方法可以只禁止用户更改特定的设置,有关详细信息,请参阅 [对设置的限制](constraints-on-settings.md)。
默认值0
## allow_ddl {#settings_allow_ddl}
允许或拒绝 [DDL](https://zh.wikipedia.org/zh-cn/数据定义语言) 查询。
从 [上文](#permissions_for_queries) 查看查询是如何被划分为多种类型的。
可能的值:
- 0 — DDL 查询不被允许。
- 1 — DDL 查询被允许。
如果对当前会话 `allow_ddl = 0` ,你就不能执行 `SET allow_ddl = 1`
默认值1