Galaxyのadminとしてユーザーを削除する(GDPR対応)


Galaxy上でユーザーを削除する

Galaxy のadminとしてユーザーを追加するでは、登録したユーザーをGUI上で削除する方法は提供されていない事に触れた
さて、そうなるとこのシステムはEUのGDPR(General Data Protection Regulation)に準拠しない事になる
そのような事態への対策は、ベータ版の段階ではあるけれども一応なされていて、galaxy.yml内で設定可能となっている

enable-beta-gdprの利用

Galaxy configurationのenable-beta-gdprを利用する事でEUのGDPRを意識した運用がある程度可能になっている

Enables GDPR Compliance mode. This makes several changes to the way Galaxy logs and exposes data externally such as removing emails and usernames from logs and bug reports. It also causes the delete user admin action to permanently redact their username and password, but not to delete data associated with the account as this is not currently easily implementable. You are responsible for removing personal data from backups. This forces expose_user_email and expose_user_name to be false, and forces user_deletion to be true to support the right to erasure. Please read the GDPR section under the special topics area of the admin documentation.

上記に記載されている通り、ログファイルやバグレポートにユーザー名やメールアドレスを出力しない事に加えてadmin権限でユーザーの削除が可能だ
ただし、ユーザーのデータは消去しないのでそこは適切に対処する必要がある
詳細はGDPR compliance参照の事

実際にユーザーの消去が可能になっている事を確認してみよう

ベータ版GDPR機能の有効化

galaxy.ymlのenable-beta-gdprを書き換える代わりに
dockerで-e GALAXY_CONFIG_ENABLE_BETA_GDPR=Trueを指定してGalaxyを起動してみる

$ docker run -d --rm \
    -p 8080:80 -p 8021:21 -p 8022:22 -p 8800:8800 \
    --volumes-from galaxy-store \
    --privileged=true  \
    -e GALAXY_CONFIG_ENABLE_BETA_MULLED_CONTAINERS=True \
    -e GALAXY_CONFIG_REQUIRE_LOGIN=True \
    -e GALAXY_CONFIG_ALLOW_USER_CREATION=False \
    -e GALAXY_CONFIG_ENABLE_BETA_GDPR=True \
    -e ENABLE_TTS_INSTALL=True \
    bgruening/galaxy-stable

ユーザーの無効化(Delete機能)

このサーバーにadminでログインし、AdminのメニューからUsersをクリックすると"Delete"や"Undelete"の機能が利用できるようになっていることが確認できる

"Delete"をクリックするとEmailとUser Nameがハッシュ値に置き換わる

ユーザーが削除(無効化)されているどうかは、このリストをずっと右にスクロールすると表示される"Status"のコラムが"deleted"となっている事で確認できる

ユーザーの有効化(Undelete機能)

ハッシュ値になってしまったユーザーを選択して"Undelete"を行うとユーザーが復活する
ユーザー名の右のドロップダウンリストから"Undelete"又は、ユーザーリストのチェックボックスをクリックしてリストの下部の"Delete"ボタンをクリックする

リストの上部にUndeletedが成功したと表示される

右にスクロールすれば"Status"のコラムの"deleted"表示が消えている事も確認できる

今回はここまで