PowerFlex 4.X – Så här tillämpar du LDAP-gruppsökfilter i PFxM Keycloak Admin Console
Summary: I den här artikeln beskrivs hur du skapar ett LDAP-gruppsökfilter i PFxM Keycloak Admin Console.
Symptoms
Cause
Not: Keycloak autentiserar alla användare med ett aktivt konto i AD-domänen som standard. Om en användare inte är en del av grupperna i filtret kommer de inte att auktoriseras och kommer inte att ha åtkomst till PFxM-gränssnittet.
Resolution
- Hämta Keycloak-användarens hemlighet/lösenord genom att köra följande kommando från en PFxM MVM-nod.
kubectl get secret -n powerflex keycloak-admin-credentials -o jsonpath="{.data.password}" | base64 --decode; echo
2. Gå till Keycloak admin UI-konsolen med hjälp av följande URL.
https://pfmp.company.org/auth
3. Klicka på "Administration Console" och logga in med användarnamnet keycloak och hemligheten som anges i utdata från kommandot i steg 1
4. Ändra från "master" till "Powerflex"-
sfären i listrutan 5. Klicka på "Användarfederation" och klicka sedan på den konfigurerade LDAP-providern.
6. Klicka på fliken "Mappers" och klicka sedan på "LdapGroupMapping"
7. Bläddra nedåt och leta efter objektet "LDAP-filter". Lägg till de specifika grupper som du är intresserad av med hjälp av syntaxen nedan (detta skapar ett "ELLER"-filter). Värdet (etc) i syntaxen är en platshållare för att lägga till ytterligare grupper om det behövs. Varje grupp som du lägger till behöver () runt värdet "cn=".
(|(cn=group_name_1)(cn=group_name_2)(cn=group_name_3)(etc))
Ex.
(|(cn=Monitoring_Group)(cn=Admin_Group)(cn=Deployment_Group))
8. Klicka på "Spara".
9. Synkronisera PFxM med LDAP-providern genom att köra följande kommandon från valfri PFxM MVM-nod.
Ange systemvariabler för SSO-IP, token för plattformshanterare, inkommande IP-adress och LDAP-ID
NOT: För det PM_TOKEN variabelkommandot ersätter du följande värde "Scaleio123!" med administratörslösenordet som du använder för att logga in på PFxM-gränssnittet.
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 Kör följande kommando för att initiera en synkronisering från PFxM till LDAP-providern.
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'
Obs! Kommandot ovan bör inte returnera något till skärmen om det lyckas. Vänta upp till 15 minuter och försök att lägga till användare eller grupp från PFxM-användargränssnittet.