PowerFlex 4.X: cómo aplicar el filtro de búsqueda de grupo LDAP en la consola de administración de PFxM Keycloak
Summary: En este artículo, se explica cómo crear un filtro de búsqueda de grupo LDAP en PFxM Keycloak Admin Console.
Symptoms
Cause
Nota: Keycloak autenticará a cualquier usuario con una cuenta activa en el dominio de AD de forma predeterminada. Si un usuario no forma parte de los grupos en el filtro, no estará autorizado y no tendrá acceso a la interfaz de usuario de PFxM.
Resolution
- Obtenga la clave secreta/contraseña del usuario de Keycloak mediante la ejecución del siguiente comando desde cualquier nodo MVM de PFxM.
kubectl get secret -n powerflex keycloak-admin-credentials -o jsonpath="{.data.password}" | base64 --decode; echo
2. Vaya a la consola de la interfaz de usuario de administración de Keycloak con la siguiente URL.
https://pfmp.company.org/auth
3. Haga clic en "Consola de administración" e inicie sesión con el nombre de usuario keycloak y la seña secreta que aparece en la salida del comando en el paso 1
4. Cambie de dominio "master" al dominio "Powerflex" en el menú desplegable
5. Haga clic en "User federation" y, a continuación, haga clic en el proveedor de LDAP configurado.
6. Haga clic en la pestaña 'Mappers' y, a continuación, haga clic en 'LdapGroupMapping'
7. Desplácese hacia abajo y busque el objeto "Filtro LDAP". Agregue los grupos específicos que le interesan con la sintaxis que aparece a continuación (esto crea un filtro "O"). El valor (etc) en la sintaxis es un marcador de posición para agregar grupos adicionales si es necesario. Cada grupo que agregue necesita () en torno al valor "cn=".
(|(cn=group_name_1)(cn=group_name_2)(cn=group_name_3)(etc))
Ej.
(|(cn=Monitoring_Group)(cn=Admin_Group)(cn=Deployment_Group))
8. Haga clic en 'Guardar'.
9. Sincronice PFxM con el proveedor de LDAP mediante la ejecución de los siguientes comandos desde cualquier nodo MVM de PFxM.
Establecer variables del sistema para la IP de SSO, el token del administrador de plataforma, la IP de entrada y el ID de
LDAPNOTA: Para el comando PM_TOKEN variable, reemplace el siguiente valor "Scaleio123!" con la contraseña de administrador que utiliza para iniciar sesión en la interfaz de usuario de 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 Ejecute el siguiente comando para iniciar una sincronización de PFxM al proveedor de 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: El comando anterior no debería devolver nada a la pantalla si se realiza correctamente. Espere hasta 15 minutos e intente agregar usuario o grupo desde la interfaz de usuario de PFxM.