Autorisierung (Authorization)
Autorisierung (Authorization) in Logto definiert, was Benutzer und Apps nach der Authentifizierung tun dürfen: welche APIs, Ressourcen oder Aktionen für jede Identität erlaubt sind.
Logto bietet flexible, tokenbasierte Autorisierung für moderne SaaS- und KI-Anwendungen. Du kannst API-Ressourcen global oder im Kontext jeder Organisation schützen. Alle Berechtigungen werden über ein rollenbasiertes Zugangskontrollsystem (RBAC) verwaltet, mit erweiterten Funktionen für Multi-Tenant-Anwendungen durch Organisationstemplates. Über die Steuerung hinaus, was Benutzer tun dürfen, kannst du auch einschränken, welche Benutzer sich bei jeder Anwendung anmelden dürfen – mit App-spezifischer Zugangskontrolle.
Zentrale Konzepte
- Rollenbasierte Zugangskontrolle (RBAC): Logto verwendet RBAC als Grundlage für die Zuweisung von Berechtigungen an Benutzer, Clients und Dienste. Mehr über RBAC erfahren.
- API-Ressource: Jeder Backend-Dienst oder Endpunkt, den du schützen möchtest (global oder organisationsspezifisch).
- Rolle (Role): Eine Gruppe von Berechtigungen (z. B. Admin, Betrachter, Editor).
- Berechtigung (scope): Eine spezifisch erlaubte Aktion (z. B.
read:report,invite:member). - Organisation (Organization): Stellt einen Mandanten, Arbeitsbereich oder Kunden in deiner Anwendung dar. Dies unterscheidet sich vom Logto-Tenant, der sich auf dein gesamtes Logto-Projekt oder deine Instanz bezieht.
- Organisationstemplate: Für Multi-Tenant-Anwendungen kannst du eine wiederverwendbare Sammlung von Rollen und Berechtigungen definieren, die auf alle Organisationen angewendet wird. So funktionieren Organisationstemplates.
- Zugangstoken (Access token) / Organisationstoken (Organization token): Tokens, die Ansprüche (Claims) für globale oder organisationsbezogene Berechtigungen enthalten.
Autorisierungsszenarien
Es gibt drei Hauptmuster für die Autorisierung in Logto. Wähle das Szenario, das zu deinen Anforderungen passt:
| Szenario | Wann verwenden | Token-Typ | Rollenkonfiguration | Mehr erfahren |
|---|---|---|---|---|
| Globale API-Ressourcen-Berechtigungen | Schütze API-Ressourcen, die in deinem gesamten Logto-Tenant geteilt werden (nicht organisationsspezifisch) | Zugangstoken | Weisen globale Rollen/Berechtigungen zu | Globale API-Ressourcen schützen |
| Organisations-(Nicht-API)-Berechtigungen | Steuere organisationsspezifische Aktionen, UI-Features oder Geschäftslogik (keine APIs) | Organisationstoken | Weisen Organisationsrollen/Berechtigungen für App-Steuerung zu | Organisation (Nicht-API)-Berechtigungen schützen |
| Organisationsbezogene API-Ressourcen-Berechtigungen | Schütze API-Ressourcen, die innerhalb einer bestimmten Organisation zugänglich sind | Organisationstoken | Weisen Organisationsrollen/Berechtigungen für Organisations-APIs zu | Organisationsbezogene API-Ressourcen schützen |
Logto modelliert API-Ressourcen gemäß RFC 8707 und verwendet den resource-Parameter in OAuth 2.0-Autorisierungsflüssen. Das macht es einfach, mehrere APIs oder Microservices abzusichern und sorgt für Kompatibilität mit anderen standardbasierten Systemen.
Diese Muster steuern, was ein Benutzer nach der Anmeldung bei einer Anwendung tun darf. Um zu steuern, ob sich ein Benutzer überhaupt bei einer bestimmten Anwendung anmelden darf, verwende die App-spezifische Zugangskontrolle. Sie beschränkt den Zugriff auf Anwendungen mit Zulassungsregeln basierend auf Benutzern, Rollen, Organisationen oder Organisationsrollen und funktioniert unabhängig von den oben genannten tokenbasierten Mustern.
Benötigst du benutzerdefinierte Ansprüche (Claims) oder erweiterte Zugangskontrolle? Siehe Benutzerdefinierte Token-Claims.
So funktioniert die Logto-Autorisierung
-
Tokenbasiert: Jeder Zugriff wird über ein sicheres, signiertes Zugangstoken gewährt. Dein Backend validiert das Token und erzwingt die Berechtigungen (Scopes).
-
Globale vs. organisationsbezogene Berechtigung (Scope):
- Globale Berechtigung (Scope): Steuert den Zugriff auf API-Ressourcen in deinem gesamten Logto-Tenant.
- Organisationsbezogene Berechtigung (Scope): Steuert sowohl Geschäftslogik (App-Features) als auch API-Ressourcen im Kontext einer Organisation. Organisationsberechtigungen können für Nicht-API-Features (wie UI-Elemente oder Workflows) und/oder organisationsspezifische API-Endpunkte gelten.
-
Rollen und Berechtigungen (Scopes): Rollen sind Sammlungen von Berechtigungen (Scopes). Weisen Rollen Benutzern oder Clients global oder innerhalb einer Organisation zu, je nach deinem Szenario.
Nächste Schritte
Bereit für den nächsten Schritt? Starte praktisch, entdecke praxisnahe Anleitungen oder vertiefe dein Verständnis:
Beherrsche Rollen und Berechtigungen für eine feingranulare Zugangskontrolle.
Erfahre, wie du wiederverwendbare Rollen und Berechtigungen für Multi-Tenant-Anwendungen einrichtest.
Sichere APIs, die in deinem Logto-Tenant geteilt werden, mit globalen Rollen und Berechtigungen.
Steuere organisationsspezifische Aktionen und UI-Features mit Organisationsrollen.
Sichere APIs, die innerhalb einer bestimmten Organisation zugänglich sind, mit Organisationsrollen.
Erfahre, wie du Logto-Tokens in deinem Backend überprüfst, um APIs abzusichern.
Beschränke, welche Benutzer sich bei jeder Anwendung anmelden dürfen – mit Benutzern, Rollen, Organisationen und Organisationsrollen.
Erfahre, wie du benutzerdefinierte Claims für erweiterte Zugangskontrollszenarien hinzufügst.
Anwendungsfälle
Suchst du nach praktischen Beispielen und realen Szenarien? Schau dir diese Anleitungen an:
Sieh dir ein Schritt-für-Schritt-Beispiel für sichere Autorisierung mit RBAC an.
Folge einem umfassenden Leitfaden zur Multi-Tenant-SaaS-Architektur und -Implementierung.
Weiterführende Literatur
RBAC und ABAC: Die Zugangskontrollmodelle, die du kennen solltest
Wann sollte ich JWTs verwenden? API-Autorisierungsmethoden