PowerFlex 4.X - LDAP-groepszoekfilter toepassen in PFxM Keycloak Admin Console
Summary: In dit artikel wordt uitgelegd hoe u een zoekfilter voor een LDAP-groep maakt in de PFxM Keycloak-beheerconsole.
Symptoms
Cause
Notitie: Keycloak verifieert standaard elke gebruiker met een actief account in het AD-domein. Als een gebruiker geen deel uitmaakt van de groepen in het filter, is deze niet geautoriseerd en heeft deze geen toegang tot de PFxM-gebruikersinterface.
Resolution
- Verkrijg het geheim/wachtwoord van de Keycloak-gebruiker door de volgende opdracht uit te voeren vanaf een PFxM MVM-knooppunt.
kubectl get secret -n powerflex keycloak-admin-credentials -o jsonpath="{.data.password}" | base64 --decode; echo
2. Ga met behulp van de volgende URL naar de Keycloak-beheerinterfaceconsole.
https://pfmp.company.org/auth
3. Klik op 'Administration Console' en log in met de gebruikersnaam keycloak en het geheim dat vermeld staat in de output van de opdracht in stap 1
4. Ga van 'master' naar het 'Powerflex'-realm in de vervolgkeuzelijst
5. Klik op 'User federation' en klik vervolgens op de geconfigureerde LDAP-provider.
6. Klik op het tabblad 'Mappers' en klik vervolgens op 'LdapGroupMapping'
7. Scroll naar beneden en zoek naar het object 'LDAP Filter'. Voeg de specifieke groepen waarin u geïnteresseerd bent toe met behulp van de onderstaande syntaxis (hiermee wordt een 'OF'-filter gemaakt). De waarde (etc) in de syntaxis is een tijdelijke aanduiding voor het toevoegen van extra groepen indien nodig. Elke groep die u toevoegt, heeft () nodig rond de waarde "cn=".
(|(cn=group_name_1)(cn=group_name_2)(cn=group_name_3)(etc))
Bijv.
(|(cn=Monitoring_Group)(cn=Admin_Group)(cn=Deployment_Group))
8. Klik op 'Save'.
9. Synchroniseer PFxM met de LDAP-provider door de volgende opdrachten uit te voeren vanaf een PFxM MVM-knooppunt.
Systeemvariabelen instellen voor SSO-IP, platform manager-token, inkomend IP-adres en LDAP-ID
NOTITIE: Vervang voor de opdracht PM_TOKEN variabele de volgende waarde "Scaleio123!" met het beheerderswachtwoord dat u gebruikt om in te loggen op de PFxM UI.
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 Voer de volgende opdracht uit om een synchronisatie van PFxM naar de LDAP-provider te starten.
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'
OPMERKING: De bovenstaande opdracht retourneert als het goed is gedaan niets meer op het scherm. Wacht maximaal 15 minuten en probeer een gebruiker of groep toe te voegen vanuit de PFxM-gebruikersinterface.