Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

EN | ES

Table of Contents
Info

El Soporte Multitenant aparece desde la versión 1.6.0-empire de plataforma.

Sin embargo, es una funcionalidad en mejora continua, así que se recomienda el uso de versiones actualizadas.

Introducción

Multitenant es un principio de arquitectura software en la cual una sola instancia de la aplicación es capaz de servir a múltiples clientes u organizaciones (tenant o instancia).

...

Puedes encontrar más detalle sobre Multitenant, sus ventajas,… en esta entrada https://onesaitplatform.atlassian.net/wiki/spaces/DOC/pages/edit-v2/2216694314

Soporte Multitenant en Plataforma

La funcionalidad Multitenant en Plataforma se soporta sobre 2 conceptos:

...

En el siguiente diagrama, podemos ver un ejemplo de caso de uso de la plataforma en modo multitenant:

...

Consideraciones sobre la instalación

Nueva instalación con versión 1.6.0-Empire o superior

Cuando se realice una instalación nueva, sin datos en la ConfigDB, habrá que indicar la variable de entorno UPDATE_MODE_MULTITENANT a false. Si esta variable no se pone a false, aparecerán mensajes de warning.

Esta variable está pensada para hacer upgrade de entornos que ya tengan datos, para que los datos existentes se migren a la base de datos maestra (usuarios, tokens…).

Actualización a versión 1.6.0-Empire o superior

Si se actualiza un entorno a esta versión, no hará falta especificar nada.

Configuración del entorno multitenant

Para utilizar el entorno en modo multitenant, basta con indicar la variable de entorno MULTITENANCY_ENABLED a 'true' en los módulos Controlpanel e Identity Manager:

...

Una vez habilitado, existe un usuario de plataforma global con rol PLATFORM_ADMIN encargado de crear los verticales.

Operativa básica

Creación de un vertical

Si entras con el usuario platform_admin, verás una pantalla con el listado de verticales de plataforma:

...

Con este usuario, se podrán crear clientes o tenants para el vertical, así como usuarios de plataforma y asignarlos a un cliente.

Creación de Tenants de un Vertical

Con el usuario administrador del vertical, puedes crear clientes, desde la opción de menú ‘Tenant Management’, bajo el nivel de Administration:

...

Si entras en cada cliente/tenant, podrás ver un listado de los usuarios del mismo:

...

Añadir un Tenant existente a otro vertical

Para nuestro ejemplo, el tenant Carrefour ya existe en el vertical Prosumers, por lo que si quieres que también sea un tenant de Waste, será necesario volver a hacer uso del usuario platform_admin, dirigirte al vertical Waste e ir a la pestaña ‘Tenants’.

...

Ahora los usuarios de Carrefour podrán acceder al vertical Prosumers y al de Waste.

Creación de Usuarios para un Tenant

Para crear usuarios y asociarlos a un tenant, con el administrador del vertical, el proceso es el mismo que siempre, solo que esta vez aparecerá una opción más al crearlo: un combo con los clientes de ese vertical.

...

Info

Ten en cuenta que un usuario de plataforma sólo puede estar asociado a un Tenant, aunque, por ese motivo, sí puede acceder a varios verticales..

Consideraciones cuando un Cliente está asociado a varios verticales

Para nuestro ejemplo, como Carrefour está asociado a Waste y Prosumers, cuando te logas en plataforma (bien a través del Controlpanel o bien a través del Identity Manager), necesitas especificar el vertical al cual quieres acceder.

Info

Si accedes con tokens de dispositivo o de API, no es necesario realizar ninguna acción adicional, porque la plataforma relaciona de manera unívoca estos tokens con: vertical, cliente y usuario.

Control Panel

En el caso de que entres a través del Control Panel, después de introducir nuestra contraseña se te asignará un rol provisional con autorización sólo para elegir el vertical al que quieres acceder. Por esto saltará una pantalla con un combo para elegir el vertical. Selecciónalo y lógate:

...

Como habrás notado en capturas anteriores, cuando la plataforma opera en modo multitenant, se indica en todo momento el vertical en el que se está trabajando en la barra superior derecha:

...

Identity Manager OAuth 2.0

Para autenticar con OAuth2 vía el Identity Manager, será necesario especificar un parámetro adicional “vertical”, con el nombre del vertical al que quieres tener acceso. Si no lo especificas y tu usuario está asociado a varios verticales, se te dará un token con rol provisional, que no tendrá ningún nivel de autorización para operar con él.

...

Sin embargo, si añades el vertical, te asignará el rol correcto:

...

Considerations on installation

New installation with version 1.6.0-Empire or higher

When a new installation is performed, without data in the ConfigDB, you will need to change the UPDATE_MODE_MULTITENANT environment variable to false. If this variable is not set to false, warning messages will appear.

This variable is intended to do upgrades on environments that already have data, so that existing data are migrated to the master database (users, tokens ...).

Upgrade to version 1.6.0-Empire or higher

If an environment is updated to this version, you will not need to specify anything.

...