Redhat SSO / Keycloack

Redhat SSO / Keycloack

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

 

On commence par exporter les utilisateurs dans un fichier (remplacez REALM par le nom de votre REALM) :

./kcadm.sh get users -r REALM --offset 0 --fields 'id' | grep id | awk -F '"' '{print $4}' > /tmp/list_users

 

Puis on parcourt ce fichier pour supprimer chaque utilisateur (remplacez REALM par le nom de votre REALM) :

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 Aurélien Werner

Copyright © 2020 KScloud