Problem: SAML, anonymisierter Benutzer und blockiert

Steps to reproduce:

  • User A, a SAML user exists
  • Admin want, that User A is no longer able to use discourse
  • Admin uses the “anonymize user” function for user A (all entries are no anonymized => thats good)
  • Admin want to block further access of user A and therefore want to block him (block user function)

Note: the user was not removed from SAML server and is still active

Expected:
Even that the user does still exist on SAML server, the user should not be able to log in because he/she is blocked.

Current behavior:
The user is able to log in.

Have you tried suspending the user account within Discourse?

sorry, Instead of “block” I mean “suspend”.
Yes, I tried this.

The issue is, that the user gets anonymized and therefore the username changes. I guess, saml doesn’t recognize this and adds a new user because saml can not find the user with its username (= because the user was anonymized before).

I guess, discourse-saml tries to find the user based on the username at https://github.com/discourse/discourse-saml/blob/230a58b2d86465ec8aa75fb755558d4fdda73773/lib/saml_authenticator.rb#L96

I think there need to be a way to match a anonymized user with the saml user data. Does someone know how and which attribute to validate?

Entschuldigung für das Hochholen, aber wir haben genau dieses Problem.\n\n- Benutzer melden sich nur über den SSO-Anbieter an.\n- BenutzerA ist vom Forum gesperrt, aber nicht vom SSO.\n- BenutzerA fordert die Löschung von Benutzerdaten an, also anonymisieren wir das Konto.\n- BenutzerA kann ein neues Konto über die SSO-Anmeldung erstellen.\n\nGibt es eine Möglichkeit, eine E-Mail manuell zu sperren, ohne ein Konto zu haben?

Nur das neue Konto sperren?

1 „Gefällt mir“

Ja, Sie möchten nicht, dass der Benutzer die Möglichkeit hat, mit dem Forum zu interagieren, und Sie möchten nicht ständig überwachen, wer die neuen Benutzer sind.

Es sollte eine Möglichkeit geben, E-Mails zu sperren, genauso wie Sie IPs blockieren können.

Es scheint, als ob Sie nicht verstehen, wie Sie mit vom Benutzer angeforderten Löschungen umgehen und wann/wo dies nicht zutrifft.

Wenn sich ein Benutzer für Ihre Website anmeldet, haben Sie das Recht, die von ihm bereitgestellten Informationen (E-Mail und Benutzername) für den Zweck der Registrierung zu verarbeiten. Diese Verarbeitung endet nicht, wenn er gesperrt wird und versucht zu gehen und seine Sachen mitzunehmen.

Sie sind nicht verpflichtet, die E-Mail eines gesperrten oder suspendierten Benutzers zu entfernen. Das Recht auf Vergessenwerden hebt den Verarbeitungszweck nicht auf.

Und wie ist das mit der DSGVO und dem Recht der Nutzer, die Löschung ihrer Daten zu verlangen, vereinbar?

Wenn Sie ihr Konto behalten, ist dies immer noch mit ihren Daten verknüpft und Sie behalten ihre Informationen, auch wenn sie die Löschung von Benutzerdaten beantragt haben.

Ehrlich gefragt, ich bin kein Rechtsexperte.

Der Nutzer kann seine Einwilligung zur Verarbeitung personenbezogener Daten widerrufen, aber die Einwilligung ist nur einer der Gründe, die die Datenverarbeitung gemäß der DSGVO rechtmäßig machen können.

Ein weiterer Grund kann das berechtigte Interesse des Verantwortlichen sein (Artikel 6 Abs. 1 lit. f: die Verarbeitung ist für die Wahrnehmung berechtigter Interessen erforderlich, die von dem Verantwortlichen verfolgt werden). Ein solches berechtigtes Interesse kann darin bestehen, sicherzustellen, dass der Nutzer kein neues Konto erstellen kann. Andernfalls könnte der Nutzer die DSGVO missbrauchen, um alle Aufzeichnungen löschen zu lassen, einschließlich der Tatsache, dass er sich fehlverhalten hat.

DSGVO Artikel 17, Hervorhebung von mir.

  1. Der Betroffene hat das Recht, von dem Verantwortlichen zu verlangen, dass personenbezogene Daten, die ihn betreffen, unverzüglich gelöscht werden, und der Verantwortliche ist verpflichtet, personenbezogene Daten unverzüglich zu löschen, sofern einer der folgenden Gründe zutrifft: (…)
    die betroffene Person widerruft ihre Einwilligung, auf die sich die Verarbeitung stützte (…) und wenn kein anderer Rechtsgrund für die Verarbeitung vorliegt;

Was im Grunde bedeutet: Ja, das Forum muss die Daten des Nutzers auf dessen Wunsch hin entfernen, aber da das Forum den Nutzer gesperrt hat, muss es eine Möglichkeit haben, sicherzustellen, dass der Nutzer kein neues Konto erstellt. Daher hat es einen guten Grund, die E-Mail-Adresse des gesperrten Nutzers zu behalten, trotz der Aufforderung des Nutzers.

Eine Möglichkeit, dies in Discourse zu tun, besteht darin, den (bereits gesperrten) Nutzer zu anonymisieren und dann die anonymisierte E-Mail-Adresse wieder auf die tatsächliche E-Mail-Adresse des Nutzers zu ändern. Sie möchten möglicherweise auch dessen Registrierungs-IP aus demselben Grund beibehalten und zur Blockierliste hinzufügen.