Português (Portugal)
  • modelo de identidade
  • inquilino único
  • múltiplos inquilinos
  • produto

Precisas mesmo de múltiplos inquilinos para gerir o teu sistema de identidade?

O conceito de 'inquilino' é relativamente desconhecido para a maioria dos utilizadores, mas é especialmente importante para construir modelos de identidade. Neste artigo, vamos passar por exemplos para ajudar todos a compreender que tipo de modelo de identidade se adequa ao seu negócio.

Darcy Ye
Darcy Ye
Developer

Com a crescente maturidade das ferramentas de low-code e dos serviços em nuvem hoje em dia, acompanhada pela aceleração da utilização de ferramentas de IA, o limiar para o desenvolvimento de apps está a ser grandemente reduzido, e mais e mais apps estão a aparecer no mercado.

Seja um aplicativo complexo ou simples, a maioria dos aplicativos envolve cenários de registo de utilizador e login, para que os utilizadores possam obter serviços mais estáveis, seguros e personalizados. E para resolver o problema do login e registo do utilizador, o primeiro passo é construir um sistema de identidade.

Para muitas apps voltadas para o consumidor, os seus modelos de identidade são muitas vezes relativamente simples, ou até apenas exigem email e senha. Para apps que estão numa fase de crescimento rápido e a atrair novos utilizadores, isso é suficiente; mas uma vez que a app tenha o seu próprio modelo de negócio, no caso mais simples, por exemplo, servir anúncios, precisa de haver uma distinção entre contas de utilizadores comuns e contas de anunciantes. As contas de anunciantes podem personalizar escalas de entrega de anúncios, conteúdo, etc.; enquanto os utilizadores comuns podem apenas navegar por algum conteúdo e anúncios gratuitos, etc.

Logto é uma solução de identidade baseada em nuvem, e há também uma solução de software de código aberto (OSS) com o mesmo núcleo que os serviços em nuvem para utilizadores com necessidades especiais de personalização. O serviço do Logto é construído num sistema multi-inquilino, onde cada utilizador do Logto cria a sua própria conta e pode gerir múltiplos inquilinos dentro da conta. Outros vários serviços de identidade em nuvem também têm arquitecturas semelhantes, com cada serviço em nuvem diferente tendo a sua própria definição de "inquilino", por isso o modelo de inquilino discutido neste artigo é limitado ao cenário do Logto, e para outros fornecedores podem haver outros conceitos correspondentes.

Note-se que, no modelo multi-inquilino do Logto, os dados entre inquilinos (toda a informação dos utilizadores finais) são isolados, para que os utilizadores do Logto possam gerir os dados das contas dos utilizadores finais de acordo com as suas necessidades de negócio dentro de uma conta do Logto. Muitos outros serviços de identidade em nuvem só podem suportar cada conta tendo um inquilino, o que faz com que os utilizadores que precisem de gerir vários inquilinos ao mesmo tempo tenham que trocar frequentemente de contas, resultando numa experiência fraca.

Modelo geral de identidade

Após tudo isto, como deves escolher um modelo de conta adequado para a tua app? Aqui olhamos para três casos.

Caso 1: App fornece serviço diretamente aos utilizadores finais

O modelo de identidade neste tipo de apps é bastante simples. Vamos usar uma app de streaming de música como exemplo — para além do administrador (utilizador do Logto “foo”, que é o proprietário do inquilino neste caso, tendo inerentemente acesso de administrador), há apenas utilizadores finais.

Neste cenário, os utilizadores finais podem ser divididos em três tipos:

  1. Utilizador do plano gratuito: Apenas pode tocar música gratuita
  2. Utilizador do plano pago: Pode tocar música gratuita e pode criar as suas próprias playlists
  3. Utilizador premium: Além de tocar música gratuita e criar playlists, também pode tocar músicas HiFi

No cenário da aplicação acima, apenas precisamos de três tipos de papéis (gratuito, pago, premium), cada um com permissões diferentes atribuídas. Assim, após o utilizador final fazer login, o Logto pode decidir se deve fornecer certos serviços específicos (por exemplo, acesso a músicas HiFi) com base no papel que ele tem. Neste ponto, apenas precisamos de um único inquilino para satisfazer os requisitos.

Modelo de identidade da app de música

Caso 2: Aplicativo de plataforma de e-commerce

Uma plataforma que conecta prestadores de serviços de terceiros e utilizadores finais, que é também um modelo de negócio 2C muito comum hoje em dia. Há dois grupos de utilizadores a considerar - usando uma app de e-commerce como exemplo, são eles comerciantes (prestadores de serviços) e compradores (utilizadores finais).

