Cuando se utiliza el proveedor interno Database, Anjana Data Platform gestiona la autenticación de usuarios a través de la tabla Users del Panel de Configuración.
Esta tabla contiene los usuarios que pueden iniciar sesión en la plataforma y, posteriormente, recibir permisos/roles para operar en los distintos portales de Anjana Data Platform.
Alta de usuarios
Los usuarios del proveedor Database pueden darse de alta mediante tres mecanismos:
-
Alta manual desde el Panel de Configuración
Método recomendado para crear usuarios de forma individual.
Ruta: Schemas→ Users → New. -
Alta mediante API
Permite automatizar el aprovisionamiento de usuarios desde procesos externos.
(Consulta la documentación de la API de usuarios de Zeus para más detalle.) -
Sincronización de usuarios
Disponible mediante la acción:Actions > Syncronize users
Tabla Users del Panel de Configuración (Visión administrador)
La tabla users almacena la información básica de cada usuario autenticado/autorizado mediante base de datos.
Para visualizar y acceder a la tabla de Users dentro del Panel de Configuración, el usuario debe tener un rol con permisos para la acción CREDENTIAL_ADMIN sobre el subtipo ANJANA
Estructura de la tabla
Cada usuario se define mediante los siguientes campos:
-
Id: identificador único del usuario en la tabla. -
userName: identificador único del usuario en la aplicación o el proveedor de identidades integrado con la Plataforma.
Es el nombre con el que el usuario se registra e inicia sesión en los portales de Anjana Data Platform. -
firstName: nombre del usuario. -
lastName: apellidos del usuario. -
email: correo electrónico del usuario. -
phone: número de teléfono del usuario. -
title: título del usuario (campo informativo, no obligatorio). -
Password: hash de la contraseña del usuario en formato BCrypt. El hash es único por usuario, incluso para contraseñas iguales. Se puede generar con cualquier herramienta estándar de BCrypt. -
isServiceUser: booleano que indica si se trata de un usuario de servicio para securizar microservicios (true) o si se trata de un usuario nominal (false).
Alta de usuarios en la tabla Users
El alta y gestión de usuarios mediante el Panel de Administrador de Anjana Data Platform se realiza en la tabla Users
-
Para crear un nuevo usuario, pulsa New.
-
El wizard de creación solicita que se rellenen los campos indicados en el apartado de Estructura.
-
Pulsar en Save para guardar el usuario o en Cancel para descartar.
Para autenticación mediante Database, el usuario utilizará como contraseña el valor en claro (antes del hasheado), que se valida contra el campo Password.
Modificación de usuarios en la tabla Users
La modificación de los atributos asociados a un usuario (userName) puede realizarse con precaución.
-
Accede al apartado de Schemas→ Users dentro del Panel de Configuración.
Se mostrará el listado de usuarios existentes. -
Localiza el usuario que quieres modificar:
-
Puedes buscar por userName, email u otros campos disponibles en la tabla utilizando los filtros.
-
-
Abre el detalle del usuario pulsando sobre el icono del lápiz que abre el panel de edición:
-
Modifica los campos necesarios:
-
firstName
-
lastName
-
email
-
phone
-
title
-
Password (solo si se desea cambiar contraseña)
-
-
Guarda los cambios con el botón de Save.
Importante:
-
Para que los cambios apliquen de forma inmediata, se recomienda limpiar cachés desde el Panel de Configuración, mediante la opción de
Actions > Clear cache. -
No se recomienda cambiar valores incorporados mediante la sincronización con el sistema de gestión de identidades corporativo, salvo que en dicho sistema no se encuentren informados.
Consideraciones importantes
-
userNamees identificador único.
No se recomienda modificarlo salvo necesidad excepcional, ya que es el valor de login y puede estar referenciado en permisos/roles o en algún atributo de tipo usuario en la plantilla de un objeto.
Si se modifica:-
si hay usuarios referenciados en atributos de tipo usuario en alguna de las plantillas, se debe realizar una edición masiva para eliminar cualquier referencia.
-
debe cumplir todas las restricciones del campo
userName(unicidad, longitud, caracteres válidos, etc.). -
el usuario deberá iniciar sesión con el nuevo valor.
-
-
Cambio de contraseña
Si se actualiza la contraseña, el campo a modificar espassword, que debe ser un hash BCrypt válido.
El usuario usará en login la contraseña en claro correspondiente a ese hash. -
isServiceUser
Es un campo informativo. No debe modificarse manualmente salvo que el equipo de plataforma lo indique.
Configuración de la usuarios mediante acceso directo a la base de datos (Visión desarrollador)
La creación y mantenimiento de usuarios internos en Anjana Data Platform (autenticación por Database) se realiza sobre la tabla zeus.users. En ella se almacenan los datos de identidad del usuario y su credencial cifrada.
|
Columna |
Tipo de dato |
Restricciones / Notas |
|---|---|---|
|
|
|
No nulo. PK. Identificador interno del usuario. Debe ser único. |
|
|
|
Único. Email del usuario. Puede ser nulo, pero si se informa no puede duplicarse. |
|
|
|
Nombre del usuario. Opcional. |
|
|
|
Apellidos del usuario. Opcional. |
|
|
|
No nulo. Hash de la contraseña. Longitud compatible con BCrypt. |
|
|
|
Teléfono de contacto. Opcional. |
|
|
|
Cargo/posición del usuario. Opcional. |
|
|
|
No nulo. Único. Nombre de usuario para login interno. |
|
|
|
Indica si es un usuario de servicio. Valor por defecto |
Restricciones e índices relevantes
-
Clave primaria:
users_pkey (id_user) -
Unicidad de email:
UNIQUE (email) -
Unicidad de username:
UNIQUE (user_name) -
Unicidad case-insensitive de username:
CREATE UNIQUE INDEX unique_lower_username ON zeus.users (lower(user_name::text));
Esto evita duplicados por mayúsculas/minúsculas (por ejemplo,jgarciayJGarcia).
Consideraciones de autenticación
-
El campo
password_hashdebe almacenarse cifrado, no en claro. -
El formato esperado es un hash BCrypt (por eso el tamaño 60).
-
Si se inserta un usuario sin hash válido, no podrá autenticarse.
Nota: el procedimiento exacto de generación del hash (cost factor, librería, etc.) debe seguir la guía técnica de despliegue/seguridad de la instalación. No se recomienda generar hashes manualmente sin usar el método oficial.
Ejemplo de creación de usuarios mediante SQL
A continuación se muestra un ejemplo sobre cómo dar de alta usuarios nominales:
INSERT INTO zeus.users (
id_user, email, first_name, last_name, password_hash,
phone, title, user_name, is_service_user
) VALUES
(1, 'ana.lopez@empresa.com', 'Ana', 'López',
'$2a$10$u1oS7m0y4v5B8uYVg0WwJeWwBq0wO6T8z7pBq8cY3oZfM2a8n4c9S',
NULL, 'Data Steward', 'alopez', false),
(2, 'svc_anjana@empresa.com', 'Anjana', 'Service',
'$2a$10$QwErTyUiOpAsDfGhJkLzXeCvBnMmNnBbVvCcXxZzAaSsDdFfGgHh',
NULL, 'Service Account', 'svc_anjana', true);