PowerFlex 4.x LDAP grubu eklenemiyor veya kaldırılamıyor

Summary: PFxM'den AD kaldırıldıktan sonra ve Keycloak önbelleğe alınmış LDAP grupları kaldırılamıyor.

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

Senaryo

Grup eklemeye yönelik ilk girişim bir hatayla sonuçlanır:

Failed to add Remote group 
Failed to find request group 

Uzak Kullanıcı Ekle

Uzak grup eklenemedi

 

Keycloak ldap filtresinde grupları doldurduktan sonra, PowerFlex 4.X - PFxM de LDAP Grup Arama Filtresi Nasıl Uygulanır Keycloak Yönetici Konsolu | Dell US ve PFxM'den LDAP sağlayıcısına senkronizasyon yaparken sso.stdout.log, grup senkronizasyonunun çalışmadığını gösteriyor:

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 sağlayıcısını kaldırdıktan sonra veri tabanı grupları göstermeye devam eder (ör. aşağıda dört grup gösterilmektedir)

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)

PFMP'den ldap bağlantısı aşağıdaki komutla onaylanmalıdır:

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

Example:

keycloak (anahtar perdesi)

Etki

LDAP grupları eklenemiyor veya kaldırılamıyor.

Cause

AD Kaldırıldığında:

  • Arka uç, ilişkili kullanıcıların ve grupların silinmesini başlatır.
  • Bu silme işlemi, süreci verimli bir şekilde yönetmek için toplu olarak gerçekleşir.


Devam Eden Silme Sırasında AD Yeniden Eklendiğinde:

  • Keycloak, yeni eklenen AD'den grupları senkronize etmeye başlar.
  • Bu işlem sırasında senkronizasyon herhangi bir nedenle başarısız olursa sorunlar ortaya çıkabilir.


Senkronizasyon Hatası Sırasında AD Tekrar Kaldırılırsa:

  • Başarısız senkronizasyondan kalan gruplar Keycloak kullanıcı arayüzünde görünür kalır.


Bu artık gruplar herhangi bir AD'ye etkin olarak bağlı değildir ve manuel temizleme gerektirebilir.

 

Resolution

API'yi kullanarak her grubu tek tek silin.

1) Keycloak kimlik bilgilerini alın.

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) Erişim belirtecini alın (not: 4578ZZyT3f'yi yukarıdaki çıktıdaki parolayla değiştirin):

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) API kullanarak grupları kontrol edin (bir seferde 10 grup listeleyin)

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

4) Grupları birer birer silin (yukarıdaki 3. adımdaki her bir kimlikle değiştirin.

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

Alternatif olarak, group_id teker teker silmek için döngü komut dosyası kullanın.

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

Örnek 

örnek

Etkilenen Sürümler

PFMP 4.x

Düzeltildiği Sürüm

 Keycloak'un gelecekteki sürümü, toplu grup silme işlemini destekleyecektir.

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.