sbernhard
(Bernhard Suttner)
1
再現手順:
- SAML ユーザーのユーザー A が存在する
- 管理者は、ユーザー A が Discourse を使用できなくなるようにしたい
- 管理者はユーザー A に対して「ユーザーの匿名化」機能を使用する(すべてのエントリが匿名化される=これは正しい)
- 管理者はユーザー A のさらなるアクセスをブロックしたいため、ユーザーをブロックする(ユーザーブロック機能)
注意: ユーザーは SAML サーバーから削除されておらず、まだアクティブな状態です
期待される動作:
ユーザーが SAML サーバー上に存在し続けていても、ブロックされているためログインできないはずです。
現在の動作:
ユーザーはログインできてしまいます。
Stephen
(Stephen)
3
Discourse 内でユーザーアカウントを無効にしてみましたか?
sbernhard
(Bernhard Suttner)
4
申し訳ありませんが、「block」ではなく「suspend」の意味でした。
はい、試してみました。
問題は、ユーザーが匿名化されることでユーザー名が変更されてしまう点です。おそらくSAMLがこの変更を認識できず、匿名化前のユーザー名でユーザーが見つからないため、新しいユーザーを追加しているのでしょう。
discourse-samlは、おそらくこのURLの行96にあるように、ユーザー名に基づいてユーザーを検索しているようです。
匿名化されたユーザーとSAMLのユーザーデータを一致させる方法が必要だと考えられます。どなたか、どの属性を検証すべきか、その方法をご存知でしょうか?
nukeador
(Nukeador)
5
申し訳ありませんが、この問題にまさに直面しています。
- ユーザーはSSOプロバイダーを通じてのみログインします。
- UserAはフォーラムからブロックされていますが、SSOからはブロックされていません。
- UserAはユーザーデータの削除をリクエストするため、アカウントを匿名化します。
- UserAはSSOログインを使用して新しいアカウントを作成できます。
アカウントなしでメールを個別に一時停止する方法はありますか?
nukeador
(Nukeador)
7
ユーザーにフォーラムでのやり取りの機会を与えたくない、また、新規ユーザーを常に監視したくないということですね。
IPアドレスをブロックできるのと同じように、メールを一時停止できる方法があるべきです。
Stephen
(Stephen)
8
ユーザーからの削除リクエストの処理方法や、それが適用されない場合/場所について理解していないようです。
ユーザーがあなたのサイトにサインアップする際、登録目的で提供された情報(メールアドレスとユーザー名)を処理する権利があります。その処理は、ユーザーが一時停止され、自分の「おもちゃ」を持って立ち去ろうとしても終了しません。
禁止または一時停止されたユーザーのメールアドレスを削除する義務はありません。「忘れられる権利」は、処理目的を上回るものではありません。
nukeador
(Nukeador)
9
そして、それはGDPRおよびユーザーがデータの削除を要求する権利とどのように互換性があるのでしょうか?
アカウントを保持している場合、それは依然としてデータに関連付けられており、ユーザーデータの削除を要求した場合でも情報を保持することになります。
率直に伺いますが、私は法律の専門家ではありません。
RGJ
(Richard - Communiteq)
10
ユーザーは個人データの処理に対する同意を撤回できますが、同意はGDPRの下でデータ処理を合法化できる根拠の1つにすぎません。
別の根拠として、管理者(article 6.1, f: 管理者が追求する正当な利益のために処理が必要であること)の正当な利益が挙げられます。そのような正当な利益とは、ユーザーが新しいアカウントを作成できないようにすることです。そうでなければ、ユーザーはGDPRを悪用して、不正行為を行ったという事実を含むすべての記録を削除させることができます。
GDPR第17条、強調は私によるものです。
- データ主体は、管理者に遅滞なく自己または自己に関する個人データの消去を求める権利を有し、管理者は、以下のいずれかの根拠が適用される場合、個人データを遅滞なく消去する義務を負う:(…)
データ主体が、処理の基礎となる同意を撤回した場合(…)および処理について他に法的根拠がない場合
これは基本的に、フォーラムはユーザーの要求に応じてユーザーのデータを削除しなければならないが、フォーラムはユーザーを一時停止したため、ユーザーが新しいアカウントを作成しないようにする方法が必要であり、ユーザーの要求にもかかわらず、一時停止されたユーザーのメールアドレスを保持する正当な理由がある、という意味です。
Discourseでこれを行う1つの方法は、(すでに一時停止されている)ユーザーを匿名化し、次に匿名化されたメールアドレスを実際のメールアドレスに戻すことです。同じ根拠に基づいて、登録IPを保持し、ブロックリストに追加することも検討してください。