PowerFlex 4.X - Come applicare il filtro di ricerca di gruppo LDAP nella console di amministrazione di PFxM Keycloak
Summary: Questo articolo spiega come creare un filtro di ricerca di gruppo LDAP nella console di amministrazione di PFxM Keycloak.
Symptoms
Cause
Nota: Keycloak autentica per impostazione predefinita qualsiasi utente con un account attivo nel dominio AD. Se un utente non fa parte dei gruppi nel filtro, non sarà autorizzato e non avrà accesso all'interfaccia utente PFxM.
Resolution
- Ottenere il segreto/password dell'utente Keycloak eseguendo il seguente comando da qualsiasi nodo MVM PFxM.
kubectl get secret -n powerflex keycloak-admin-credentials -o jsonpath="{.data.password}" | base64 --decode; echo
2. Accedere alla console dell'interfaccia utente di amministrazione di Keycloak utilizzando il seguente URL.
https://pfmp.company.org/auth
3. Cliccare su "Administration Console" e accedere con il nome utente keycloak e il segreto elencati nell'output del comando nei passaggi 1
4. Passare da "master" a realm "Powerflex" nell'elenco a discesa
5. Cliccare su "User federation", quindi sul provider LDAP configurato.
6. Fai clic sulla scheda "Mappers", quindi fai clic su "LdapGroupMapping"
7. Scorri verso il basso e cerca l'oggetto "Filtro LDAP". Aggiungi i gruppi specifici che ti interessano utilizzando la sintassi riportata di seguito (in questo modo viene creato un filtro "OR"). Il valore (etc) nella sintassi è un segnaposto per l'aggiunta di altri gruppi, se necessario. Ogni gruppo aggiunto richiede () intorno al valore "cn=".
(|(cn=group_name_1)(cn=group_name_2)(cn=group_name_3)(etc))
Ad esempio:
(|(cn=Monitoring_Group)(cn=Admin_Group)(cn=Deployment_Group))
8. Fai clic su "Salva".
9. Sincronizzare PFxM con il provider LDAP eseguendo i seguenti comandi da qualsiasi nodo MVM PFxM.
Impostazione delle variabili di sistema per l'IP SSO, il token del gestore della piattaforma, l'IP in entrata e l'ID
LDAPNOTA: Per il comando variabile PM_TOKEN, sostituire il seguente valore "Scaleio123!" con la password admin utilizzata per accedere all'interfaccia utente PFxM.
SSO_IP=`kubectl get svc -A | grep "sso " | awk '{print $4}'`
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`
INGRESS_IP=$(kubectl get svc -A | grep -i rke2-ingress-nginx-controller | awk 'NR==1{print $5}')
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')
10 Eseguire il seguente comando per avviare una sincronizzazione da PFxM al provider 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'
NOTA: Se l'operazione ha esito positivo, il comando precedente non dovrebbe restituire nulla alla schermata. Attendere fino a 15 minuti e provare ad aggiungere un utente o un gruppo dall'interfaccia utente di PFxM.