Mecanismo de derecho
FusionInsight adopta el protocolo ligero de acceso a directorios (LDAP) para almacenar datos de usuarios y grupos de usuarios. La información sobre las definiciones de roles se almacena en la base de datos relacional y la asignación entre roles y derechos se guarda en componentes.
FusionInsight utiliza Kerberos para la autenticación unificada.
El proceso de verificación de los derechos de usuario es el siguiente:
- Un cliente (un terminal de usuario o servicio de componente FusionInsight) invoca la interfaz de autenticación FusionInsight.
- FusionInsight utiliza el nombre de usuario y la contraseña de inicio de sesión para la autenticación de Kerberos.
- Si la autenticación se realiza correctamente, el cliente envía una solicitud para acceder al servidor (un servicio de componentes de FusionInsight).
- El servidor encuentra el grupo de usuarios y el rol al que pertenece el usuario de inicio de sesión.
- El servidor obtiene todos los derechos del grupo de usuarios y del rol.
- El servidor comprueba si el cliente tiene derecho a acceder a los recursos para los que se aplica.
Ejemplo (RBAC):
Hay tres archivos en HDFS, es decir, fileA, fileB y fileC.
- roleA tiene derecho de lectura y escritura para fileA, y roleB tiene derecho de lectura para fileB.
- groupA está unido al roleA, y el groupB está unido al roleB.
- userA pertenece a groupA y roleB, y userB pertenece a groupB.
Cuando el usuarioA inicia sesión correctamente en el sistema y accede a HDFS:
- HDFS obtiene el rol (roleB) al que está enlazado el userA.
- HDFS también obtiene el rol (roleA) al que está enlazado el grupo de usuarios de userA.
- En este caso, userA tiene todos los derechos de roleA y roleB.
- Como resultado, userA tiene derechos de lectura y escritura para fileA, tiene el derecho de lectura en fileB, y no tiene derecho para fileC.
Del mismo modo, cuando el userB inicia sesión correctamente en el sistema y accede a HDFS:
- userB solo tiene los derechos de roleB.
- Como resultado, userB tiene el derecho de lectura en fileB, y no tiene derechos para fileA y fileC.