Zum Hauptinhalt springen

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:

SzenarioWann verwendenToken-TypRollenkonfigurationMehr erfahren
Globale API-Ressourcen-BerechtigungenSchütze API-Ressourcen, die in deinem gesamten Logto-Tenant geteilt werden (nicht organisationsspezifisch)ZugangstokenWeisen globale Rollen/Berechtigungen zuGlobale API-Ressourcen schützen
Organisations-(Nicht-API)-BerechtigungenSteuere organisationsspezifische Aktionen, UI-Features oder Geschäftslogik (keine APIs)OrganisationstokenWeisen Organisationsrollen/Berechtigungen für App-Steuerung zuOrganisation (Nicht-API)-Berechtigungen schützen
Organisationsbezogene API-Ressourcen-BerechtigungenSchütze API-Ressourcen, die innerhalb einer bestimmten Organisation zugänglich sindOrganisationstokenWeisen Organisationsrollen/Berechtigungen für Organisations-APIs zuOrganisationsbezogene 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.

tipp:

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:

Anwendungsfälle

Suchst du nach praktischen Beispielen und realen Szenarien? Schau dir diese Anleitungen an:

Weiterführende Literatur

RBAC und ABAC: Die Zugangskontrollmodelle, die du kennen solltest

Wann sollte ich JWTs verwenden? API-Autorisierungsmethoden