StoredID
Shibboleth IdPでStoredIDを利用するための設定方法(MySQL)
StoredIDは eduPersonTargetedID (ePTID)を生成する方法の一つです。 ComputedIDと比較して、以下の利点があります。
使用中のePTIDを失効させ新しいIDを再生成できる
万が一のSHA-1のコリジョンを防ぐことができる
インシデント発生時に、IdP側でePTIDから個人を特定するのが容易である
目次
データベースの設定方法やePTIDの送信方法については以下にも情報がありますので、適宜参照してください。
1. データベース(MariaDB)のインストール
MariaDB をインストールし初期設定を行います。
以下のコマンドを実行してmariadbの自動起動の設定及びMariaDBのrootパスワードの設定を実施してください。
# yum install mariadb mariadb-server# systemctl enable mariadb ← 自動起動を設定# systemctl start mariadb# mysql_secure_installationNOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!In order to log into MariaDB to secure it, we'll need the currentpassword for the root user. If you've just installed MariaDB, andyou haven't set the root password yet, the password will be blank,so you should just press enter here.Enter current password for root (enter for none): ← そのままEnter入力OK, successfully used password, moving on... Setting the root password ensures that nobody can log into the MariaDBroot user without the proper authorisation. You already have a root password set, so you can safely answer 'n'. Change the root password? [Y/n] ← rootパスワードを設定New password:Re-enter new password:Password updated successfully!Reloading privilege tables.. ... Success! By default, a MariaDB installation has an anonymous user, allowing anyoneto log into MariaDB without having to have a user account created forthem. This is intended only for testing, and to make the installationgo a bit smoother. You should remove them before moving into aproduction environment. Remove anonymous users? [Y/n] ← そのままEnter入力... Success! Normally, root should only be allowed to connect from 'localhost'. Thisensures that someone cannot guess at the root password from the network. Disallow root login remotely? [Y/n] ← そのままEnter入力 ... Success! By default, MariaDB comes with a database named 'test' that anyone canaccess. This is also intended only for testing, and should be removedbefore moving into a production environment. Remove test database and access to it? [Y/n] ← そのままEnter入力 - Dropping test database... ... Success!- Removing privileges on test database...... Success! Reloading the privilege tables will ensure that all changes made so farwill take effect immediately. Reload privilege tables now? [Y/n] ← そのままEnter入力 ... Success! Cleaning up... All done! If you've completed all of the above steps, your MariaDBinstallation should now be secure. Thanks for using MariaDB!
失効はユーザからの求めに応じて行う他、万一uid(ないしePTIDの生成源となる属性)を24か月の不使用期間ののち別人に再利用する(*)際に前の人と同じePTIDが割り当てられないように失効を利用することができます。
作成したDBのテーブルshibpidのdeactivationDateに日時を設定すると、その日時以降は当該エントリが使われなくなります。その人そのSPに対応するePTIDが必要になれば、新しいエントリを作成しそこで新しい値(UUIDの形式になります)を再生成して使用されます。
(*) - 2022年6月現在の学認の規程はこのような状況でePTIDが一致することを許容しておりますが、国際的にはePTIDは再利用不可のものであるため、失効ないし別の方法でePTIDに別の値が割り当てられるよう運用してください。