User Tools

Site Tools


infrastructure:services:keycloak

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
infrastructure:services:keycloak [2024-04-24 20:46 UTC] – Document the desired permission & configuration structure. Also mark it as such and further mark the Attributes section as ToDo and the RBAC section as NEEDS REVISION. juneinfrastructure:services:keycloak [2024-06-08 08:23 UTC] (current) – [Angebundene Services] stb
Line 28: Line 28:
  
 ---- datatable ---- ---- datatable ----
-headers : Service, Service-URLs, Host-FQND, Server+headers : Service, Service-URLs, Host-FQDN, Server
 cols    : %pageid%, service-urls_urls, host-fqdn, server_page cols    : %pageid%, service-urls_urls, host-fqdn, server_page
 filter  : %class%=service filter  : %class%=service
Line 43: Line 43:
  
   * [[infrastructure:services:netbox|NetBox]]   * [[infrastructure:services:netbox|NetBox]]
-  * [[https://gitlab.hamburg.ccc.de|Unser GitLab]]+  * <del>[[https://gitlab.hamburg.ccc.de|Unser GitLab]]</del> Gitlab soll so bald wie möglich stillgelegt werden; Forgejo ist die Zukunft.
  
 ===== Konfiguration ===== ===== Konfiguration =====
Line 49: Line 49:
 Die einzelnen an Keycloak angebundenen Anwendungen heißen "clients", die Nutzeraccounts sind "user". Die einzelnen an Keycloak angebundenen Anwendungen heißen "clients", die Nutzeraccounts sind "user".
 Alle Nutzeraccounts für die Club-Services liegen im "ccchh" realm. Alle Nutzeraccounts für die Club-Services liegen im "ccchh" realm.
- 
-Da die verschiedenen Services (clients) unterschiedliche Rollen-/ Gruppen-Namen für dieselben Funktionalitäten verwenden könne, sollten für jeden Client unter "Clients -> $client -> Roles" eingerichtet werden. 
-Im Keycloak können dann Real-weite Gruppen angelegt werden, die eine Reihe von Client-Roles enthalten. 
  
 Support für 2FA via WebAuthn wurde über einen selbst erstellten Authentication Flow namens "webauthn browser" realisiert. Dieser ist eine angepasste Kopie des built-in browser flow mit WebAuthn Support. Hierzu wurde [[https://www.keycloak.org/docs/latest/server_admin/index.html#webauthn_server_administration_guide|diese Doku]] zu Rate gezogen. Support für 2FA via WebAuthn wurde über einen selbst erstellten Authentication Flow namens "webauthn browser" realisiert. Dieser ist eine angepasste Kopie des built-in browser flow mit WebAuthn Support. Hierzu wurde [[https://www.keycloak.org/docs/latest/server_admin/index.html#webauthn_server_administration_guide|diese Doku]] zu Rate gezogen.
Line 58: Line 55:
  
 Oder auch mit limitierten Rechten durch den eigenen Nutzer-Account unter folgender URL: [[https://keycloak-admin.hamburg.ccc.de/admin/ccchh/console/]] Oder auch mit limitierten Rechten durch den eigenen Nutzer-Account unter folgender URL: [[https://keycloak-admin.hamburg.ccc.de/admin/ccchh/console/]]
 +
 +===== Gruppen und Rollen =====
 +
 +Da die verschiedenen Services (clients) unterschiedliche Rollen-/ Gruppen-Namen für dieselben Funktionalitäten verwenden können, sollten für jeden Client unter "Clients -> $client -> Roles" eingerichtet werden. wir haben die Clients in der Regel so konfiguriert, dass der Namen der Rolle einer Gruppe im Client entspricht, also z. B. im DokuWiki wird aus der Keycloak-Rolle "hackertours" die Gruppe "hackertours".
 +
 +Im Keycloak können dann Realm-weite Gruppen angelegt werden, die eine Reihe von Client-Roles enthalten.
 +
 +Damit z. B. im Wiki eine Gruppe "foo" für die Berechtigung zur Verfügung steht, müssen in Keycloak diese Objekte konfiguriert werden:
 +  * Clients > wiki > Roles > "foo"
 +  * Groups > "foo" > Role Mapping > "wiki foo"
 +
 +Etwas verwirrend: wenn man in der Gruppe ein Role Mapping hinzufügen möchte, sieht man die Client-spezifischen Rollen zunächst nicht. Man muss nach Klick auf "Assign Roles" die Option "Filter by Clients" auswählen, dann gibt's die richtige Liste.
 +
 +Durch diesen Mechanismus ist es möglich, von einer Gruppe in Keycloak auf verschiedene Gruppennamen in den unterschiedlichen Clients zu mappen. Wir versuchen aber, die Gruppennamen konsistenz über alle Services zu halten.
 +
  
 ==== DokuWiki ==== ==== DokuWiki ====
infrastructure/services/keycloak.1713991578.txt.gz · Last modified: 2024-04-24 20:46 UTC by june

Except where otherwise noted, content on this wiki is licensed under the following license: CC0 1.0 Universal
CC0 1.0 Universal Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki