PowerFlex 4.xがLDAPグループを追加または削除できない

Summary: PFxMからADを削除した後、KeycloakがキャッシュされたLDAPグループを削除できません。

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

シナリオ

最初にグループを追加しようとすると、次のエラーが発生します。

Failed to add Remote group 
Failed to find request group 

リモート ユーザーの追加

リモート グループの追加に失敗しました

 

Keycloak ldapフィルターにグループを設定した後、 PowerFlex 4.Xごと - PFxM Keycloak管理コンソールでLDAPグループ検索フィルターを適用する方法 |Dell US 、PFxMからLDAPプロバイダーに同期すると、sso.stdout.logはグループ同期が機能していないことを示しています。

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プロバイダーを削除した後も、データベースには引き続きグループが表示されます(例:以下では4つのグループを示しています)

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からldapへの接続は、次のコマンドで確認する必要があります。

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

Example:

キークローク

問題

LDAPグループを追加または削除できません。

Cause

ADが削除されると、次のようになります。

  • バックエンドは、関連づけられているユーザーとグループの削除を開始します。
  • この削除は、プロセスを効率的に管理するためにバッチで行われます。


継続的な削除中にADが再追加されると、次のようになります。

  • Keycloakは、新しく追加されたADからグループの同期を開始します。
  • このプロセス中に何らかの理由で同期が失敗した場合は、問題が発生する可能性があります。


同期障害中にADが再度削除された場合:

  • 失敗した同期の残りのグループは、Keycloak UIに表示されたままになります。


これらの残余グループは、どのADにもアクティブに関連付けられておらず、手動クリーンアップが必要になる場合があります。

 

Resolution

API を使用して、各グループを一度に 1 つずつ削除します。

1)Keycloakの認証情報を取得します。

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)アクセス トークンを取得します(メモ:4578ZZyT3fを上記の出力のパスワードに置き換えます)。

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を使用してグループを確認します(一度に10グループをリストします)

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

4)グループを一度に1つずつ削除します(上記の手順3の各IDに置き換えます。

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

または、ループ スクリプトを使用して、group_idを一度に 1 つずつ削除します。

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

例 

例

問題が発生するバージョン

PFMPの4.x

修正バージョン

 keycloakの今後のバージョンでは、グループの一括削除がサポートされる予定です。

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.