Wyjaśnienie modelu multi-tenancy Logto
Zobacz, jak zaprojektowaliśmy model multi-tenancy Logto i jakie korzyści przynosi on aplikacjom SaaS.
Zobacz, jak zaprojektowaliśmy model multi-tenancy Logto i jakie korzyści przynosi on aplikacjom SaaS.
Być może słyszałeś o niektórych produktach, które używają terminu "multi-tenancy" do reprezentowania izolacji tożsamości: każdy najemca ma własny zestaw użytkowników, ról, uprawnień i danych.
Może to być nieintuicyjne, ale w rzeczywistości "multi-tenancy" oznacza coś przeciwnego: wielu najemców dzieli zasoby w jednej instancji. Dla użytkowników tożsamość w aplikacji jest jak prawo jazdy. Na przykład, mając jedno prawo jazdy, możesz jeździć w różnych stanach (jedna tożsamość dla wielu organizacji), zamiast ubiegać się o nowe prawo jazdy dla każdego stanu.
W Logto zauważyliśmy to zamieszanie na początku naszego projektowania i dążyliśmy do tego, aby było ono właściwe dla twoich aplikacji i twoich użytkowników. Oto nasz projekt:
Ten model zapewnia elastyczność i możliwość ponownego wykorzystania zarządzania tożsamościami, szczególnie w aplikacjach SaaS. Jeśli przyjrzymy się niektórym popularnym aplikacjom SaaS, możemy stwierdzić, że wszystkie mogą pasować do tego modelu. Termin "organizacja" może się różnić w różnych aplikacjach, na przykład "workspace", "zespół" itd., ale koncepcja pozostaje ta sama.
Na przykład, w Notion (popularne narzędzie do współpracy):
Dlatego użytkownicy mogą łatwo przełączać się między workspace'ami, nie zmieniając konta ani nie zalogowując się ponownie, a jednocześnie zachowując izolację workspace'ów. Przekładając to na model Logto, oznacza to:
Zgodnie z różnymi rolami, użytkownik może mieć różne uprawnienia w różnych workspace'ach (organizacjach).
Dla użytkowników umożliwia to korzystanie z prawdziwego doświadczenia single sign-on. Przełączanie się między organizacjami jest tak proste, jak przełączanie się między zakładkami.
Jedną z zalet aplikacji SaaS jest to, że są one standaryzowane i skalowalne. Na przykład, możesz w kilka kliknięć utworzyć nowy workspace w Notion, a jest on gotowy do użycia.
Kiedy twoja aplikacja rośnie, możesz chcieć dodać więcej ról i uprawnień do każdej organizacji. Na przykład nową rolę "gość" i nowe uprawnienie "zaproszenie:gość". Może to być koszmar, jeśli będzie trzeba zaktualizować wszystkie istniejące organizacje jedna po drugiej.
Z Logto możesz zaktualizować szablon organizacji, a wszystkie istniejące organizacje zostaną automatycznie zaktualizowane.
W Logto używamy tego samego modelu kontroli dostępu (RBAC) zarówno dla organizacji, jak i dla zasobów API. Oznacza to, że nie musisz uczyć się nowego modelu kontroli dostępu, jeśli znasz już RBAC. Jednocześnie są one od siebie izolowane, więc możesz ich używać do różnych przypadków użycia.
Najbardziej ekscytującą częścią jest to, że możesz ich używać jednocześnie. Rozwińmy przykład Notion:
Większość SDK Logto obsługuje oba typy RBAC.
Różnice
Organizacyjny RBAC i RBAC zasobów API różnią się w następujących aspektach:
Budowanie aplikacji SaaS jest trudne, i mamy nadzieję, że Logto pomoże ci skupić się na twoim głównym biznesie. Nie wahaj się dać nam swojej opinii, jeśli masz jakieś pytania lub sugestie.