Organisation und rollenbasierte Zugangskontrolle: Wie man sein Berechtigungsmodell für sein Produkt entwirft
Dieser Artikel bietet einen ausführlichen Leitfaden zur Gestaltung eines Berechtigungsmodells für organisations- und rollenbasierte Zugangskontrolle und bietet Best Practices für verschiedene Berechtigungsmodelle auf der Logto-Plattform.
Was ist eine Organisation
Definition der Organisation
Die Organisation ist eine Gruppe von Benutzern (Identitäten) und kann Teams, Geschäftskunden und Partnerunternehmen repräsentieren, die auf deine Anwendung zugreifen können.
Organisationen sind besonders effektiv in Business-to-Business (B2B)-Umgebungen. Im Gegensatz zu einzelnen Konsumenten bestehen Geschäftskunden oft aus Teams, Organisationen oder ganzen Unternehmen, nicht nur aus einer Person. Die Einführung einer Organisation als Entität ist wichtig, da sie nicht nur Benutzer gruppiert, sondern auch einen Kontext für die Mandantentrennung in Multi-Tenant-Anwendungen bietet.
Anwendungsfälle der Organisation
Mit diesem grundlegenden Element kannst du nun die essentiellen Funktionen für deine B2B-Produkte aufbauen:
- Baue eine Multi-Tenant-Architektur, um die Daten und Ressourcen der Kunden zu isolieren.
- Zugangsebenen in der Anwendung werden durch Rollen definiert, die den Organisationsmitgliedern zugewiesen sind.
- Bereitstellung von Mitgliedern auf Einladung und Just-in-Time-Basis.
- Jede Organisation kann eine Single Sign-On (SSO)-Authentifizierungserfahrung haben.
Was ist rollenbasierte Zugangskontrolle?
Definition der rollenbasierten Zugangskontrolle
Rollenbasierte Zugangskontrolle (RBAC) ist eine Methode, um Benutzern basierend auf ihren Rollen Berechtigungen zuzuweisen. Die rollenbasierte Zugangskontrolle ist ein politikneutrales Zugriffssteuerungsmechanismus, das um Rollen und Privilegien herum definiert ist. Die Komponenten von RBAC, wie Rollenberechtigungen, Benutzer-Rollen- und Rollen-Rollen-Beziehungen, machen es einfach, Benutzerzuweisungen durchzuführen. Eine Studie von NIST hat gezeigt, dass RBAC viele Bedürfnisse kommerzieller und staatlicher Organisationen anspricht.
Anwendungsfälle der rollenbasierten Zugangskontrolle
Bisher haben wir mehrere Anleitungen entwickelt, um dir zu helfen, RBAC zu nutzen, um deine Geschäftsanforderungen zu erfüllen. Schau dir diese leicht verständlichen Tutorials an, um schnell loszulegen.
🔐 Rollenbasierte Zugangskontrolle (RBAC) | Logto-Dokumentation
Verschiedene Berechtigungsmodelle in Logto für Best Practices verwenden
Rollenbasierte Zugangskontrolle und Organisation sind Schlüsselkomponenten der Berechtigungsmerkmale von Logto. Als umfassende Identitätsmanagementplattform bietet Logto maßgeschneiderte Lösungen für verschiedene Szenarien und Ebenen und richtet sich an Entwickler und Unternehmen für unterschiedliche Produktarchitekturen.
API rollenbasierte Zugangskontrolle
Um allgemeine API-Ressourcen zu schützen, die spezifisch keiner Organisation zugeordnet sind und keine Kontextbeschränkungen benötigen, ist das API RBAC-Feature ideal.
Registriere einfach die API und weise jeder Ressource Berechtigungen zu. Kontrolliere dann den Zugang durch die Beziehung zwischen Rollen und Benutzern.
API-Ressourcen, Rollen und Berechtigungen werden hier unter einem einheitlichen Identitätssystem „demokratisiert“. Das ist ziemlich üblich in B2C-Produkten mit weniger Hierarchie und erfordert keine sehr tiefe Datenisolierung.
Organisation rollenbasierte Zugangskontrolle
In einer B2B- und Multi-Tenant-Umgebung ist Mandantentrennung notwendig. Um dies zu erreichen, werden Organisationen als Kontext für Isolation verwendet, was bedeutet, dass RBAC nur wirksam ist, wenn ein Benutzer zu einer bestimmten Organisation gehört.
Organisation RBAC konzentriert sich darauf, den Zugang auf der Organisationsebene statt auf der API-Ebene zu steuern. Dies bietet erhebliche Flexibilität für die Selbstverwaltung auf Organisationsebene auf lange Sicht, aber immer noch innerhalb eines einheitlichen Identitätssystems.
Ein Hauptmerkmal von Organisation RBAC ist, dass Rollen und Berechtigungen standardmäßig über alle Organisationen hinweg gleich sind, was die „Organisation Template“ von Logto extrem bedeutsam für die Verbesserung der Entwicklungseffizienz macht.
Dies steht im Einklang mit der gemeinsamen Philosophie von Multi-Tenant-Apps, bei denen Zugriffssteuerungsrichtlinien und Identitäten gemeinsame Infrastrukturkomponenten über alle Mandanten (App-Mandanten) hinweg sind, ein häufig übliches Verfahren in SaaS-Produkten.
Das passende Berechtigungsmodell auswählen und entwerfen
Beim Auswählen des richtigen Berechtigungsmodells solltest du diese Fragen berücksichtigen:
- Entwickelst du ein B2C-, B2B- oder eine Kombination aus beiden Produkttypen? Werden Identitäten als Unternehmensidentitäten betrachtet?
- Braucht deine App eine Multi-Tenant-Architektur?
- Gibt es einen Bedarf für ein gewisses Maß an Isolation in deiner App, wie von der Geschäftseinheit bestimmt?
- Welche Berechtigungen und Rollen müssen im Kontext der Organisation definiert werden und welche nicht?
Eine B2C-App
Lass uns ein Webanwendungsbeispiel verwenden: BookHarber, ein Online-Buchladen. BookHarber bietet eine breite Palette von Funktionen für Kunden und Mitarbeiter und sorgt für ein nahtloses und sicheres Einkaufserlebnis.
Die wichtigsten Funktionen von BookHarber umfassen:
- Stöbern und Bücher kaufen: Benutzer können einfach nach Büchern suchen und diese aus einer breiten Sammlung aus verschiedenen Genres und Autoren kaufen.
- Bestellverwaltung und Logistikverfolgung: Registrierte Kunden können ihre Bestellungen verwalten, den Versand verfolgen und Updates zu ihren Einkäufen erhalten.
- Sonderangebote und Feiertagsaktivitäten: BookHarber bietet exklusive Rabatte und Aktionen während besonderer Ereignisse und Feiertage, um seine Kundschaft zu engagieren und zu belohnen.
- Kundensupport: Kunden können Support-Tickets eröffnen, um Bedenken oder Probleme zu klären und Unterstützung von BookHarber-Mitarbeitern zu erhalten.
- Kundenverwaltung: Mitarbeiter mit verschiedenen Rollen haben die Möglichkeit, verschiedene Aspekte der Plattform zu verwalten, wie z. B. Kundenkonten, Bestellabwicklung und Problemlösung.
Rollen
Im BookHarber-Ökosystem können wir mehrere wichtige Benutzerrollen identifizieren, wie z. B.:
- Gast: Nicht registrierte Benutzer, die die Website durchsuchen, nach Büchern suchen und Sonderangebote ansehen können.
- Kunde: Registrierte Benutzer, die Bücher kaufen, Bestellungen verwalten, Logistik verfolgen und Support-Tickets eröffnen können.
- Ladenadministrator: Mitarbeiter, die für die Gesamtverwaltung und den Betrieb der Plattform verantwortlich sind. Mit vollem Zugriff.
- Bücher-Manager: Mitarbeiter, die für die Buch- und Kategorieverwaltung verantwortlich sind.
- Kundendienstmitarbeiter: Mitarbeiter, die mit der Beantwortung von Support-Tickets beauftragt sind.
- Drittanbieter-Logistikdienstleister: Externe Partner, die für die Verwaltung und Verfolgung des Versands und der Zustellung von Bestellungen verantwortlich sind.
- Marketingmitarbeiter: Mitarbeiter, die für die Förderung von BookHarber verantwortlich sind, verantwortlich für die Verwaltung von Sonderangeboten und Veranstaltungen.
Bisher haben wir mehrere Anleitungen entwickelt, um dir zu helfen, RBAC zu nutzen, um deine Geschäftsanforderungen zu erfüllen. Schau dir diese leicht verständlichen Tutorials an, um schnell loszulegen.
RBAC in Logto beherrschen: Ein umfassendes reales Beispiel
B2B-App
Multi-Tenant-Apps finden oft ihren Platz in Business-to-Business (B2B)-Lösungen wie Produktivitäts-Tools, Enterprise Resource Planning (ERP)-Systemen und anderen Software-as-a-Service (SaaS)-Produkten. In diesem Kontext repräsentiert jeder „Mandant“ typischerweise einen Geschäftskunden, der mehrere Benutzer (seine Mitarbeiter) haben könnte. Zusätzlich könnte ein Geschäftskunde mehrere Mandanten haben, um verschiedene Organisationen oder Geschäftsbereiche darzustellen.
Erstelle einige Organisationen
Organisationstemplate für organisationsspezifische Zugangssteuerung definieren
Hybride B2B- & B2C-App
B2B-Anwendungen gehen über SaaS-Produkte hinaus und beinhalten oft die Nutzung von Multi-Tenant-Apps. In B2B-Kontexten dienen diese Apps als gemeinsame Plattform für verschiedene Teams, Geschäftskunden und Partnerunternehmen, um auf deine Anwendungen zuzugreifen.
Zum Beispiel, erwäge ein Ride-Sharing-Unternehmen, das sowohl B2C- als auch B2B-Apps anbietet. Die B2B-Apps bedienen mehrere Geschäftskunden, und der Einsatz einer Multi-Tenant-Architektur kann bei der Verwaltung ihrer Mitarbeiter und Ressourcen helfen. Um zu veranschaulichen, wenn das Unternehmen ein einheitliches Benutzeridentitätssystem beibehalten möchte, kann es eine Architektur wie im folgenden Beispiel entwerfen:
Lass uns Sarah als Beispiel verwenden. Sarah hat sowohl eine persönliche als auch eine geschäftliche Identität. Sie nutzt den Ride-Sharing-Service als Passagier und arbeitet in ihrer Freizeit auch als Fahrerin. In ihrer beruflichen Rolle verwaltet sie auch ihr eigenes persönliches Geschäft und nutzt diese Geschäftsidentität, um ein Partner mit Business 1 zu sein.
Einrichtungen in Logto eingerichtet
Die Identitäts- und Rollenkarte eines Benutzers
API-Ressourcen, Benutzerrollen definieren
Organisationen einrichten
Sarahs Profil
Baue heute dein Berechtigungsmodell.
Logto bietet sowohl rollenbasierte Zugangskontrolle (RBAC) als auch Organisationsmerkmale, um deine Berechtigungsanforderungen zu erfüllen. Diese Funktionen sind darauf ausgelegt, einfach in verschiedene Teile deines Produkts integriert zu werden. Für weitere Informationen sieh dir unsere Abschnitte zu Organisationen und RBAC an, oder du kannst Logto jetzt ausprobieren.