PowerFlex 4.X – Anleitung zum Anwenden des LDAP-Gruppensuchfilters in der PFxM Keycloak Admin-Konsole
Summary: In diesem Artikel wird erläutert, wie Sie einen LDAP-Gruppensuchfilter in der PFxM Keycloak Admin-Konsole erstellen.
Symptoms
Cause
Anmerkung: Keycloak authentifiziert standardmäßig alle NutzerInnen mit einem aktiven Konto in der AD-Domain. Wenn ein Nutzer nicht Teil der Gruppen im Filter ist, wird er nicht autorisiert und hat keinen Zugriff auf die PFxM-Benutzeroberfläche.
Resolution
- Rufen Sie den Schlüssel/das Kennwort des Keycloak-Nutzers ab, indem Sie den folgenden Befehl von einem beliebigen PFxM-MVM-Node ausführen.
kubectl get secret -n powerflex keycloak-admin-credentials -o jsonpath="{.data.password}" | base64 --decode; echo
2. Navigieren Sie mit der folgenden URL zur Keycloak-Konsole der Admin-Benutzeroberfläche.
https://pfmp.company.org/auth
3. Klicken Sie auf "Verwaltungskonsole" und melden Sie sich mit dem Nutzernamen, dem Keycloak und dem geheimen Schlüssel an, die in der Ausgabe des Befehls aus Schritt 1
4 aufgeführt sind. Wechseln Sie in der Dropdown-Liste
von "master" zu "Powerflex" 5. Klicken Sie auf "User federation" und dann auf den konfigurierten LDAP-Anbieter.
6. Klicken Sie auf die Registerkarte "Mapper" und dann auf "LdapGroupMapping"
. 7. Scrollen Sie nach unten und suchen Sie nach dem Objekt "LDAP-Filter". Fügen Sie die spezifischen Gruppen, an denen Sie interessiert sind, mithilfe der folgenden Syntax hinzu (dadurch wird ein "ODER"-Filter erstellt). Der Wert (etc) in der Syntax ist ein Platzhalter zum Hinzufügen zusätzlicher Gruppen, falls erforderlich. Jede Gruppe, die Sie hinzufügen, benötigt () um den Wert "cn=".
(|(cn=group_name_1)(cn=group_name_2)(cn=group_name_3)(etc))
Beispiel:
(|(cn=Monitoring_Group)(cn=Admin_Group)(cn=Deployment_Group))
8. Klicken Sie auf "Speichern".
9. Synchronisieren Sie PFxM mit dem LDAP-Anbieter, indem Sie die folgenden Befehle von einem beliebigen PFxM-MVM-Node aus ausführen.
Festlegen von Systemvariablen für SSO-IP, Plattformmanagertoken, Eingangs-IP und LDAP-ID
ANMERKUNG: Ersetzen Sie für den Variablenbefehl PM_TOKEN den folgenden Wert : "Scaleio123!". mit dem Admin-Kennwort , das Sie für die Anmeldung bei der PFxM-Benutzeroberfläche verwenden.
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 Führen Sie den folgenden Befehl aus, um eine Synchronisierung von PFxM zum LDAP-Anbieter zu initiieren.
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'
HINWEIS: Der obige Befehl sollte nichts an den Bildschirm zurückgeben, wenn er erfolgreich ist. Warten Sie bis zu 15 Minuten und versuchen Sie, einen Nutzer oder eine Gruppe über die PFxM-Benutzeroberfläche hinzuzufügen.