Zum Hauptinhalt springen

Zugriffskontrolle auf App-Ebene

Die Zugriffskontrolle auf App-Ebene ermöglicht es dir, einzuschränken, wer sich bei einer bestimmten Anwendung anmelden darf. Anstatt jedem registrierten Benutzer in deinem Logto-Tenant den Zugriff auf jede App zu erlauben, kannst du für jede Anwendung Zulassungsregeln basierend auf Benutzern, Benutzerrollen, Organisationen oder Organisationsrollen erstellen.

Verwende die Zugriffskontrolle auf App-Ebene, wenn du:

  • Eine interne App nur für Mitarbeitende oder Admins verfügbar machen möchtest.
  • Eine geschützte App auf eine ausgewählte Benutzergruppe beschränken möchtest.
  • Nur bestimmten Kunden oder Partnern den Zugriff auf eine Drittanbieter-OIDC / OAuth-Anwendung erlauben möchtest.
  • Eine neue Anwendung zunächst einer Pilotgruppe bereitstellen möchtest, bevor sie allen zur Verfügung steht.

Funktionsweise

Wenn die Zugriffskontrolle auf App-Ebene deaktiviert ist, können sich alle registrierten Benutzer in deinem Logto-Tenant bei der Anwendung anmelden.

Wenn sie aktiviert ist, kann ein Benutzer die Anwendung nur nutzen, wenn er mindestens einer konfigurierten Regel entspricht. Entspricht der Benutzer keiner Regel, verweigert Logto den Anmeldeversuch und zeigt eine Zugriffsverweigerungsseite an, bevor die Anwendung Tokens erhält.

Die Zugriffskontrolle auf App-Ebene wird während des Autorisierungsflusses und der Token-Erneuerung ausgewertet. Das bedeutet:

  • Benutzer ohne Zugriff werden blockiert, bevor sie die Anmeldung für die Anwendung abschließen können.
  • Bestehende App-Berechtigungen werden erneut überprüft, wenn Auffrischungstokens verwendet werden, um neue Tokens anzufordern.
  • Das Aktualisieren von Regeln wirkt sich auf zukünftige Autorisierungs- und Token-Erneuerungsprüfungen aus, ohne die globale Logto-Sitzung des Benutzers zu verändern.
hinweis:

Die Zugriffskontrolle auf App-Ebene ist getrennt von der rollenbasierten Zugangskontrolle (RBAC). RBAC steuert, was ein Benutzer nach der Authentifizierung tun kann, indem Berechtigungen (Scopes) in Zugangstokens ausgegeben werden. Die Zugriffskontrolle auf App-Ebene steuert, ob ein Benutzer überhaupt auf eine bestimmte Anwendung zugreifen darf.

Regeltypen

Du kannst die folgenden Zulassungsregeln konfigurieren:

RegeltypWas erlaubt wird
BenutzerBestimmte Benutzer können auf die Anwendung zugreifen.
BenutzerrollenBenutzern, denen ausgewählte Benutzerrollen zugewiesen sind, wird der Zugriff auf die Anwendung erlaubt.
OrganisationenAlle aktuellen und zukünftigen Mitglieder ausgewählter Organisationen können auf die Anwendung zugreifen.
OrganisationsrollenMitglieder mit ausgewählten Organisationsrollen in ausgewählten Organisationen können auf die Anwendung zugreifen.

Regeln sind additiv. Ein Benutzer muss nur einer Regel entsprechen, um auf die Anwendung zugreifen zu können.

Beispiel: Wenn eine Anwendung sowohl eine Benutzerrollen-Regel „Support-Team“ als auch eine Organisationsrollen-Regel „BigTree - Admin“ hat, kann ein Benutzer auf die Anwendung zugreifen, wenn er entweder die Rolle Support-Team hat oder Admin in der Organisation BigTree ist.

Zugriffskontrolle auf App-Ebene konfigurieren

  1. Gehe zu Konsole > Anwendungen.
  2. Öffne die Anwendung, die du einschränken möchtest.
  3. Navigiere zum Tab Regeln.
  4. Klicke unter Benutzerdefinierte Zulassungsregeln auf Regeln hinzufügen.
  5. Wähle einen Regeltyp:
    • Benutzer
    • Benutzerrollen
    • Organisationen
    • Organisationsrollen
  6. Wähle die Benutzer, Rollen, Organisationen oder Organisationsrollen aus, die Zugriff auf die Anwendung erhalten sollen.
  7. Aktiviere Zugriffskontrolle aktivieren.
  8. Klicke auf Änderungen speichern.
