4.X — не удается добавить группу LDAP
Summary: 4.X — не удается добавить группу LDAP
Symptoms
Описание проблемы
Попытка добавить группу LDAP завершается сбоем в пользовательском интерфейсе PFxM.
Симптомы
Журналы единого входа показывают, что не удается найти PF_Admins группу безопасности в LDAP:
2023-09-07T13:30:38.536385897-05:00 stdout F 2023-09-07 18:30:38.536 INFO 1 --- [nio-8083-exec-8] c.dell.sso.controllers.GroupsController : Received add group request 2023-09-07T13:30:38.550680368-05:00 stdout F 2023-09-07 18:30:38.550 ERROR 1 --- [nio-8083-exec-8] c.dell.sso.controllers.GroupsController : Failed to add group request: Failed to find request group PF_Admins 2023-09-07T13:30:38.550719535-05:00 stdout F com.dell.sso.exceptions.KeycloakException: Failed to find request group PF_Admins
Конфигурация Active Directory показывает, что PF_Admins группа безопасности существует.
Воздействие
Не удается добавить группы LDAP.
Cause
Существует ограничение программного кода, согласно которому информация Active Directory кэшируется только во время первого подключения к серверу LDAP и извлекает информацию только за 10 секунд. Когда администратор пытается добавить группу LDAP в пользовательский интерфейс PFxM, а группа безопасности на сервере LDAP была создана после первоначального подключения к серверу Active Directory, эта группа не будет сохранена в исходном кэше и добавление группы LDAP завершится сбоем. Когда администратор пытается добавить группу LDAP, программное обеспечение не подключается и не извлекает новый список Active Directory, вместо этого оно использует только исходную кэш-память из первого подключения LDAP.
Resolution
Временное решение
PowerFlex Manager версии 4.5 и ниже должен выполнять следующее временное решение:
Удалите подключение к серверу LDAP, а затем снова подключите PFxM к серверу LDAP.
* В некоторых случаях для правильного поиска группы LDAP это необходимо сделать несколько раз.
PowerFlex Manager версии 4.5.1 и выше может выполнять следующее временное решение.
В PFMP выполните следующие действия, чтобы задать системные переменные:
#SSO variable
SSO_IP=`kubectl get svc -A | grep "sso " | awk '{print $4}'`
#Platform Manager Token
PM_TOKEN=`curl -k --location --request POST "https://${SSO_IP}:8080/rest/auth/login" --header 'Accept: application/json' --header 'Content-Type: application/json' --data '{"username": "admin","password": "Scaleio123!" }' | jq -r .access_token`
#Change the password to the password used to login to the PFxM UI
#Ingress IP
INGRESS_IP=$(kubectl get svc -A | grep -i rke2-ingress-nginx-controller | awk 'NR==1{print $5}')
#LDAP ID
LDAP_ID=$(curl -k https://${INGRESS_IP}/rest/v1/directory-services --header 'Accept: application/json' --header 'Content-Type: application/json' --header "Authorization: Bearer ${PM_TOKEN}" | jq -r '.[0].id')
Запустите синхронизацию PFMP с сервером LDAP:
curl -k -X POST https://${INGRESS_IP}/rest/v1/directory-services/${LDAP_ID}/sync --header "Authorization: Bearer ${PM_TOKEN}" --header 'Accept: application/json' --header 'Content-Type: application/json'
Если команда выполнена успешно, она не должна возвращать на экран никаких выводов.
Подождите до 15 минут и повторите операцию добавления пользователя или группы.
Затронутые версии
PowerFlex Manager 4.x
Исправлено в версии
PowerFlex Manager 4.5.1