Control de acceso y gestión de cuentas 

ClickHouse admite la administración de control de acceso basada en RBAC enfoque.

Entidades de acceso de ClickHouse:
- Cuenta de usuario
- Rol
- Política de fila
- Perfil de configuración
- Cuota

Puede configurar entidades de acceso utilizando:

Se recomienda utilizar el flujo de trabajo controlado por SQL. Ambos métodos de configuración funcionan simultáneamente, por lo que si utiliza los archivos de configuración del servidor para administrar cuentas y derechos de acceso, puede pasar suavemente al flujo de trabajo controlado por SQL.

Uso 

De forma predeterminada, el servidor ClickHouse proporciona la cuenta de usuario default que no está permitido usar control de acceso controlado por SQL y administración de cuentas, pero tiene todos los derechos y permisos. El default cuenta de usuario se utiliza en cualquier caso cuando el nombre de usuario no está definido, por ejemplo, al iniciar sesión desde el cliente o en consultas distribuidas. En el procesamiento de consultas distribuidas se utiliza una cuenta de usuario predeterminada, si la configuración del servidor o clúster no usuario y contraseña propiedad.

Si acaba de comenzar a usar ClickHouse, puede usar el siguiente escenario:

  1. Permitir Control de acceso basado en SQL y gestión de cuentas default usuario.
  2. Inicie sesión bajo el default cuenta de usuario y crear todos los usuarios. No olvides crear una cuenta de administrador (GRANT ALL ON *.* WITH GRANT OPTION TO admin_user_account).
  3. Restringir permisos para el default usuario y deshabilitar el control de acceso impulsado por SQL y la administración de cuentas para ello.

Propiedades de la solución actual 

  • Puede conceder permisos para bases de datos y tablas incluso si no existen.
  • Si se eliminó una tabla, no se revocarán todos los privilegios que corresponden a esta tabla. Por lo tanto, si se crea una nueva tabla más tarde con el mismo nombre, todos los privilegios vuelven a ser reales. Para revocar los privilegios correspondientes a la tabla eliminada, debe realizar, por ejemplo, el REVOKE ALL PRIVILEGES ON db.table FROM ALL consulta.
  • No hay ninguna configuración de por vida para los privilegios.

Cuenta de usuario 

Una cuenta de usuario es una entidad de acceso que permite autorizar a alguien en ClickHouse. Una cuenta de usuario contiene:

  • Información de identificación.
  • Privilegio que definen un ámbito de consultas que el usuario puede realizar.
  • Hosts desde los que se permite la conexión al servidor ClickHouse.
  • Roles otorgados y predeterminados.
  • Configuración con sus restricciones que se aplican de forma predeterminada en el inicio de sesión del usuario.
  • Perfiles de configuración asignados.

Los privilegios a una cuenta de usuario pueden ser otorgados por el GRANT consulta o asignando rol. Para revocar privilegios de un usuario, ClickHouse proporciona el REVOKE consulta. Para listar los privilegios de un usuario, utilice - SHOW GRANTS instrucción.

Consultas de gestión:

Ajustes Aplicación 

Los ajustes se pueden establecer de diferentes maneras: para una cuenta de usuario, en sus roles y perfiles de configuración concedidos. En un inicio de sesión de usuario, si se establece una configuración en diferentes entidades de acceso, el valor y las restricciones de esta configuración se aplican mediante las siguientes prioridades (de mayor a menor):

  1. Configuración de la cuenta de usuario.
  2. La configuración de los roles predeterminados de la cuenta de usuario. Si se establece una configuración en algunos roles, el orden de la configuración que se aplica no está definido.
  3. La configuración de los perfiles de configuración asignados a un usuario o a sus roles predeterminados. Si se establece una configuración en algunos perfiles, el orden de aplicación de la configuración no está definido.
  4. Ajustes aplicados a todo el servidor de forma predeterminada o desde el perfil predeterminado.

Rol 

Role es un contenedor para las entidades de acceso que se pueden conceder a una cuenta de usuario.

El rol contiene:

  • Privilegio
  • Configuración y restricciones
  • Lista de funciones concedidas

Consultas de gestión:

Los privilegios a un rol pueden ser otorgados por el GRANT consulta. Para revocar privilegios de un rol, ClickHouse proporciona el REVOKE consulta.

Política de fila 

La directiva de filas es un filtro que define qué filas está disponible para un usuario o para un rol. La directiva de filas contiene filtros para una tabla específica y una lista de roles y/o usuarios que deben usar esta directiva de filas.

Consultas de gestión:

Perfil de configuración 

El perfil de configuración es una colección de configuración. El perfil de configuración contiene configuraciones y restricciones, y una lista de roles y/o usuarios a los que se aplica esta cuota.

Consultas de gestión:

Cuota 

La cuota limita el uso de recursos. Ver Cuota.

La cuota contiene un conjunto de límites para algunas duraciones y una lista de roles y / o usuarios que deben usar esta cuota.

Consultas de gestión:

Habilitación del control de acceso basado en SQL y la administración de cuentas 

  • Configure un directorio para el almacenamiento de configuraciones.

    ClickHouse almacena las configuraciones de entidades de acceso en la carpeta access_control_path parámetro de configuración del servidor.

  • Habilite el control de acceso controlado por SQL y la administración de cuentas para al menos una cuenta de usuario.

    De forma predeterminada, el control de acceso controlado por SQL y la administración de cuentas se activan para todos los usuarios. Debe configurar al menos un usuario en el users.xml archivo de configuración y asigne 1 al access_management configuración.

Artículo Original

Rating: 2.6 - 19 votes

Was this content helpful?
★★★☆☆