Usuario Admin
default, que se crea al crear el servicio. La contraseña se proporciona durante la creación del servicio y los usuarios de ClickHouse Cloud que tienen el rol Admin pueden restablecerla.
Cuando agregue usuarios SQL adicionales a su servicio de ClickHouse Cloud, necesitarán un username y una password de SQL. Si desea que tengan privilegios de nivel administrativo, asigne a los nuevos usuarios el rol default_role. Por ejemplo, para agregar el usuario clickhouse_admin:
default. En su lugar, se ejecutarán con un usuario llamado sql-console:${cloud_login_email}, donde cloud_login_email es el correo electrónico del usuario que está ejecutando la consulta en ese momento.Estos usuarios de consola SQL generados automáticamente tienen el rol default.Autenticación sin contraseña
sql_console_admin, con permisos idénticos a default_role, y sql_console_read_only, con permisos de solo lectura.
A los usuarios Admin se les asigna el rol sql_console_admin de forma predeterminada, por lo que para ellos no cambia nada. Sin embargo, el rol sql_console_read_only permite conceder a los usuarios que no son Admin acceso de solo lectura o acceso completo a cualquier instancia. Un Admin debe configurar este acceso. Los roles pueden ajustarse mediante los comandos GRANT o REVOKE para adaptarse mejor a los requisitos específicos de cada instancia, y cualquier modificación que se haga en ellos se conservará.
Control de acceso granular
sql_console_*, deben crearse roles de base de datos específicos por usuario para la consola SQL que coincidan con el espacio de nombres sql-console-role:<email>. Por ejemplo:
sql_console_sa_role y sql_console_pm_role y concedérselos a usuarios específicos. Por ejemplo:
Probar los privilegios de administrador
default y vuelva a iniciarla con el usuario clickhouse_admin.
Todo lo siguiente debería realizarse correctamente:
Usuarios no administradores
Preparación
Crear una base de datos, una tabla y filas de ejemplo
Crear una base de datos de prueba
Crear una tabla
Poblar la tabla con filas de ejemplo
Verificar la tabla
Crear column_user
Crear row_user
Creación de roles
- se crearán roles con distintos privilegios, como acceso por columnas y filas
- se otorgarán privilegios a los roles
- se asignarán usuarios a cada rol
Crear un rol para restringir a los usuarios de este rol a que solo puedan ver column1 en la base de datos db1 y la tabla table1:
Establecer privilegios para permitir ver column1
Añadir el usuario column_user al rol column1_users
Crear un rol para restringir a los usuarios de este rol a que solo puedan ver determinadas filas; en este caso, solo las filas que contengan A en column1
Añadir row_user al rol A_rows_users
Crear una política para permitir ver solo las filas en las que column1 tenga el valor A
Establecer privilegios para la base de datos y la tabla
Otorgar permisos explícitos para que otros roles sigan teniendo acceso a todas las filas
Verificación
Comprobación de los privilegios del rol con un usuario restringido por columnas
Inicie sesión en el cliente de ClickHouse con el usuario clickhouse_admin
Verifique el acceso a la base de datos, la tabla y todas las filas con el usuario administrador.
Inicie sesión en el cliente de ClickHouse con el usuario column_user
Pruebe SELECT con todas las columnas
id y column1Verifique la consulta SELECT usando solo las columnas especificadas y permitidas:
Probar los privilegios del rol con un usuario restringido por filas
Inicie sesión en el cliente de ClickHouse con row_user
Ver las filas disponibles
B en column1.Modificar usuarios y roles
role1 permite solo hacer SELECT en column1 y role2 permite hacer SELECT en column1 y column2, entonces el usuario tendrá acceso a ambas columnas.
Con la cuenta de administrador, cree un usuario nuevo para restringir tanto por fila como por columna con roles predeterminados
Elimine los privilegios previos del rol A_rows_users
Permita que el rol A_row_users solo haga SELECT de column1
Inicie sesión en el cliente de ClickHouse con row_and_column_user
Pruebe con todas las columnas:
Pruebe con las columnas permitidas:
Resolución de problemas
Listado de grants y roles de un usuario
Mostrar los roles en ClickHouse
Mostrar las políticas
Ver cómo se definió una política y cuáles son los privilegios actuales
Comandos de ejemplo para gestionar roles, políticas y usuarios
- eliminar privilegios
- eliminar políticas
- desvincular usuarios de roles
- eliminar usuarios y roles