Zum Inhalt

Gruppe für eine App anlegen

Ziel

Eine App hat eine neue Rolle als App-Gruppe in Authentik, die richtigen Leute sind darin, und die App bekommt sie beim Login im Claim groups.

Voraussetzungen

Schritte

1. Neuesten Stand holen und plan ausführen

Wie in Terraform ausführen, Schritt 1 bis 4, im Ordner apps/authentik/tf-groups.

Erwartet: No changes. Your infrastructure matches the configuration.

2. Gruppe eintragen

Trag die Gruppe in tf-groups/group_applications.tf in der Liste locals.groups unter dem Namen der App ein, etwa für das DokuWiki:

Terraform
1
2
3
4
dokuwiki : [
  ...
  { name = "werkstattleitung" },
]

name ist der Name, den die App im Claim groups bekommt; schreib ihn so, wie die App ihn erwartet. Gibt es die App in der Liste noch nicht, leg einen neuen Eintrag <app> : [ ... ] an; <app> ist derselbe Name wie application bei ihrer Access-Gruppe.

Optional im selben Eintrag:

  • is_default_member_group = true, wenn alle neuen Mitglieder in die Gruppe sollen, wie bei { name = "Vereinsmitglied", is_default_member_group = true } in der Nextcloud
  • weitere Schlüssel, die die App braucht; aus quota = "1 GB" wird das Attribut <app>_quota

is_default_member_group gilt nur für neue Mitglieder

Mit true kommen nur Mitglieder in die Gruppe, die sich ab jetzt registrieren. Alle, die schon ein Konto haben, fügst du in Schritt 4 von Hand hinzu.

Eine Gruppe umbenennen heißt, sie neu anzulegen

Änderst du name einer bestehenden Gruppe, löscht Terraform die alte und legt eine neue an; alle Mitglieder sind dann weg. Trag dafür zusätzlich moved-Blöcke ein, wie für nextcloud-Willkommensteam in derselben Datei, und prüf in Schritt 3, dass plan nur has moved to und Änderungen zeigt, kein destroy.

3. Ausrollen

Wie in Terraform ausführen, Schritt 5 bis 9.

Erwartet bei plan: drei neue Resources je Gruppe, die Gruppe selbst und die beiden Rechte, mit denen die Rolle group-mgmt Leute hinzufügen und entfernen darf:

Text Only
1
2
3
4
5
  # authentik_group.application["dokuwiki-werkstattleitung"] will be created
  # authentik_rbac_permission_role.group-mgmt-adduser-application["dokuwiki-werkstattleitung"] will be created
  # authentik_rbac_permission_role.group-mgmt-deluser-application["dokuwiki-werkstattleitung"] will be created

Plan: 3 to add, 0 to change, 0 to destroy.

In Authentik heißt die Gruppe danach „<App> <Name>“, hier „Dokuwiki Werkstattleitung“.

4. Mitglieder zuordnen

Füg die Leute in der Admin-Oberfläche von Authentik unter Directory → Groups → „Dokuwiki Werkstattleitung“ → Users hinzu. Das geht auch mit der eingeschränkten Rolle group-mgmt; volle Admin-Rechte braucht man dafür nicht.

Hat die Gruppe is_default_member_group = true, gilt das auch für alle, die schon ein Konto haben.

5. Rechte in der App einrichten

Was die Gruppe in der App darf, legt die App selbst fest, nicht Authentik. Manche Apps legen eine Gruppe beim ersten Login eines Mitglieds selbst an, etwa die Nextcloud; bei anderen musst du ihr in der App erst Rechte geben, etwa im DokuWiki über die Zugriffsrechte (ACL) im Admin-Bereich. Was für die App gilt, steht auf ihrer Seite unter „Login / SSO“.

Prüfen

  • Ein Konto in der neuen Gruppe meldet sich ab- und wieder an und hat in der App die neue Rolle.
  • terraform plan in tf-groups zeigt „No changes“.

Wenn etwas schiefgeht

  • Die App kennt die Gruppe nicht: Hat sich die Person nach dem Zuordnen neu angemeldet? Die Gruppen kommen nur beim Login an. Sonst prüf, ob der Name in locals.groups unter dem richtigen App-Namen steht, also unter demselben wie application in der Access-Gruppe.
  • plan will Gruppen löschen und neu anlegen: nicht ausrollen; meist ist der Name einer bestehenden Gruppe geändert, siehe die Warnung in Schritt 2.
  • Allgemeines: Authentik-Doku: Groups