PowerFlex 4.X — stosowanie filtra wyszukiwania grup LDAP w konsoli administracyjnej PFxM Keycloak
Summary: W tym artykule wyjaśniono, jak utworzyć filtr wyszukiwania grupy LDAP w konsoli administratora PFxM Keycloak.
Symptoms
Cause
Nuta: KeyCloak domyślnie uwierzytelnia każdego użytkownika z aktywnym kontem w domenie AD. Jeśli użytkownik nie należy do grup w filtrze, nie będzie miał autoryzacji i dostępu do interfejsu użytkownika urządzenia PFxM.
Resolution
- Uzyskaj klucz tajny/hasło użytkownika Keycloak, uruchamiając następujące polecenie z dowolnego węzła MVM PFxM.
kubectl get secret -n powerflex keycloak-admin-credentials -o jsonpath="{.data.password}" | base64 --decode; echo
2. Przejdź do konsoli administratora Keycloak za pomocą poniższego adresu URL.
https://pfmp.company.org/auth
3. Kliknij "Konsola administracyjna" i zaloguj się przy użyciu klucza keycloak nazwy użytkownika i klucza tajnego podanych w danych wyjściowych polecenia w kroku 1
4. Zmień obszar z "master" na "Powerflex" w rozwijanej
liście 5. Kliknij opcję "Federacja użytkowników", a następnie kliknij skonfigurowanego dostawcę LDAP.
6. Kliknij zakładkę "Mappers", a następnie kliknij "LdapGroupMapping"
7. Przewiń w dół i wyszukaj obiekt "Filtr LDAP". Dodaj konkretne grupy, które Cię interesują, korzystając z poniższej składni (spowoduje to utworzenie filtra "LUB"). Wartość (etc) w składni jest symbolem zastępczym do dodawania dodatkowych grup w razie potrzeby. Każda dodawana grupa potrzebuje wartości () wokół wartości "cn=".
(|(cn=group_name_1)(cn=group_name_2)(cn=group_name_3)(etc))
Np.
(|(cn=Monitoring_Group)(cn=Admin_Group)(cn=Deployment_Group))
8. Kliknij przycisk "Zapisz".
9. Zsynchronizuj PFxM z dostawcą LDAP, uruchamiając następujące polecenia z dowolnego węzła PFxM MVM.
Ustawianie zmiennych systemowych dla adresu IP SSO, tokenu menedżera platformy, adresu IP ruchu przychodzącego i identyfikatora
LDAPNUTA: W przypadku polecenia zmiennej PM_TOKEN zamień następującą wartość "Scaleio123!" za pomocą hasła administratora , którego używasz do logowania się do interfejsu użytkownika 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. Uruchom następujące polecenie, aby zainicjować synchronizację między urządzeniem PFxM a dostawcą 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'
UWAGA: Powyższe polecenie nie powinno zwrócić nic na ekran, jeśli się powiedzie. Poczekaj do 15 minut i spróbuj dodać użytkownika lub grupę z poziomu interfejsu użytkownika urządzenia PFxM.