important:

Du musst mindestens eine Zulassungsregel konfigurieren, bevor du die Zugriffskontrolle aktivierst. So wird verhindert, dass die Zugriffskontrolle versehentlich aktiviert wird, ohne dass Benutzer Zugriff auf die Anwendung haben.

Regeln bearbeiten oder entfernen

Du kannst die Zulassungsliste im Tab Regeln der Anwendung aktualisieren.

  • Um weitere Regeln hinzuzufügen, klicke unterhalb der Regel-Tabelle auf Weitere hinzufügen.
  • Um eine Regel zu entfernen, klicke auf die Löschtaste in der Regelzeile und bestätige die Aktion.
  • Nach dem Hinzufügen oder Entfernen von Regeln klicke auf Änderungen speichern, um die Aktualisierung zu übernehmen.

Wenn die Zugriffskontrolle aktiviert ist, verlangt Logto, dass mindestens eine Regel konfiguriert bleibt. Um alle Regeln zu entfernen, deaktiviere zuerst Zugriffskontrolle aktivieren und speichere dann die Änderungen.

Auswirkungen von Regeländerungen auf Benutzer

Die Zugriffskontrolle auf App-Ebene beendet nicht die globale Logto-Sitzung des Benutzers. Ein Benutzer kann weiterhin bei Logto und anderen Anwendungen angemeldet sein.

Für die eingeschränkte Anwendung gilt:

  • Ein Benutzer, der keiner Zulassungsregel mehr entspricht, wird beim nächsten Durchlaufen des Autorisierungsflusses der Anwendung blockiert.
  • Wenn der Benutzer bereits App-bezogene Berechtigungen hat, prüft Logto die Regeln erneut, wenn die Anwendung ein Auffrischungstoken verwendet, um neue Tokens anzufordern. Hat der Benutzer keinen Zugriff mehr, verweigert Logto die Token-Anfrage.

So bleiben Zugriffsentscheidungen an die Anwendung gebunden, ohne andere Anwendungen unnötig zu beeinträchtigen.

Beziehung zu Drittanbieter-App-Berechtigungen

Für Drittanbieter-Anwendungen lösen Zugriffskontrolle auf App-Ebene und Berechtigungsmanagement unterschiedliche Probleme:

  • Zugriffskontrolle auf App-Ebene bestimmt, ob ein Benutzer sich bei der Drittanbieter-Anwendung anmelden darf.
  • Berechtigungsmanagement bestimmt, welche Benutzerprofil-Scopes, API-Ressourcen-Scopes und Organisations-Scopes die Drittanbieter-Anwendung auf dem Zustimmungsbildschirm anfordern darf.

Wenn beides konfiguriert ist, muss der Benutzer zuerst die Zugriffskontrolle auf App-Ebene bestehen, bevor er die Drittanbieter-Anwendung autorisieren kann.

Beziehung zur geschützten App

Für die geschützte App beschränkt die Zugriffskontrolle auf App-Ebene, wer die Logto-Authentifizierungsschicht passieren und den geschützten Origin-Server erreichen darf.

Die Authentifizierungsregeln der geschützten App bestimmen weiterhin, welche Routen eine Authentifizierung erfordern. Die Zugriffskontrolle auf App-Ebene legt fest, welche authentifizierten Logto-Benutzer auf die geschützte App zugreifen dürfen.

Best Practices

  • Beginne nach Möglichkeit mit Benutzerrollen- oder Organisationsrollen-Regeln. Sie sind leichter zu pflegen als lange Listen einzelner Benutzer.
  • Verwende Organisationsregeln, wenn alle Mitglieder einer Organisation auf die App zugreifen sollen.
  • Verwende Organisationsrollen-Regeln, wenn nur bestimmte Mitglieder einer Organisation auf die App zugreifen sollen.
  • Überprüfe die Zugriffsregeln, wenn Benutzer Rollen wechseln, Organisationen beitreten oder Organisationen verlassen.
  • Halte RBAC-Berechtigungen und Zugriffskontrolle auf App-Ebene in deinem mentalen Modell getrennt: Die Zugriffskontrolle auf App-Ebene beantwortet „Kann dieser Benutzer auf diese App zugreifen?“, während RBAC beantwortet „Was kann dieser Benutzer nach dem Zugriff auf APIs oder Organisationsfunktionen tun?“