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

PEOPLE: Aufzeigen welche Personen Zugriff auf meine Daten haben #257

Closed
6 of 7 tasks
mtnstar opened this issue Mar 9, 2023 · 12 comments · Fixed by hitobito/hitobito#2107
Closed
6 of 7 tasks

PEOPLE: Aufzeigen welche Personen Zugriff auf meine Daten haben #257

mtnstar opened this issue Mar 9, 2023 · 12 comments · Fixed by hitobito/hitobito#2107

Comments

@mtnstar
Copy link
Contributor

mtnstar commented Mar 9, 2023

es soll in Hitobito aufgezeigt werden, welche anderen Rollen Zugriff auf meine Daten haben. (Daten des aktuell eingeloggten Users/Person)

Mit #196 wurde ein erster PoC dazu erstellt.

  • Es werden vorerst einfach Gruppen und Rollen mit Zugriff aufgelistet (nicht welche Personen effektiv Zugriff haben)
  • Platzierung auf dem Tab 'Sicherheit' in neuem Abschnitt und nicht auf der Hilfeseite wie im PR

Tech-Spec

  • Umsetzung im Core
  • Muss die Performance für diesen Request optimiert werden? Schlussendlich scheint es eine gute Idee einfach über alle Rollen zu iterieren und dann einen Permission check mit can? zu machen. Das deckt sicher alle Rollen ab. (Diesen Punkt einfach noch prüfen, gibt es Performance Probleme so?) Daten für diesen Abschnitt ggf. nur Laden wenn Collapsed wird?

Todo

  • PR auf aktuellen Master rebasen
  • Inhalt nach Sicherheitstab des eigenen Profils verschieben
  • Performance Thema mit einem PBS Prod db dump testen
  • Specs ergänzen
  • Kunde wegen Übersetzungen informieren
  • Workflow von Anfang bis Ende "durchklicken"
  • CHANGELOG-Eintrag unter "unreleased" unten hinzufügen
@Michael-Schaer
Copy link
Contributor

Danke für die Rückfragen. Hier mal meine Gedanken dazu:

Prirität hat wohl, dass eingeloggte Benutzer sehen können, wer Zugriff auf sie hat. Gruppen und Rollen sollten reichen - ich vermute, dass das viel übersichtlicher wird als mit einzelnen Personen.

Zweite Priorität ist dann, dass Gruppenleiter*innen ebenfalls sehen können, wer z.B. aufs Wölfi X Zugriff hat. Daher finde ich den Vorschlag gut, die Info an die Person zu knüpfen. So sehen sie alle, die die Person bearbeiten können.

Aus meiner Sicht muss die Funktion nicht besonders prominent ersichtlich sein. Ich könnte mir auch vorstellen, dass der Tab "Sicherheit" einen Abschnitt + Link auf diese neue Ansicht erhält.

@ThomasEllenberger
Copy link

So wie ich das sehe:

  • Siehe Antwort von Michael: Vorerst nur Gruppen und Rollen
  • Wenn wir Prio zwei in der offerierten Zeit umsetzen können finde ich das auch sinnvoll, dass man auf allen Personen sehen kann, wer auf die jeweilige Person Zugriff hat, nicht nur auf sich selbst.
  • Ich finde die Platzierung im "Sicherheit" Tab sehr gut. 1. gehört das meines Erachtens zum Thema Sicherheit, 2. Ich finde es intuitiv dies dort zu suchen, 3. Damit ist auch gleich gewährleistet, dass dies nur sehen kann wer aufs Sicherheitstab dieser Person Zugriff hat.
  • Denke auch, dass dies für andere Organisationen interesant sein könnte, allerdings wohl nur für solche bei denen sich die Mitglieder auch selbst einloggen. Deshalb: Wenn Umsetzung im Core, dann mit Featuretoggle und nur falls dies in der offerierten Zeit umsetzbar ist. (@Michael-Schaer Das wäre evtl etwas was wir gleich noch ans Community Meeting mitnehmen könnten?)
  • Ich denke es wäre schön, wenn diese Liste gleich so wie sie ist im "Sicherheit" Tab ersichtlich ist. Falls dies aber zuviel performance braucht, dann Umsetzung mit einem Link auf eine separate Seite, welche dann diese Informationen sammelt und anzeigt.

@carlobeltrame
Copy link
Member

@Michael-Schaer im bisherigen PR hat Cyril den Berechtigungs-Check :show_details verwendet. "Zugriff auf meine Daten" ist also aktuell so zu verstehen, dass man meine Adresse, Telefonnummern, und Informationen im Abschnitt "Weitere Angaben" sehen kann, aber nicht unbedingt meine Rollen, Tags, Qualifikationen, Notizen, etc.
Daneben gibt es noch zwei weitere Abstufungen von Leserechten (:show welches nur die Anzeige der Kontaktdaten erlaubt, und :show_full welches Lesezugriff auf die Rollen, Tags, Qualifikationen, Notizen etc. vergibt, aber nicht ganz immer :show_details impliziert). Ausserdem könnte es ja auch interessant sein, zu wissen, wer Schreibzugriff auf meine Daten hat.

