問題:SAML、匿名ユーザー、およびブロック

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?

申し訳ありませんが、この問題にまさに直面しています。

  • ユーザーはSSOプロバイダーを通じてのみログインします。
  • UserAはフォーラムからブロックされていますが、SSOからはブロックされていません。
  • UserAはユーザーデータの削除をリクエストするため、アカウントを匿名化します。
  • UserAはSSOログインを使用して新しいアカウントを作成できます。

アカウントなしでメールを個別に一時停止する方法はありますか?

新しいアカウントを一時停止するだけですか?

「いいね!」 1

ユーザーにフォーラムでのやり取りの機会を与えたくない、また、新規ユーザーを常に監視したくないということですね。

IPアドレスをブロックできるのと同じように、メールを一時停止できる方法があるべきです。

ユーザーからの削除リクエストの処理方法や、それが適用されない場合/場所について理解していないようです。

ユーザーがあなたのサイトにサインアップする際、登録目的で提供された情報(メールアドレスとユーザー名)を処理する権利があります。その処理は、ユーザーが一時停止され、自分の「おもちゃ」を持って立ち去ろうとしても終了しません。

禁止または一時停止されたユーザーのメールアドレスを削除する義務はありません。「忘れられる権利」は、処理目的を上回るものではありません。

そして、それはGDPRおよびユーザーがデータの削除を要求する権利とどのように互換性があるのでしょうか?

アカウントを保持している場合、それは依然としてデータに関連付けられており、ユーザーデータの削除を要求した場合でも情報を保持することになります。

率直に伺いますが、私は法律の専門家ではありません。

ユーザーは個人データの処理に対する同意を撤回できますが、同意はGDPRの下でデータ処理を合法化できる根拠の1つにすぎません。

別の根拠として、管理者(article 6.1, f: 管理者が追求する正当な利益のために処理が必要であること)の正当な利益が挙げられます。そのような正当な利益とは、ユーザーが新しいアカウントを作成できないようにすることです。そうでなければ、ユーザーはGDPRを悪用して、不正行為を行ったという事実を含むすべての記録を削除させることができます。

GDPR第17条、強調は私によるものです。

  1. データ主体は、管理者に遅滞なく自己または自己に関する個人データの消去を求める権利を有し、管理者は、以下のいずれかの根拠が適用される場合、個人データを遅滞なく消去する義務を負う:(…)
    データ主体が、処理の基礎となる同意を撤回した場合(…)および処理について他に法的根拠がない場合

これは基本的に、フォーラムはユーザーの要求に応じてユーザーのデータを削除しなければならないが、フォーラムはユーザーを一時停止したため、ユーザーが新しいアカウントを作成しないようにする方法が必要であり、ユーザーの要求にもかかわらず、一時停止されたユーザーのメールアドレスを保持する正当な理由がある、という意味です。

Discourseでこれを行う1つの方法は、(すでに一時停止されている)ユーザーを匿名化し、次に匿名化されたメールアドレスを実際のメールアドレスに戻すことです。同じ根拠に基づいて、登録IPを保持し、ブロックリストに追加することも検討してください。