Español
  • modelo de identidad
  • un solo inquilino
  • múltiples inquilinos
  • producto

¿Realmente necesitas múltiples inquilinos para gestionar tu sistema de identidad?

El concepto de 'inquilino' es relativamente desconocido para la mayoría de los usuarios, pero es especialmente importante para construir modelos de identidad. En este artículo, revisaremos ejemplos para ayudar a todos a entender qué tipo de modelo de identidad se ajusta a su negocio.

Darcy Ye
Darcy Ye
Developer

Con la creciente madurez de las herramientas de código bajo y los servicios en la nube hoy en día, acompañada por la aceleración de la herramienta de AI, el umbral para desarrollar aplicaciones está siendo considerablemente reducido, y más y más aplicaciones están apareciendo en el mercado.

Ya sean aplicaciones complejas o simples, la mayoría de las aplicaciones involucran escenarios de registro e inicio de sesión de usuarios, para que los usuarios puedan obtener servicios más estables, seguros y personalizados. Y para resolver el problema del inicio de sesión y registro de usuarios, el primer paso es construir un sistema de identidad.

Para muchas aplicaciones de cara al consumidor, sus modelos de identidad son a menudo relativamente simples, o incluso solo requieren correo electrónico y contraseña. Para aplicaciones que están en una etapa de rápido crecimiento y atrayendo nuevos usuarios, esto es suficiente; pero una vez que las aplicaciones tienen su propio modelo de negocio, en el caso más simple, por ejemplo, sirviendo anuncios, debe haber una distinción entre cuentas de usuarios ordinarios y cuentas de anunciantes. Las cuentas de anunciantes pueden personalizar escalas de entrega de anuncios, contenido, etc.; mientras que los usuarios ordinarios solo pueden navegar por algunos contenidos gratuitos y anuncios, etc.

Logto es una solución de identidad basada en la nube, y también hay una solución de software de código abierto (OSS) con el mismo núcleo que los servicios en la nube para usuarios con necesidades especiales de llevar a cabo personalización. El servicio de Logto está construido sobre un sistema multi-inquilino, donde cada usuario de Logto crea su propia cuenta y puede gestionar múltiples inquilinos dentro de la cuenta. Otros diversos servicios de identidad en la nube también tienen arquitecturas similares, con cada servicio en la nube diferente teniendo su propia definición de "inquilino", por lo que el modelo de inquilino que discutimos en este artículo se limita al escenario de Logto, y para otros proveedores puede haber otros conceptos correspondientes.

Notablemente, en el modelo multi-inquilino de Logto, los datos entre inquilinos (toda la información de los usuarios finales) están aislados, por lo que los usuarios de Logto pueden gestionar los datos de la cuenta de usuario final según sus necesidades comerciales dentro de una cuenta de Logto. Muchos otros servicios de identidad en la nube solo pueden soportar que cada cuenta tenga un inquilino, lo que hace que los usuarios que necesitan gestionar múltiples inquilinos al mismo tiempo tengan que cambiar de cuenta con frecuencia, resultando en una mala experiencia.

Modelo de identidad general

Después de todo eso, ¿cómo deberías elegir un modelo de cuenta adecuado para tu aplicación? Aquí miramos tres casos.

Caso 1: Aplicación proporciona servicio directamente a usuarios finales

El modelo de identidad en este tipo de aplicaciones es bastante simple. Usemos una aplicación de transmisión de música como ejemplo — además del administrador (el usuario de Logto “foo”, que es el propietario del inquilino en este caso, naturalmente tiene acceso administrativo), solo hay usuarios finales.

En este escenario, los usuarios finales pueden ser divididos en tres tipos:

  1. Usuario de plan gratuito: Solo puede reproducir música gratuita
  2. Usuario de plan de pago: Puede reproducir música gratuita y crear sus propias listas de reproducción
  3. Usuario premium: Además de reproducir música gratuita y crear listas de reproducción, también puede reproducir música HiFi

En el escenario de aplicación anterior, solo necesitamos tres tipos de roles (gratuito, pago, premium), cada uno asignado con diferentes permisos. Así que después de que el usuario final inicie sesión, Logto puede decidir si proporcionar ciertos servicios específicos (por ejemplo, acceso a música HiFi) a él basado en el rol que tiene. En este punto, solo necesitamos un único inquilino para satisfacer los requisitos.

Modelo de identidad de aplicación de música

Caso 2: Aplicación de plataforma eCommerce

Una plataforma que conecta proveedores de servicios de terceros y usuarios finales, que también es un modelo de negocio 2C muy común hoy en día. Hay dos grupos de usuarios a considerar - usando una aplicación de comercio electrónico como ejemplo, son comerciantes (proveedores de servicios) y compradores (usuarios finales).

Hay dos formas de construir el modelo de identidad aquí:

  1. Poner los grupos de usuarios compradores y comerciantes bajo el mismo inquilino.
Modelo de identidad de aplicación de comercio electrónico de inquilino único
  1. Poner los compradores y comerciantes en dos inquilinos diferentes respectivamente.
Modelo de identidad de aplicación de comercio electrónico multi-inquilino

Para hacer el ejemplo más fácil de entender, asumimos que los compradores pueden hacer pedidos o ver descripciones de productos; los comerciantes pueden cambiar precios de productos, cambiar descripciones de productos, y ver el inventario de productos. Los comerciantes ven las descripciones de los productos para ayudarles a encontrar problemas y actualizar la información del producto de manera oportuna.

Para el modelo de identidad 1, solo hay una aplicación. Todos los usuarios que se registran se convierten en compradores. Si alguien necesita vender cosas, puede agregar sus propios productos para la venta, por lo que esos usuarios finales obtendrán permisos de comerciante además de permisos de comprador para gestionar sus propios productos.

Para el modelo de identidad 2, dado que cada inquilino tiene su propia información de identidad única y su propia puerta de acceso de autorización separada, cada inquilino necesita tener su propia aplicación separada. En el caso del ejemplo, habría una aplicación para compradores y una aplicación para comerciantes. Las cuentas de compradores no pueden convertirse en comerciantes, y las cuentas de comerciantes tampoco pueden convertirse en compradores. Si los comerciantes quieren verificar sus propias descripciones de productos desde la perspectiva de un comprador como en el modelo 1, necesitan reimplementar la misma funcionalidad en la aplicación del comerciante, o registrar una cuenta de aplicación de comprador para verlo. Esto agrega mucha complejidad, pero la ventaja es que las identidades de comprador y comerciante están completamente aisladas.

Si los comerciantes tienen muchos productos diferentes que gestionar, usar el modelo de identidad 2 y desarrollar una aplicación de comerciante más especializada debería ser una mejor opción. El modelo 1 es más adecuado para plataformas como eBay, donde los comerciantes no tienen muchos productos y tampoco necesitan funcionalidades de gestión de productos excesivamente complejas.

Caso 3: Aplicaciones hechas por una empresa de consultoría TI

Supongamos que hay una empresa de consultoría técnica en TI cuyos clientes no tienen la capacidad de desarrollar sistemas de TI por sí mismos, por lo que necesitan buscar servicios técnicos de esta empresa.

Suponiendo que la empresa tiene dos clientes, siendo uno un sistema de gestión de libros internos para una librería, y el otro cliente es un sistema de reservas para un hotel.

Desde la perspectiva del dueño de la librería, obviamente no quiero que los huéspedes del hotel puedan iniciar sesión aleatoriamente en mi sistema de gestión de libros, ya que eso sería muy inseguro. Por lo tanto, desde el aspecto de proteger la privacidad, se debe establecer un inquilino separado para cada cliente, utilizando el mecanismo de aislamiento de información de inquilino, para asegurar que los datos de los clientes sean invisibles para otros clientes.

Modelo de identidad para empresa de consultoría TI

Como mencionamos antes, incluso si tienes la necesidad de crear múltiples inquilinos, Logto puede ayudarte a gestionar múltiples inquilinos dentro de una cuenta, lo cual es más conveniente y seguro comparado con algunos otros servicios que requieren que crees y gestiones múltiples cuentas por ti mismo.

A través de los ejemplos mostrados anteriormente, debes haber comprendido cuándo definitivamente necesitas crear múltiples inquilinos, en qué escenarios puedes tener un solo inquilino o múltiples inquilinos, y de acuerdo a tus propias necesidades de negocio, elegir la solución de modelo de identidad que más te convenga.

El equipo de Logto tiene como objetivo asegurar que la pregunta de "si se deben crear múltiples inquilinos" no sea un obstáculo para cualquier negocio. Si no estás seguro de si tu escenario de negocio puede lograrse con un solo inquilino, por favor únete a la comunidad de Logto para consulta. Tu pregunta también puede ser la pregunta de otra persona, así que comparte los desafíos que has encontrado con nosotros para ayudar a mejorar la escalabilidad de los productos de Logto.

Si estás seleccionando un marco de identidad para tu aplicación, Logto vale la pena probarlo. ¡Proporciona una solución lista para usar adecuada para varios escenarios comerciales, desde pequeñas empresas hasta aplicaciones a gran escala!