8
Jun 2024
by
佐々木 亜里沙
みなさん Keycloak 利用してますか? ちょっとした API の打ち間違いなどで、master レルムの管理者ユーザ(環境変数で指定できる初期ユーザ)を誤って削除してしまうときってありますよね。あったんです。
ということで復旧を試みました。
まず、アプリを再起動してみましたが、復旧しませんでした。
こちらの記事にあるように、すでに master レルムに他のユーザが一人でも存在する時は管理者ユーザは再作成されないようです。
なので、惜しいですが既存のユーザを全て削除することにしました、、後から API で追加しなおすことにします。
以下の SQL を実行して master レルムのユーザを全て削除しました。
delete from user_role_mapping where user_id in (select id from user_entity where realm_id = 'master'); delete from federated_identity where user_id in (select id from user_entity where realm_id = 'master'); delete from user_group_membership where user_id in (select id from user_entity where realm_id = 'master'); delete from user_entity where realm_id = 'master';
この後 keycloak アプリを再起動すると、めでたく管理者ユーザが登録され、keycloak にログインして他ユーザを復活させることができました。
幸い他のレルムのユーザは消していなかったことと、master レルムのユーザがあまり多くないことから事なきを得ましたが、できれば他のユーザを全部吹っ飛ばさずに管理者ユーザだけ復活できると楽なんですけどね。。みなさまご注意ください。