4.X - Não foi possível adicionar o grupo LDAP
Summary: 4.X - Não foi possível adicionar o grupo LDAP
Symptoms
Descrição do problema
A tentativa de adicionar um grupo LDAP falha dentro da interface do usuário do PFxM.
Sintomas
Os logs de SSO mostram que não é possível localizar o grupo de segurança PF_Admins no 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
A configuração do Active Directory mostra que o grupo de segurança PF_Admins existe.
Impacto
Não foi possível adicionar grupos LDAP.
Cause
Há uma limitação de código de software em que as informações do Active Directory são armazenadas em cache apenas no momento da conexão inicial com o servidor LDAP e extraem apenas 10 segundos de informações. Quando um administrador tenta adicionar um grupo LDAP na interface do usuário do PFxM e o grupo de segurança no servidor LDAP foi criado após a conexão inicial com o servidor Active Directory, esse grupo não será armazenado no cache inicial e a adição do grupo LDAP falhará. Quando o administrador tenta adicionar o grupo LDAP, o software não se conecta e obtém uma nova listagem do Active Directory, em vez disso, ele está usando apenas o cache inicial da primeira conexão LDAP.
Resolution
Solução temporária
As versões 4.5 e inferiores do PowerFlex Manager devem fazer a seguinte solução temporária:
Remova a conexão do servidor LDAP e reconecte o PFxM ao servidor LDAP.
*Às vezes, isso deve ser feito várias vezes para localizar corretamente o grupo LDAP.
As versões 4.5.1 e posteriores do PowerFlex Manager podem fazer a seguinte solução temporária:
Na PFMP, faça o seguinte para definir as variáveis do sistema:
#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')
Inicie a sincronização da PFMP para o servidor 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'
O comando acima não deve retornar nada para a tela se for bem-sucedido.
Aguarde até 15 minutos e tente novamente a operação de adição de usuário ou grupo.
Versões afetadas
PowerFlex Manager 4.x
Correção feita na versão
PowerFlex Manager 4.5.1