O modelo de multi-tenancy do Logto explicado
Dê uma olhada em como projetamos o modelo de multi-tenancy do Logto e os benefícios que ele traz para aplicativos SaaS.
Dê uma olhada em como projetamos o modelo de multi-tenancy do Logto e os benefícios que ele traz para aplicativos SaaS.
Você pode ter ouvido falar de alguns produtos que utilizam o termo "multi-tenancy" para representar a isolação de identidade: cada inquilino tem seu próprio conjunto de usuários, funções, permissões e dados.
Pode parecer contraintuitivo, mas na verdade, "multi-tenancy" indica o contrário: múltiplos inquilinos compartilham recursos em uma única instância. Para os usuários, uma identidade em um aplicativo é como uma carteira de motorista. Por exemplo, com uma carteira de motorista, você pode dirigir em diferentes estados (uma identidade para múltiplas organizações), em vez de solicitar uma nova carteira de motorista para cada estado.
No Logto, percebemos essa confusão no início do nosso design, e nos esforçamos para acertar com seus aplicativos e seus usuários. Aqui está o nosso design:
Esse modelo fornece flexibilidade e reutilização para a gestão de identidades, especialmente para aplicativos SaaS. Se olharmos para alguns aplicativos SaaS populares, podemos ver que todos se encaixam nesse modelo. O termo "organização" pode variar em diferentes aplicativos, como "workspace", "time", etc. Mas o conceito é o mesmo.
Por exemplo, no Notion (uma ferramenta popular de colaboração):
Assim, os usuários podem facilmente alternar entre workspaces sem trocar de contas ou fazer login novamente, e mantém a isolação entre workspaces. Traduzindo isso para o modelo do Logto, significa:
De acordo com diferentes funções, um usuário pode ter diferentes permissões em diferentes workspaces (organizações).
Para os usuários, eles podem desfrutar da verdadeira experiência de login único. Alternar entre organizações é tão fácil quanto alternar entre abas.
Uma vantagem dos aplicativos SaaS é que eles são padronizados e escaláveis. Por exemplo, você pode criar um novo workspace no Notion com alguns cliques, e ele estará pronto para usar.
Quando seu aplicativo está crescendo, você pode querer adicionar mais funções e permissões para cada organização. Por exemplo, uma nova função "convidado" e uma nova permissão "convidar:convidado". Pode ser um pesadelo se você precisar atualizar todas as organizações existentes uma por uma.
Com o Logto, você pode atualizar o template da organização, e todas as organizações existentes serão atualizadas automaticamente.
No Logto, usamos o mesmo modelo de controle de acesso (RBAC) para ambas as organizações e recursos de API. Isso significa que você não precisa aprender um novo modelo de controle de acesso se já estiver familiarizado com RBAC. Enquanto isso, eles são isolados entre si, então você pode utilizá-los para diferentes casos de uso.
A parte mais empolgante é que você pode usá-los ao mesmo tempo. Vamos estender o exemplo do Notion:
A maioria dos SDKs do Logto suporta ambos os tipos de RBAC.
As diferenças
RBAC de organização e RBAC de recurso de API são diferentes nos seguintes aspectos:
Construir um aplicativo SaaS é difícil, e esperamos que o Logto possa ajudá-lo a focar no seu core business. Não hesite em nos dar feedback se você tiver alguma dúvida ou sugestão.