Redhat SSO / Keycloack
supprimer les utilisateurs
L'interface web de redhat SSO ou keycloak ne permet pas aujourd'hui de vider la base d'utilisateurs d'un realm.
Il peut néanmoins arriver de vouloir supprimer tous les utilisateurs d'un realm sans avoir à supprimer ce realm.
Pour cela, on peut utiliser l'outil kcadm qui est très pratique à condition de ne pas être rebuté par la ligne de commande.
Sur la machine où tourne keycloak, on peut créer un utilisateur admin si on n'en possède pas déjà un.
Rendez-vous dans le répertoire /bin sous le répertoire où keycloak est installé, dans mes exemples il se trouve dans
/opt/rh/rh-sso7/root/usr/share/keycloak/bin.
cd /opt/rh/rh-sso7/root/usr/share/keycloak/bin
./add-user-keycloak.sh -r master -u <username> -p <password>
Une fois cet utilisateur admin créé, on peut s'identifier avec :
./kcadm.sh config credentials --server http://127.0.0.1:8080/auth --realm master --user useradmin
./kcadm.sh get users -r REALM --offset 0 --fields 'id' | grep id | awk -F '"' '{print $4}' > /tmp/list_users
for i in `cat /tmp/list_users`; do ./kcadm.sh delete users/$i -r REALM; done
Les utilisateurs sont supprimés, il ne nous reste plus qu'à supprimer le fichier temporaire :
rm /tmp/list_users
22 mai 2020 12:21 par Admin Kscloud