PowerFlex 4.x Kan geen LDAP-groep toevoegen of verwijderen

Summary: Na verwijdering van AD uit PFxM en Keycloak kunnen LDAP-groepen in de cache niet worden verwijderd.

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Symptoms

Scenario

Een eerste poging om een groep toe te voegen resulteert in een foutmelding:

Failed to add Remote group 
Failed to find request group 

Externe gebruiker toevoegen

Kan externe groep niet toevoegen

 

Na het invullen van groepen in het ldap-filter voor de sleutelmantel, per PowerFlex 4.X - Het zoekfilter voor LDAP-groepen toepassen in de PFxM-beheerconsole | Dell VS en synchronisatie van PFxM naar de LDAP-provider, geeft de sso.stdout.log aan dat groepssynchronisatie niet werkt:

2024-09-25T07:10:31.684769872Z stdout F 2024-09-25T07:10:31.684Z  INFO 1 --- [io-8083-exec-10] c.d.s.c.DirectoryServicesController      : Received sync user request
2024-09-25T07:10:31.685080784Z stdout F 2024-09-25T07:10:31.684Z  INFO 1 --- [pool-9-thread-1] c.d.s.managers.DirectoryServiceManager   : starting sync process for ldap groups
2024-09-25T07:10:31.69678586Z stdout F 2024-09-25T07:10:31.696Z  INFO 1 --- [pool-9-thread-1] com.dell.sso.clients.KeycloakClient      : Ldap group sync started
2024-09-25T07:10:31.710659167Z stdout F 2024-09-25T07:10:31.710Z ERROR 1 --- [pool-9-thread-1] com.dell.sso.clients.KeycloakClient      : Failed to sync groups: HTTP 500 Internal Server Error
 
2024-09-25T07:10:31.710959458Z stderr F Exception in thread "pool-9-thread-1" java.lang.RuntimeException: com.dell.sso.exceptions.KeycloakException: Failed to sync groups or sync users

Na het verwijderen van de LDAP-provider worden in de database nog steeds groepen weergegeven (hieronder worden bijvoorbeeld vier groepen weergegeven)

delladmin@mvm1:/>kubectl exec -it -c database -n powerflex $(kubectl get pods -n powerflex -l='postgres-operator.crunchydata.com/role=master, postgres-operator.crunchydata.com/instance-set' | grep Running | cut -d' ' -f1) -- psql -U postgres -d keycloak -c "SELECT COUNT(*) FROM keycloak_group;"
 count
-------
     4
(1 row)

De connectiviteit met ldap vanuit PFMP moet worden bevestigd met de volgende opdracht:

kubectl exec -it keycloak-0 -n powerflex -- curl --verbose ldap://

Voorbeeld:

Keycloak

Impact

Kan geen LDAP-groepen toevoegen of verwijderen.

Cause

Wanneer AD is verwijderd:

  • De backend initieert het verwijderen van bijbehorende gebruikers en groepen.
  • Deze verwijdering gebeurt in batches om het proces efficiënt te beheren.


Wanneer AD opnieuw wordt toegevoegd tijdens lopende verwijdering:

  • Keycloak begint met het synchroniseren van groepen vanuit de nieuw toegevoegde AD.
  • Als de synchronisatie tijdens dit proces om welke reden dan ook mislukt, kunnen er problemen ontstaan.


Als AD weer wordt verwijderd tijdens een mislukte synchronisatie:

  • Resterende groepen van de mislukte synchronisatie blijven zichtbaar in de Keycloak-gebruikersinterface.


Deze restgroepen zijn niet actief gebonden aan een AD en moeten mogelijk handmatig worden opgeschoond.

 

Resolution

Verwijder elke groep afzonderlijk met behulp van de API één voor één.

1) Haal keycloak-referenties op.

kubectl get secrets -n powerflex keycloak-admin-credentials -o jsonpath='{.data.username}' | base64 --decode; echo -e
kubectl get secrets -n powerflex keycloak-admin-credentials -o jsonpath='{.data.password}' | base64 --decode; echo -e

2) Krijg toegangstoken (opmerking: vervang 4578ZZyT3f door het wachtwoord uit de bovenstaande uitvoer):

TOKEN=$(curl -X POST https://keycloak-http.powerflex/auth/realms/master/protocol/openid-connect/token -H 'Content-Type: application/x-www-form-urlencoded' -d 'scope=openid&grant_type=password&client_id=admin-cli&username=keycloak&password=4578ZZyT3f' | jq -r '.access_token'); echo $TOKEN

3) Controleer op groepen met behulp van api (vermeld 10 groepen tegelijk)

curl -X GET "https://keycloak-http.powerflex/auth/admin/realms/powerflex/groups?first=0&max=10" -H "Authorization: Bearer $TOKEN" | jq

4) Verwijder groepen een voor een (vervang deze door elke ID uit stap 3 hierboven).

curl -X DELETE https://keycloak-http.powerflex/auth/admin/realms/powerflex/groups/"" -H "Authorization: Bearer $TOKEN"

U kunt ook loopscript gebruiken om group_id één voor één te verwijderen.

for group_id in $(curl -X GET "https://keycloak-http.powerflex/auth/admin/realms/powerflex/groups" -H "Authorization: Bearer $TOKEN" | jq -r '.[].id'); do  curl -X DELETE "https://keycloak-http.powerflex/auth/admin/realms/powerflex/groups/$group_id" -H "Authorization: Bearer $TOKEN"; done

Voorbeeld 

Voorbeeld:

Versies waarop dit van toepassing is

PFMP 4.x

Opgelost in versie

 Toekomstige versies van keycloak ondersteunen bulkverwijdering van groepen.

Affected Products

PowerFlex rack, VxFlex Ready Nodes, PowerFlex custom node, PowerFlex appliance R650, PowerFlex appliance R6525, PowerFlex appliance R660, PowerFlex appliance R6625, Powerflex appliance R750, PowerFlex appliance R760, PowerFlex appliance R7625 , PowerFlex appliance R640, PowerFlex appliance R740XD, PowerFlex appliance R7525, PowerFlex appliance R840 ...
Article Properties
Article Number: 000291045
Article Type: Solution
Last Modified: 04 Mar 2025
Version:  1
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.