Für den Moment können wir mal mit dem PoC fahren und nur auf :show_details achten. Aber dann müssen wir bei der Kommunikation und Dokumentation vorsichtig sein, dass die User nicht den Eindruck bekommen, dass das alle Rollen sind die z.B. ihre Adresse einsehen können, oder dass alle diese Rollen Schreibzugriff haben. Vielleicht hast ja du noch eine Idee, wie man das kommunizieren könnte, oder wie man für die User verständlich die evaluierten Rechte auflisten oder umschalten könnte.

Kurz gesagt: "Zugriff auf meine Daten" lässt im Moment Interpretationsspielraum offen, und wir sollten klar kommunizieren was das bedeutet.

@Michael-Schaer
Copy link
Contributor

Merci für die Klärung. Ich bin einverstanden, dass wir diese erste Version einfach halten.

"Zugriff auf meine Daten" ist also aktuell so zu verstehen, dass man meine Adresse, Telefonnummern, und Informationen im Abschnitt "Weitere Angaben" sehen kann, aber nicht unbedingt meine Rollen, Tags, Qualifikationen, Notizen, etc.

Ich werde die Release-Notes entsprechend formulieren.

@Michael-Schaer
Copy link
Contributor

@ThomasEllenberger @mtnstar

Beim Testen erhalte ich eine Zeitüberschreitung:
grafik

Hier scheint etwas noch nicht zu stimmen.

@ThomasEllenberger
Copy link

Hey @Michael-Schaer

Konnte das bei mir auch nachstellen.
Bei meinen Tests hatte es bei allen Personen funktioniert, und auch jetzt bei einem erneuten Test funktioniert es bei allen Personen welche ich ausprobiere, ausser bei Hussein Kohlmann. Dieser hat enorm viele Rollen. Vermute dass es daran liegen könnte.

@mtnstar & @TheWalkingLeek könnt ihr euch das evtl. nochmals anschauen?

@Michael-Schaer
Copy link
Contributor

Wenn das Timeout für den Call vergrössert werden kann, wäre das sicher gut. Wenn es aber für Personen mit 15-20 Rollen geht, passt es für mich.

@TheWalkingLeek
Copy link
Member

@Michael-Schaer wir haben das Timeout auf der Integration auf 3 Minuten gehoben, wie auch schon bei der Prod.
Die Abfrage ging bei mir jetzt ca. 43 Sekunden, ich hoffe daher dass es ausreichen sollte :)

@Michael-Schaer
Copy link
Contributor

Super, merci, jetzt klappt es!

@Michael-Schaer
Copy link
Contributor

@richardjubla Merci für den Tipp, das auch gelöschte Gruppen vorkommen. @ThomasEllenberger Ist das ein Fehler, oder hat das eine Absicht dahinter?

@richardjubla Was meinst du damit, dass Profile sich gegenseitig sehen können? hitobito/hitobito#1688 (comment)

@richardjubla
Copy link

@richardjubla Merci für den Tipp, das auch gelöschte Gruppen vorkommen. @ThomasEllenberger Ist das ein Fehler, oder hat das eine Absicht dahinter?

@richardjubla Was meinst du damit, dass Profile sich gegenseitig sehen können? hitobito/hitobito#1688 (comment)

@Michael-Schaer

Das gelöschte Gruppen vorkommen, ist aus meiner aktuellen Sicht ein "Feature". Dies weil die gelöschten Gruppen ihre Berechtigungen und insbesondere die ContactData-Flag/Kontaktrelevanz behalten. In unserem Wagon ist das so.
Demzufolge sehen sich zum Beispiel auch Profile, welche die Kontaktrelevanz aus einer gelöschten Gruppe erhalten.

Ob Profile mit der Löschung einer Gruppe ihre Rechte/Kontaktrelevanz verlieren sollen/müssen kann ich aktuell nicht beurteilen. Bei unserem Wagon kommt hinzu, dass der Ehemaligen-Status (Ehemalige Rollen) weiterhin aktive Berechtigungen und ContactData-Flag/Kontaktrelevanz geben.

@ThomasEllenberger
Copy link

@Michael-Schaer So wie ich dass sehe wurde das Feature so konzipiert, dass alle Personen/Rollen welche show:details haben aufgelistet bleiben.
Wenn Rollen in gelöschten Gruppen diese Berechtigung behalten ist dies meiner Meinung nach korrekt, dass diese weiterhin aufgelistet bleiben.

Dieses Feature wurde mit dem heutigen Release auf eure Produktivumgebugen gespielt. Ich gehe davon aus, dass dieses abgeschlossen ist. Sind hier Änderungen gewünscht, oder soll dieses (für eine spezifische Umgebung oder den Core) noch weiter entwickelt werden, bitte ich auch, erneut auf mich zu zu kommen.

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

Successfully merging a pull request may close this issue.

6 participants