Há duas maneiras de construir o modelo de identidade aqui:

  1. Colocar os grupos de utilizadores compradores e comerciantes sob o mesmo inquilino.
Modelo de identidade de app de e-commerce de inquilino único
  1. Colocar os compradores e comerciantes em dois inquilinos diferentes, respetivamente.
Modelo de identidade de app de e-commerce multi-inquilino

Para tornar o exemplo mais fácil de entender, assumimos que os compradores podem fazer pedidos ou ver descrições de produtos; os comerciantes podem alterar preços de produtos, alterar descrições de produtos e ver inventário de produtos. Os comerciantes veem descrições de produtos para ajudá-los a encontrar problemas e atualizar informações de produtos em tempo hábil.

Para o modelo de identidade 1, há apenas uma app. Todos os utilizadores que se registam tornam-se compradores. Se alguém precisar vender coisas, pode adicionar os seus próprios produtos para venda, então esses utilizadores finais terão permissões de comerciante além das permissões de comprador para gerir os seus próprios produtos.

Para o modelo de identidade 2, uma vez que cada inquilino tem a sua própria informação de identidade única e o seu próprio gateway de autorização separado, cada inquilino precisa ter a sua própria app separada. No caso de exemplo, haveria uma app de compradores e uma app de comerciantes. As contas de compradores não podem tornar-se comerciantes, e as contas de comerciantes também não podem tornar-se compradores. Se os comerciantes quiserem verificar as suas próprias descrições de produtos da perspetiva de um comprador, como no modelo 1, precisam de reimplementar a mesma funcionalidade na app de comerciantes, ou registar uma conta na app de compradores para vê-la. Isso adiciona muita complexidade, mas a vantagem é que as identidades de compradores e comerciantes são completamente isoladas.

Se os comerciantes tiverem muitos produtos diferentes para gerir, usar o modelo de identidade 2 e desenvolver uma app de comerciantes mais especializada deve ser uma escolha melhor. O modelo 1 é mais adequado para plataformas como o eBay, onde os comerciantes não têm muitos produtos e também não precisam de funcionalidades de gestão de produtos excessivamente complexas.

Caso 3: Apps feitas por corporação de consultoria de TI

Suponha que há uma empresa de consultoria técnica de TI cujos clientes não têm a capacidade de desenvolver sistemas de TI por si mesmos, por isso precisam de buscar serviços técnicos desta empresa.

Assumindo que a empresa tem dois clientes, sendo um um sistema interno de gestão de livros para uma livraria, e o outro cliente um sistema de reservas para um hotel.

Da perspetiva do dono da livraria, obviamente não quero que os hóspedes do hotel possam entrar aleatoriamente no meu sistema de gestão de livros, pois isso seria muito inseguro. Portanto, do aspeto de proteger a privacidade, um inquilino separado deve ser configurado para cada cliente, utilizando o mecanismo de isolamento de informações dos inquilinos, para garantir que os dados dos clientes sejam invisíveis para outros clientes.

Modelo de identidade para corporação de consultoria de TI

Como mencionamos antes, mesmo se tiveres a necessidade de criar múltiplos inquilinos, o Logto pode ajudar-te a gerir múltiplos inquilinos dentro de uma conta, o que é mais conveniente e seguro em comparação com alguns outros serviços que requerem que cries e geres múltiplas contas por ti mesmo.

Através dos exemplos mostrados acima, deves ter percebido quando definitivamente precisas criar múltiplos inquilinos, em que cenários podes ter um único inquilino ou múltiplos inquilinos, e de acordo com as tuas necessidades de negócio, escolher a solução de modelo de identidade que se adequa melhor a ti.

A equipa do Logto tem como objetivo garantir que a questão de "se devem ser criados múltiplos inquilinos" não seja um impedimento para qualquer negócio. Se não tens certeza se o teu cenário de negócio pode ser alcançado com um único inquilino, por favor, junta-te à comunidade do Logto para consulta. A tua pergunta também pode ser a pergunta de outra pessoa, portanto, partilha os desafios que encontraste connosco para ajudar a melhorar a escalabilidade dos produtos do Logto.

Se estás a selecionar uma estrutura de identidade para a tua app, o Logto merece uma tentativa. Ele fornece uma solução pronta para usar adequada para vários cenários de negócios, desde pequenas empresas a aplicações de grande escala!