PowerFlex 4.x Kan ikke tilføje eller fjerne LDAP-gruppe

Summary: Efter AD-fjernelse fra PFxM, og Keycloak kunne ikke fjerne cachelagrede LDAP-grupper.

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

Scenarie

Et første forsøg på at tilføje en gruppe resulterer i en fejl:

Failed to add Remote group 
Failed to find request group 

Tilføj fjernbruger

Kunne ikke tilføje fjerngruppe

 

Efter udfyldning af grupper i tastatur-LDAP-filteret pr. PowerFlex 4.X – Sådan anvender du LDAP-gruppesøgefilter i PFxM Keycloak Admin Console | Dell US , og synkroniser fra PFxM til LDAP-udbyderen, viser sso.stdout.log, at gruppesynkronisering ikke fungerer:

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

Efter fjernelse af LDAP-udbyderen viser databasen stadig grupper (f.eks. nedenfor viser fire grupper)

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)

Forbindelse til ldap fra PFMP skal bekræftes med følgende kommando:

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

Eksempel:

Tastaturkappe

Påvirkning

LDAP-grupper kunne ikke tilføjes eller fjernes.

Cause

Når AD fjernes:

  • Backend starter sletning af tilknyttede brugere og grupper.
  • Denne sletning sker i batches for at administrere processen effektivt.


Når AD tilføjes igen under igangværende sletning:

  • Keycloak begynder at synkronisere grupper fra den nyligt tilføjede AD.
  • Hvis synkroniseringen mislykkes af en eller anden grund under denne proces, kan der opstå problemer.


Hvis AD fjernes igen under synkroniseringsfejl:

  • Resterende grupper fra den mislykkede synkronisering forbliver synlige i Keycloak-brugergrænsefladen.


Disse restgrupper er ikke aktivt bundet til nogen AD og kan kræve manuel oprydning.

 

Resolution

Slet hver gruppe individuelt ved hjælp af API'en én ad gangen.

1) Hent Keycloak-legitimationsoplysninger.

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) Få adgangstoken (bemærk: erstat 4578ZZyT3f med adgangskoden fra ovenstående output):

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) Tjek for grupper, der bruger api (liste 10 grupper ad gangen)

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

4) Slet grupper en ad gangen (erstat med hvert id fra trin 3 ovenfor.

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

Du kan også bruge scriptet i sløjfen til at slette group_id én ad gangen.

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

Eksempel 

eksempel

Påvirkede versioner

PFMP 4.x

Fast i version

 Fremtidig version af keycloak understøtter massesletning af grupper.

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.