open-how2 – Entdecke. Verstehe. Nutze.
Veröffentlicht am
How2-Tipps

Keycloak verstehen – Realms, Clients, Roles & Users erklärt

Autor
Keycloak verstehen – Realms, Clients, Roles & Users erklärt

Wer sich mit Keycloak beschäftigt, trifft schnell auf Begriffe wie Realm, Client, Role und User. Doch was steckt eigentlich dahinter? Damit du nicht im Dschungel der Identitäten, Token und Zugriffsebenen verloren gehst, erklären wir dir die Grundstruktur von Keycloak – einfach, praxisnah und mit dem Blick fürs Wesentliche.

Was ist ein Realm?

Ein Realm ist in Keycloak so etwas wie ein eigener Sicherheitsraum oder eine digitale Identitätsinsel. Innerhalb eines Realms werden Benutzer, Rollen und Anwendungen (Clients) verwaltet – völlig unabhängig von anderen Realms.

Beispiel:

  • Du betreibst eine Plattform für mehrere Organisationen.
  • Jede Organisation bekommt ihren eigenen Realm (z. B. „schule-ahlen“, „schule-hamm“, „schule-münster“).
  • Benutzer aus einem Realm können sich nicht automatisch in einem anderen anmelden – es sei denn, du erlaubst es.

Kurz gesagt: Ein Realm trennt Identitäten, Berechtigungen und Anmeldedaten voneinander. Das macht Keycloak besonders flexibel und mandantenfähig.

Was sind Clients?

Ein Client ist in Keycloak jede Anwendung, die Authentifizierung über Keycloak nutzt – egal ob Web-App, API oder Mobile App.

Clients kommunizieren mit Keycloak über Protokolle wie OpenID Connect oder SAML. Sobald sich ein Benutzer über Keycloak anmeldet, erhält der Client ein Token mit Informationen über die Identität und Berechtigungen des Nutzers.

Beispiel:

  • nextcloud.example.de → Client „Nextcloud“
  • wiki.example.de → Client „Wiki“
  • crm.example.de → Client „CRM-System“

Jede Anwendung kann individuell konfiguriert werden – etwa, ob sie öffentlich zugänglich ist oder eine Client-Authentifizierung benötigt.

Was sind Users?

User sind natürlich die Menschen (oder Systeme), die sich anmelden. In Keycloak kannst du Benutzer manuell anlegen, per LDAP importieren oder über Social Login (z. B. Google, Microsoft) integrieren.

Jeder Benutzer kann:

  • Rollen besitzen
  • Gruppen zugeordnet sein
  • Attribute (z. B. E-Mail, Telefonnummer, Abteilung) haben
  • über Benutzerdefinierte Policies verwaltet werden

Beispiel: Ein Benutzer „alex.schmidt“ hat die Rolle teacher und gehört zur Gruppe schule-ahlen. Er darf sich am Realm „schule-ahlen“ anmelden und bestimmte Clients (z. B. das Schulportal) nutzen.

Was sind Roles?

Roles sind das Herzstück der Zugriffskontrolle in Keycloak. Sie definieren, was ein Benutzer darf – zum Beispiel Inhalte sehen, Daten bearbeiten oder Admin-Aufgaben übernehmen.

Man unterscheidet:

  1. Realm Roles: gelten für den gesamten Realm. → Beispiel: admin, manager, user
  2. Client Roles: gelten nur für einen bestimmten Client. → Beispiel: editor in „Nextcloud“, viewer in „Wiki“

Rollen können kombiniert und vererbt werden. Ein Benutzer kann also sowohl globale als auch anwendungsspezifische Berechtigungen besitzen.

Rollenvererbung in Keycloak

Keycloak erlaubt eine Art Rollenhierarchie. Das heißt: Eine Rolle kann andere Rollen enthalten – ähnlich wie verschachtelte Gruppen.

Beispiel: Die Rolle teacher enthält automatisch:

  • view_students
  • edit_grades
  • access_portal

Wenn du einem Benutzer die Rolle teacher gibst, bekommt er alle untergeordneten Rechte automatisch dazu. So behältst du auch in großen Organisationen mit vielen Berechtigungen den Überblick.

Zusammenspiel von Realm, Clients, Roles & Users

Stell dir Keycloak wie eine Stadtverwaltung vor:

  • Realm = Stadt
  • Clients = Gebäude (z. B. Rathaus, Schule, Bibliothek)
  • Users = Bürger
  • Roles = Zutrittsrechte (z. B. Mitarbeiter, Besucher, Hausmeister)

Ein Bürger (User) kann Zutritt zu bestimmten Gebäuden (Clients) erhalten, wenn er die passenden Rechte (Roles) besitzt – und das alles verwaltet zentral die Stadtverwaltung (Keycloak).

Keycloak ist mächtig – aber logisch aufgebaut. Wenn du das Zusammenspiel von Realms, Clients, Roles und Users verstanden hast, kannst du komplexe Zugriffsmodelle elegant abbilden: vom kleinen Vereinsportal bis zur mehrmandantenfähigen Verwaltungsplattform.

Mit Keycloak behältst du die Kontrolle über Identitäten, Rechte und Sicherheit – einmal eingerichtet, überall nutzbar.