Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Nextcloud-Verbindung auf Ebene - Teil 2 #74

Closed
richardjubla opened this issue Jan 25, 2024 · 6 comments
Closed

Nextcloud-Verbindung auf Ebene - Teil 2 #74

richardjubla opened this issue Jan 25, 2024 · 6 comments

Comments

@richardjubla
Copy link
Contributor

richardjubla commented Jan 25, 2024

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

  • Pull Request 66 ist fertig besprochen, als Offerte freigegeben und für die produktive Umgebung freigegeben
  • Technische Dokumentation Hitobito ist vorhanden
  • Entweder muss Nextcloud stark «konfiguriert» werden oder die Schar muss damit rechnen, dass jedes jubla.db-Profil (inkl. Selbstregistrierung) ein Profil in der Nextcloud erstellen kann. Es beleibt ein entscheidender Aspekt unserer Lösung, dass eine Schar (Ebene/Gruppe) ihre eigene Nextcloud-Instanz ohne technisches Expertenwissen nutzen kann. Story: Als Schar/Gruppe kann ich sicherstellen, dass nur Menschen in meiner Gruppe/Ebene Zugang zu meiner Nextcloud-Instanz/Daten erhalten.

Definition of Done

  • Pull Request Nextcloud groups #66 (Schätzung bekannt, Offerte bestellt) umsetzten lassen
  • Es ist geklärt ob und wie Hitobito/OAuth steuern kann, dass sich "nur" Profile aus der eigenen Gruppe direkt bei Nextcloud anmelden können
  • Dokumentation oder Schritt-für-Schritt Anleitung für Scharen (inkl. Hinweise zu Nextcloud) wird durch die Fachgruppe Datenbank verfasst
@richardjubla richardjubla mentioned this issue Jan 25, 2024
8 tasks
@richardjubla richardjubla mentioned this issue Apr 10, 2024
8 tasks
@richardjubla
Copy link
Contributor Author

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
Copy link

niclasheinz commented Apr 11, 2024

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
Copy link
Member

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
Copy link

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

  • Limitierung welche Gruppen sich über die Datenbank bei Nextcloud einloggen können
  • Nextcloud-Gruppe nur entfernen, wenn diese von Plugin erstellt wurde

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
Copy link
Contributor Author

Der Pull Request #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
Copy link
Contributor Author

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants