hitobito / hitobito_jubla

A hitobito wagon defining the organization hierarchy and additional features for Jungwacht Blauring Schweiz.
Other
15 stars 13 forks source link

Nextcloud-Verbindung auf Ebene - Teil 2 #74

Closed richardjubla closed 3 months ago

richardjubla commented 9 months ago

User-Story

Folgt auf die vorgängige #52 Nextcloud-Verbindung auf Ebene

Als Schar (Ebene/Gruppe) möchte ich meinen verwalteten Profilen (Mitgliedern) kollaborativ nutzbaren Speicherplatz und Dokumentablage/Dokumentbearbeitung mit einer eigenen Nextcloud-Instanz von einem beliebigen Hoster ohne technisches Expertenwissen ermöglichen. Schar (Ebene/Gruppe) kann die Nextcloud-Instanz in der jubla.db Eintragen und damit können sich alle in der Gruppe verwalteten Menschen (Mitglieder) direkt in Nextcloud anmelden und haben dort die jeweils gültigen Berechtigungen (Rollen) aus der jubla.db.

Aspekte

Definition of Done

richardjubla commented 6 months ago

Interner Hinweis: Aktuell (vor PR66) werden die Gruppen/Rollen der Profile nicht an Nextcloud übergeben. Alle jubla.db-Profile erhalten jeweils die Gruppe "Everyone" zugeteilt. Bestehende oder geänderte Gruppen für einen User werden überschrieben. Damit kann eine NC-Instanz für "alle jubla.db User" genutzt werden. Beispiel: Dokumente/Organisation von öffentlichen Inhalten. Wir sollten herausfinden/wissen wann einem NC-User eine neue User-Name (ID) erstellt und zugeteilt wird. (Bei einem OAuth-Login bekommt das jubla.db Profil einen NC Username in Form einer ID. Besipiel: 079563c6c4164cf6a415c2b403a8a73560a541077a9caa9ad1b858ead9a62cf7 )

niclasheinz commented 6 months ago

Hi @richardjubla Mir ist dies auch aufgefallen. Ich habe kurz einen Test gemacht. Ich merke, dass die Gruppenzuordnungen gelöscht werden, wenn man sich neu in die Nextcloud einloggt. Screenshot_20240411_110928_FairEmail.jpg

carlobeltrame commented 6 months ago

Dass die Nextcloud-Gruppenzuordnungen gelöscht werden ist scheinbar absichtlich so programmiert im Nextcloud user_oidc Plugin: https://github.com/nextcloud/user_oidc/blob/main/lib/Service/ProvisioningService.php#L348

Das macht ja eigentlich aus Berechtigungs-Sicht auch Sinn, da ich automatisch aus der Nextcloud-Gruppe gekickt werden sollte wenn ich die entsprechende Rolle in hitobito verliere. Nur ist es problematisch, wenn ihr neben den hitobito-kontrollierten Nextcloud-Gruppen noch weitere Nextcloud-Gruppen (wie euer "admin" im Screenshot) vergebt.

Der Ansatz der mit dem user_oidc Plugin aktuell möglich ist, ist "alles oder nichts". Ein Weg wäre es also, dass ihr die Mitgliedschaft in der "admin"-Nextcloud-Gruppe auch durch irgendein Rollen-Mapping in hitobito steuert. Wenn das keine Option ist, müsste das user_oidc Plugin angepasst werden, sodass man z.B. dort einstellen kann, welche Nextcloud-Gruppen vom user_oidc Plugin nicht angefasst werden dürfen.

bergerar commented 5 months ago

Ich sehe aktuell zwei Punkte, welche (am besten) im user_oidc Plugin umgesetzt werden müssen:

Ich werde dazu mal Issues in user_oidc erstellen um mit den Entwicklern zu sehen, ob wir so etwas machen können. Ich könnte auch die Implementierung übernehmen.

richardjubla commented 4 months ago

Der Pull Request https://github.com/hitobito/hitobito_jubla/pull/66 ist auf der Stage-Umgebung angekommen und wird von uns getestet. Erster Eindruck ist gut. Gruppen werden nun in die Nextcloud-Instanz übertragen.

richardjubla commented 3 months ago

Schliesse Story: Definition of Done wurde erfolgreich umgesetzt. (Anleitung für Scharen vorhanden, aber noch nicht öffentlich)