Brauchen Sie wirklich mehrere Mandanten, um Ihr Identitätssystem zu verwalten?
Das Konzept des "Mandanten" ist den meisten Nutzern relativ unbekannt, aber es ist besonders wichtig für den Aufbau von Identitätsmodellen. In diesem Artikel werden wir Beispiele durchgehen, um jedem zu helfen zu verstehen, welches Identitätsmodell am besten zu ihrem Geschäft passt.
Mit der zunehmenden Reife von Low-Code-Tools und Cloud-Diensten heute, begleitet von der Beschleunigung der AI-Toolisierung, wird die Schwelle für die Entwicklung von Apps erheblich gesenkt, und es erscheinen immer mehr Apps auf dem Markt.
Egal, ob es sich um komplexe oder einfache Apps handelt, die meisten Apps beinhalten Szenarien zur Benutzerregistrierung und -anmeldung, damit Benutzer stabilere, sicherere und individuellere Dienste erhalten können. Und um das Problem der Benutzeranmeldung und -registrierung zu lösen, ist der erste Schritt der Aufbau eines Identitätssystems.
Für viele verbraucherorientierte Apps sind ihre Identitätsmodelle oft relativ einfach oder erfordern sogar nur E-Mail und Passwort. Für Apps, die sich in einer Phase schnellen Wachstums befinden und neue Nutzer anziehen, ist dies ausreichend; aber sobald die App ihr eigenes Geschäftsmodell hat, müssen im einfachsten Fall, zum Beispiel für das Servieren von Anzeigen, Unterscheidungen zwischen normalen Benutzerkonten und Werbetreibendenkonten gemacht werden. Werbetreibendenkonten können Skalen und Inhalte der Anzeigenschaltung anpassen usw.; während normale Nutzer nur einige kostenlose Inhalte und Anzeigen durchsuchen können usw.
Logto ist eine cloudbasierte Identitätslösung, und es gibt auch eine Open-Source-Software (OSS) Lösung mit dem gleichen Kern wie die Cloud-Dienste für Benutzer mit speziellen Bedürfnissen zur Anpassung. Der Dienst von Logto basiert auf einem Multi-Tenant-System, bei dem jeder Logto-Nutzer ein eigenes Konto erstellt und innerhalb des Kontos mehrere Mandanten verwalten kann. Auch andere verschiedene Identitäts-Cloud-Dienste haben ähnliche Architekturen, wobei jeder unterschiedliche Cloud-Dienst seine eigene Definition von "Mandant" hat, sodass das in diesem Artikel diskutierte Mandantenmodell auf das Szenario von Logto beschränkt ist, und für andere Anbieter können andere entsprechende Konzepte existieren.
Bemerkenswert ist, dass im Multi-Tenant-Modell von Logto die Daten zwischen den Mandanten (alle Informationen der Endnutzer) isoliert sind, sodass Logto-Nutzer Endnutzerdaten entsprechend ihren geschäftlichen Bedürfnissen innerhalb eines Logto-Kontos verwalten können. Viele andere Identitäts-Cloud-Dienste können nur unterstützen, dass jedes Konto einen einzigen Mandanten hat, was dazu führt, dass Nutzer, die mehrere Mandanten gleichzeitig verwalten müssen, häufig die Konten wechseln müssen, was zu einer schlechten Erfahrung führt.
Nach all dem, wie sollten Sie ein Kontomodell wählen, das für Ihre App geeignet ist? Hier betrachten wir drei Fälle.
Fall 1: App bietet direkt Dienste für Endnutzer
Das Identitätsmodell in dieser Art von Apps ist ziemlich einfach. Nehmen wir eine Musik-Streaming-App als Beispiel — außer dem Admin (Logtos Nutzer „foo“, der in diesem Fall Mandanteneigentümer ist und von Natur aus Admin-Zugriff hat) gibt es nur Endnutzer.
In diesem Szenario können Endnutzer in drei Typen unterteilt werden:
- Kostenloser Plan-Nutzer: Kann nur kostenlose Musik abspielen
- Bezahlter Plan-Nutzer: Kann kostenlose Musik abspielen und eigene Wiedergabelisten erstellen
- Premium-Nutzer: Kann zusätzlich zu kostenloser Musik und dem Erstellen von Wiedergabelisten auch HiFi-Musik abspielen
In dem obigen Anwendungsszenario benötigen wir nur drei Typen von Rollen (kostenlos, bezahlt, premium), die jeweils mit unterschiedlichen Berechtigungen zugewiesen werden. Also, nachdem der Endbenutzer sich anmeldet, kann Logto entscheiden, ob bestimmte spezifische Dienste (z.B. Zugriff auf HiFi-Musik) ihm basierend auf der Rolle, die er hat, bereitgestellt werden. Zu diesem Zeitpunkt benötigen wir nur einen einzigen Mandanten, um die Anforderungen zu erfüllen.
Fall 2: E-Commerce-Plattform-App
Eine Plattform, die Drittanbieter-Dienstleister und Endbenutzer verbindet, was heutzutage auch ein sehr übliches 2C-Geschäftsmodell ist. Es gibt zwei Benutzergruppen zu betrachten - als Beispiel verwenden wir eine E-Commerce-App, es sind die Händler (Dienstleister) und Käufer (Endnutzer).
Es gibt zwei Möglichkeiten, hier das Identitätsmodell zu erstellen:
- Setzen Sie die Käufer- und Händler-Benutzergruppen unter den gleichen Mandanten.
- Setzen Sie die Käufer und Händler jeweils in zwei verschiedene Mandanten.
Um das Beispiel verständlicher zu machen, nehmen wir an, Käufer können Bestellungen aufgeben oder Produktbeschreibungen anzeigen; Händler können Produktpreise ändern, Produktbeschreibungen ändern und Produktinventar ansehen. Händler sehen sich Produktbeschreibungen an, um ihnen zu helfen, Probleme zu finden und Produktinformationen rechtzeitig zu aktualisieren.
Für Identitätsmodell 1 gibt es nur eine App. Alle Benutzer, die sich registrieren, werden Käufer. Wenn jemand etwas verkaufen muss, kann er seine eigenen Produkte zum Verkauf hinzufügen, sodass solche Endbenutzer zusätzlich zu Käuferberechtigungen auch Händlerberechtigungen erhalten, um ihre eigenen Produkte zu verwalten.
Für Identitätsmodell 2, da jeder Mandant seine eigenen eindeutigen Identitätsinformationen und sein eigenes separates Autorisierungstor hat, benötigt jeder Mandant seine eigene separate App. Im Beispiel gibt es daher eine Käufer-App und eine Händler-App. Käuferkonten können nicht zu Händlern werden, und Händlerkonten können auch nicht zu Käufern werden. Wenn Händler ihre eigenen Produktbeschreibungen aus Käufersicht wie im Modell 1 überprüfen möchten, müssen sie die gleiche Funktionalität in der Händler-App erneut implementieren oder ein Konto in der Käufer-App registrieren, um es anzuzeigen. Dies fügt viel Komplexität hinzu, aber der Vorteil ist, dass Käufer- und Händleridentitäten vollständig isoliert sind.
Wenn Händler viele verschiedene Produkte zu verwalten haben, sollte die Verwendung von Identitätsmodell 2 und die Entwicklung einer spezialisierteren Händler-App eine bessere Wahl sein. Modell 1 eignet sich besser für Plattformen wie eBay, wo Händler nicht viele Produkte haben und auch keine übermäßig komplexe Produktverwaltungsfunktionalität benötigen.
Fall 3: Apps, die von einem IT-Beratungsunternehmen erstellt wurden
Angenommen, es gibt ein IT-technisches Beratungsunternehmen, dessen Kunden nicht in der Lage sind, IT-Systeme selbst zu entwickeln, daher benötigen sie technische Dienstleistungen von diesem Unternehmen.
Angenommen, das Unternehmen hat zwei Kunden, einen internen Buchverwaltungssystem für eine Buchhandlung und der andere Kunde ist ein Reservierungssystem für ein Hotel.
Aus der Perspektive des Buchhandlungseigentümers möchte ich offensichtlich nicht, dass Hotelgäste zufällig in mein Buchverwaltungssystem einloggen können, da das sehr unsicher wäre. Daher muss aus dem Aspekt des Schutzes der Privatsphäre ein separater Mandant für jeden Kunden eingerichtet werden, um den Mechanismus der Mandanteninformationsisolierung zu nutzen und sicherzustellen, dass Daten von Kunden für andere Kunden unsichtbar sind.
Wie bereits erwähnt, selbst wenn Sie die Notwendigkeit haben, mehrere Mandanten zu erstellen, kann Logto Ihnen helfen, mehrere Mandanten innerhalb eines Kontos zu verwalten, was im Vergleich zu einigen anderen Diensten, die erfordern, dass Sie mehrere Konten selbst erstellen und verwalten, bequemer und sicherer ist.
Durch die oben gezeigten Beispiele müssen Sie herausgefunden haben, wann Sie definitiv mehrere Mandanten erstellen müssen, in welchen Szenarien Sie entweder einen einzelnen oder mehrere Mandanten haben können, und basierend auf Ihren eigenen geschäftlichen Bedürfnissen das Identitätsmodell auswählen können, das am besten zu Ihnen passt.
Das Logto-Team hat das Ziel sicherzustellen, dass die Frage, ob "mehrere Mandanten erstellt werden sollten", kein Hindernis für ein Unternehmen darstellt. Wenn Sie unsicher sind, ob Ihr Geschäftsszenario mit einem einzelnen Mandanten erreicht werden kann, treten Sie bitte der Logto-Community für eine Beratung bei. Ihre Frage könnte auch jemand anderen betreffen, sodass Sie die Herausforderungen, denen Sie begegnet sind, mit uns teilen können, um die Skalierbarkeit von Logtos Produkten zu verbessern.
Wenn Sie ein Identitäts-Framework für Ihre App auswählen, lohnt es sich, Logto auszuprobieren. Es bietet eine sofort einsatzbereite Lösung, die für verschiedene Geschäftsszenarien von kleinen Unternehmen bis hin zu großangelegten Anwendungen geeignet ist!