5.7 KiB
machine_translated |
---|
true |
Configuración del usuario
El users
sección de la user.xml
el archivo de configuración contiene la configuración del usuario.
Estructura del users
apartado:
<users>
<!-- If user name was not specified, 'default' user is used. -->
<user_name>
<password></password>
<!-- Or -->
<password_sha256_hex></password_sha256_hex>
<networks incl="networks" replace="replace">
</networks>
<profile>profile_name</profile>
<quota>default</quota>
<databases>
<database_name>
<table_name>
<filter>expression</filter>
<table_name>
</database_name>
</databases>
</user_name>
<!-- Other users settings -->
</users>
user_name/contraseña
La contraseña se puede especificar en texto sin formato o en SHA256 (formato hexagonal).
-
Para asignar una contraseña en texto sin formato (no se recomienda), colóquelo en un
password
elemento.Por ejemplo,
<password>qwerty</password>
. La contraseña se puede dejar en blanco.
-
Para asignar una contraseña utilizando su hash SHA256, colóquela en un
password_sha256_hex
elemento.Por ejemplo,
<password_sha256_hex>65e84be33532fb784c48129675f9eff3a682b27168c0ea744b2cf58ee02337c5</password_sha256_hex>
.Ejemplo de cómo generar una contraseña desde el shell:
PASSWORD=$(base64 < /dev/urandom | head -c8); echo "$PASSWORD"; echo -n "$PASSWORD" | sha256sum | tr -d '-'
La primera línea del resultado es la contraseña. La segunda línea es el hash SHA256 correspondiente.
-
Para la compatibilidad con los clientes MySQL, la contraseña se puede especificar en doble hash SHA1. Colóquelo en
password_double_sha1_hex
elemento.Por ejemplo,
<password_double_sha1_hex>08b4a0f1de6ad37da17359e592c8d74788a83eb0</password_double_sha1_hex>
.Ejemplo de cómo generar una contraseña desde el shell:
PASSWORD=$(base64 < /dev/urandom | head -c8); echo "$PASSWORD"; echo -n "$PASSWORD" | sha1sum | tr -d '-' | xxd -r -p | sha1sum | tr -d '-'
La primera línea del resultado es la contraseña. La segunda línea es el hash SHA1 doble correspondiente.
Nombre_usuario/redes
Lista de redes desde las que el usuario puede conectarse al servidor ClickHouse.
Cada elemento de la lista puede tener una de las siguientes formas:
-
<ip>
— Dirección IP o máscara de red.Ejemplos:
213.180.204.3
,10.0.0.1/8
,10.0.0.1/255.255.255.0
,2a02:6b8::3
,2a02:6b8::3/64
,2a02:6b8::3/ffff:ffff:ffff:ffff::
. -
<host>
— Nombre de host.Ejemplo:
example01.host.ru
.Para comprobar el acceso, se realiza una consulta DNS y todas las direcciones IP devueltas se comparan con la dirección del mismo nivel.
-
<host_regexp>
— Expresión regular para nombres de host.Ejemplo,
^example\d\d-\d\d-\d\.host\.ru$
Para comprobar el acceso, un Consulta de DNS PTR se realiza para la dirección del mismo nivel y luego se aplica la expresión regular especificada. A continuación, se realiza otra consulta DNS para los resultados de la consulta PTR y todas las direcciones recibidas se comparan con la dirección del mismo nivel. Recomendamos encarecidamente que regexp termine con $ .
Todos los resultados de las solicitudes DNS se almacenan en caché hasta que el servidor se reinicia.
Ejemplos
Para abrir el acceso del usuario desde cualquier red, especifique:
<ip>::/0</ip>
!!! warning "Advertencia" Es inseguro abrir el acceso desde cualquier red a menos que tenga un firewall configurado correctamente o el servidor no esté conectado directamente a Internet.
Para abrir el acceso solo desde localhost, especifique:
<ip>::1</ip>
<ip>127.0.0.1</ip>
Nombre_usuario/perfil
Puede asignar un perfil de configuración para el usuario. Los perfiles de configuración se configuran en una sección separada del users.xml
file. Para obtener más información, consulte Perfiles de configuración.
Nombre_usuario/cuota
Las cuotas le permiten realizar un seguimiento o limitar el uso de recursos durante un período de tiempo. Las cuotas se configuran en el quotas
sección de la users.xml
archivo de configuración.
Puede asignar un conjunto de cuotas para el usuario. Para obtener una descripción detallada de la configuración de las cuotas, consulte Cuota.
nombre_usuario/bases de datos
En esta sección, puede limitar las filas devueltas por ClickHouse para SELECT
consultas realizadas por el usuario actual, implementando así la seguridad básica a nivel de fila.
Ejemplo
La siguiente configuración obliga a que el usuario user1
sólo puede ver las filas de table1
como resultado de SELECT
Consultas, donde el valor de la id
campo es 1000.
<user1>
<databases>
<database_name>
<table1>
<filter>id = 1000</filter>
</table1>
</database_name>
</databases>
</user1>
El filter
puede ser cualquier expresión que resulte en un UInt8-tipo de valor. Por lo general, contiene comparaciones y operadores lógicos. Filas de database_name.table1
donde los resultados del filtro a 0 no se devuelven para este usuario. El filtrado es incompatible con PREWHERE
operaciones y desactiva WHERE→PREWHERE
optimización.