Problema: SAML, utente anonimizzato e bloccato

Passaggi per riprodurre il problema:

  • Esiste un utente A, un utente SAML
  • L’amministratore desidera che l’utente A non possa più utilizzare Discourse
  • L’amministratore utilizza la funzione “anonymize user” per l’utente A (tutte le voci sono state anonimizzate => questo è corretto)
  • L’amministratore desidera bloccare ulteriori accessi da parte dell’utente A e quindi intende bloccarlo (funzione “block user”)

Nota: l’utente non è stato rimosso dal server SAML ed è ancora attivo

Comportamento atteso:
Anche se l’utente esiste ancora sul server SAML, non dovrebbe essere in grado di accedere perché è stato bloccato.

Comportamento attuale:
L’utente è in grado di accedere.

Hai provato a sospendere l’account utente su Discourse?

Scusa, invece di “blocca” intendevo “sospendi”.
Sì, ho provato così.

Il problema è che l’utente viene anonimizzato e quindi cambia il nome utente. Immagino che SAML non lo riconosca e aggiunga un nuovo utente perché SAML non riesce a trovare l’utente con il suo nome utente (= perché l’utente è stato anonimizzato in precedenza).

Immagino che discourse-saml tenti di trovare l’utente in base al nome utente all’indirizzo discourse-saml/lib/saml_authenticator.rb at 230a58b2d86465ec8aa75fb755558d4fdda73773 · discourse/discourse-saml · GitHub

Credo che sia necessario un modo per associare un utente anonimizzato ai dati dell’utente SAML. Qualcuno sa come e quale attributo convalidare?

Mi dispiace per il riuppo, ma stiamo affrontando esattamente questo problema.

  • Gli utenti accedono solo tramite provider sso.
  • L’utenteA è bloccato dal forum, ma non dall’sso.
  • L’utenteA richiede la cancellazione dei dati utente, quindi anonimizziamo l’account.
  • L’utenteA è in grado di creare un nuovo account utilizzando l’accesso sso.

C’è un modo per sospendere manualmente un’e-mail senza un account?

Vuoi solo sospendere il nuovo account?

Non vuoi che l’utente abbia la possibilità di interagire con il forum e non vuoi monitorare costantemente i nuovi utenti.

Dovrebbe esserci un modo per sospendere le email, allo stesso modo in cui puoi bloccare gli IP.

Sembra che tu non capisca come gestire le cancellazioni richieste dall’utente e quando/dove non si applicano.

Quando un utente si iscrive al tuo sito, hai il diritto di elaborare le informazioni fornite (email e nome utente) allo scopo della registrazione. Tale elaborazione non termina quando viene sospeso e cerca di andarsene, portando con sé i propri “giocattoli”.

Non sei obbligato a rimuovere l’email di un utente bannato o sospeso. Il diritto all’oblio non prevale sullo scopo dell’elaborazione.

E come è compatibile con il GDPR e il diritto degli utenti di richiedere la cancellazione dei propri dati?

Se conservi il loro account, questo è ancora associato ai loro dati e conservi le loro informazioni anche quando hanno richiesto la cancellazione dei dati dell’utente.

Chiedo sinceramente, non sono un esperto legale.

L’utente può revocare il proprio consenso al trattamento dei dati personali, ma il consenso è solo uno dei motivi che possono rendere lecito il trattamento dei dati ai sensi del GDPR.

Un altro motivo può essere il legittimo interesse del titolare del trattamento (articolo 6.1, f: il trattamento è necessario per il perseguimento del legittimo interesse del titolare del trattamento). Tale legittimo interesse può essere quello di garantire che l’utente non possa creare un nuovo account. Altrimenti l’utente potrebbe abusare del GDPR per far cancellare tutti i dati, compreso il fatto che si è comportato male.

Articolo 17 del GDPR, enfasi mia.

  1. L’interessato ha il diritto di ottenere dal titolare la cancellazione dei dati personali che lo riguardano senza ingiustificato ritardo e il titolare ha l’obbligo di cancellare i dati personali senza ingiustificato ritardo, laddove si applichi uno dei seguenti motivi: (…)
    ritira il consenso su cui si basa il trattamento (…) e laddove non sussista altro fondamento giuridico per il trattamento;

Ciò significa fondamentalmente: sì, il forum deve rimuovere i dati dell’utente su richiesta, ma poiché il forum ha sospeso l’utente, ha bisogno di un modo per assicurarsi che l’utente non crei un nuovo account, quindi ha una buona ragione per conservare l’indirizzo email dell’utente sospeso, nonostante la richiesta dell’utente.

Un modo per farlo in Discourse è anonimizzare l’utente (già sospeso) e quindi ripristinare l’indirizzo email anonimizzato al loro indirizzo email reale. Potrebbe anche essere opportuno conservare il loro IP di registrazione, basandosi sullo stesso motivo, e aggiungerlo alla lista di blocco.