> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

> Configuración de los permisos de consulta.

# Permisos para las consultas

Las consultas en ClickHouse se pueden dividir en varios tipos:

1. Consultas de lectura de datos: `SELECT`, `SHOW`, `DESCRIBE`, `EXISTS`.
2. Consultas de escritura de datos: `INSERT`, `OPTIMIZE`.
3. Consultas para cambiar la configuración: `SET`, `USE`.
4. Consultas [DDL](https://en.wikipedia.org/wiki/Data_definition_language): `CREATE`, `ALTER`, `RENAME`, `ATTACH`, `DETACH`, `DROP` `TRUNCATE`.
5. `KILL QUERY`.

La siguiente configuración regula los permisos de los usuarios según el tipo de consulta:

<div id="readonly">
  ## readonly
</div>

Restringe los permisos para las consultas de lectura de datos, escritura de datos y cambio de configuración.

Cuando se establece en 1, permite:

* Todos los tipos de consultas de lectura (como SELECT y consultas equivalentes).
* Consultas que modifican solo el contexto de la sesión (como USE).

Cuando se establece en 2, permite lo anterior más:

* SET y CREATE TEMPORARY TABLE

<Tip>
  Consultas como EXISTS, DESCRIBE, EXPLAIN, SHOW PROCESSLIST, etc. son equivalentes a SELECT, porque solo hacen un SELECT de tablas del sistema.
</Tip>

Valores posibles:

* 0 — Se permiten consultas de lectura, escritura y cambio de configuración.
* 1 — Solo se permiten consultas de lectura de datos.
* 2 — Se permiten consultas de lectura de datos y cambio de configuración.

Valor predeterminado: 0

<Note>
  Después de establecer `readonly = 1`, el usuario no puede cambiar la configuración de `readonly` ni de `allow_ddl` en la sesión actual.

  Al usar el método `GET` en la [interfaz HTTP](/docs/es/concepts/features/interfaces/http), `readonly = 1` se establece automáticamente. Para modificar datos, use el método `POST`.

  Establecer `readonly = 1` impide que el usuario cambie la configuración. Hay una forma de impedir que el usuario cambie solo configuraciones específicas. También hay una forma de permitir cambiar solo configuraciones específicas con las restricciones de `readonly = 1`. Para obtener más detalles, consulte [restricciones en la configuración](/docs/es/concepts/features/configuration/settings/constraints-on-settings).
</Note>

<div id="allow_ddl">
  ## allow\_ddl
</div>

Permite o deniega las consultas [DDL](https://en.wikipedia.org/wiki/Data_definition_language).

Valores posibles:

* 0 — las consultas DDL no están permitidas.
* 1 — las consultas DDL están permitidas.

Valor predeterminado: 1

<Note>
  No se puede ejecutar `SET allow_ddl = 1` si `allow_ddl = 0` en la sesión actual.
</Note>

<Info>
  **KILL QUERY**

  `KILL QUERY` puede ejecutarse con cualquier combinación de los ajustes readonly y allow\_ddl.
</Info>
