PowerFlex 4.x Kan ikke legge til eller fjerne LDAP-gruppe

Summary: Etter AD fjerning fra PFxM, og Keycloak kan ikke fjerne bufrede 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

Scenario

Et første forsøk på å legge til en gruppe resulterer i en feil:

Failed to add Remote group 
Failed to find request group 

Legg til ekstern bruker

Kan ikke legge til ekstern gruppe

 

Etter utfylling av grupper i keycloak LDAP-filteret, per PowerFlex 4.X - Slik bruker du LDAP Group Search Filter i PFxM Keycloak Admin Console | Dell USA , og synkroniserer fra PFxM til LDAP-leverandøren, 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

Etter at du har fjernet LDAP-leverandøren, viser databasen fortsatt 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)

Tilkobling til ldap fra PFMP skal bekreftes med følgende kommando:

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

Eksempel:

Keycloak

Innvirkning

Kan ikke legge til eller fjerne LDAP-grupper.

Cause

Når AD fjernes:

  • Backend starter sletting av tilknyttede brukere og grupper.
  • Denne slettingen skjer i grupper for å administrere prosessen effektivt.


Når AD legges til på nytt under pågående sletting:

  • Keycloak begynner å synkronisere grupper fra den nylig lagt til AD.
  • Hvis synkroniseringen av en eller annen grunn mislykkes under denne prosessen, kan det oppstå problemer.


Hvis AD fjernes igjen under synkroniseringsfeil:

  • Gjenværende grupper fra den mislykkede synkroniseringen forblir synlige i Keycloak UI.


Disse restgruppene er ikke aktivt knyttet til noen AD og kan kreve manuell opprydding.

 

Resolution

Slett hver gruppe individuelt ved hjelp av API-en, én om gangen.

1) hente keycloak legitimasjon ..

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å tilgang token (merk: erstatte 4578ZZyT3f med passordet fra ovennevnte utgang):

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) Se etter grupper ved hjelp av API (liste 10 grupper om gangen)

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

4) Slett én gruppe om gangen (erstatt hver id fra trinn 3 ovenfor.

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

Alternativt kan du bruke loop-skript for å slette group_id er en om 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

Berørte versjoner

PFMP 4.x

Løst i versjon

 Fremtidig versjon av keycloak vil støtte bulk gruppe sletting.

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.