PowerFlex 4.x LDAP-ryhmää ei voi lisätä tai poistaa

Summary: Kun AD on poistettu PFxM:stä eikä Keycloak pysty poistamaan välimuistissa olevia LDAP-ryhmiä.

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

Tilanne

Ryhmän ensimmäinen lisäysyritys aiheuttaa virheen:

Failed to add Remote group 
Failed to find request group 

Lisää etäkäyttäjä

Etäryhmän lisääminen epäonnistui

 

Kun ryhmät on täytetty keycloak ldap -suodattimessa, PowerFlex 4.X - LDAP-ryhmähakusuodattimen käyttäminen PFxM:ssä Keycloak Admin Console | Dell US ja synkronointi PFxM:stä LDAP-palveluntarjoajaan, sso.stdout.log osoittaa, että ryhmäsynkronointi ei toimi:

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

LDAP-palveluntarjoajan poistamisen jälkeen tietokannassa näkyy edelleen ryhmiä (alla on esimerkiksi neljä ryhmää)

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)

Yhteys PFMP:n LDAP:hen on vahvistettava seuraavalla komennolla:

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

Esimerkki:

Avaimen viitta

Vaikutus

LDAP-ryhmiä ei voi lisätä tai poistaa.

Cause

Kun AD poistetaan:

  • Taustajärjestelmä aloittaa liittyvien käyttäjien ja ryhmien poistamisen.
  • Tämä poisto tapahtuu erissä, jotta prosessia voidaan hallita tehokkaasti.


Kun AD lisätään uudelleen jatkuvan poiston aikana:

  • Keycloak alkaa synkronoida ryhmiä juuri lisätystä AD:stä.
  • Jos synkronointi epäonnistuu jostain syystä prosessin aikana, voi ilmetä ongelmia.


Jos AD poistetaan uudelleen synkronointivirheen aikana:

  • Epäonnistuneen synkronoinnin jäännösryhmät näkyvät edelleen Keycloak-käyttöliittymässä.


Nämä jäännösryhmät eivät ole aktiivisesti sidoksissa mihinkään AD: hen, ja ne saattavat vaatia manuaalista puhdistusta.

 

Resolution

Poista kukin ryhmä yksitellen ohjelmointirajapinnan avulla yksi kerrallaan.

1) Hae Keycloak-tunnistetiedot.

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) Hanki käyttöoikeustunnus (huomautus: korvaa 4578ZZyT3f yllä olevan lähdön salasanalla):

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) Tarkista ryhmät api:n avulla (listaa 10 ryhmää kerrallaan)

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

4) Poista ryhmät yksi kerrallaan (korvaa kullakin yllä olevan vaiheen 3 tunnuksella.

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

Vaihtoehtoisesti voit käyttää silmukkakomentosarjaa poistaaksesi group_id yksi kerrallaan.

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

Esimerkki 

Esimerkki

Versiot, joita ongelma koskee

PFMP 4.x

Korjattu versiossa

 Keycloakin tuleva versio tukee joukkoryhmien poistamista.

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.