PowerFlex 4.X : application du filtre de recherche de groupe LDAP dans la console d’administration PFxM Keycloak
Summary: Cet article explique comment créer un filtre de recherche de groupe LDAP dans la console d’administration PFxM Keycloak.
Symptoms
Cause
Note: Keycloak authentifie par défaut tout utilisateur disposant d’un compte actif dans le domaine AD. Si un utilisateur ne fait pas partie des groupes du filtre, il ne sera pas autorisé et n’aura pas accès à l’interface utilisateur PFxM.
Resolution
- Obtenez le secret/mot de passe de l’utilisateur Keycloak en exécutant la commande suivante à partir de n’importe quel nœud MVM PFxM.
kubectl get secret -n powerflex keycloak-admin-credentials -o jsonpath="{.data.password}" | base64 --decode; echo
2. Accédez à la console de l’interface utilisateur d’administration de Keycloak à l’aide de l’URL suivante.
https://pfmp.company.org/auth
3. Cliquez sur « Console d’administration » et connectez-vous avec le nom d’utilisateur keycloak et le secret répertoriés dans la sortie de la commande à l’étape 1
4. Dans la liste déroulante
5, passez de « Master » à « Powerflex ». Cliquez sur « User federation », puis sur le fournisseur LDAP configuré.
6. Cliquez sur l’onglet « Mappers », puis cliquez sur « LdapGroupMapping ».
7. Faites défiler vers le bas et recherchez l’objet « LDAP Filter ». Ajoutez les groupes spécifiques qui vous intéressent à l’aide de la syntaxe ci-dessous (cela crée un filtre « OU »). La valeur (etc) dans la syntaxe est un espace réservé permettant d’ajouter des groupes supplémentaires si nécessaire. Chaque groupe que vous ajoutez a besoin de () autour de la valeur « cn= ».
(|(cn=group_name_1)(cn=group_name_2)(cn=group_name_3)(etc))
Exemple :
(|(cn=Monitoring_Group)(cn=Admin_Group)(cn=Deployment_Group))
8. Cliquez sur « Save ».
9. Synchronisez PFxM avec le fournisseur LDAP en exécutant les commandes suivantes à partir de n’importe quel nœud MVM PFxM.
Définissez des variables système pour l’adresse IP SSO, le jeton Platform Manager, l’adresse IP d’entrée et l’ID
LDAPNOTE: Pour la commande de variable PM_TOKEN, remplacez la valeur suivante « Scaleio123 ! » avec le mot de passe d’administrateur que vous utilisez pour vous connecter à l’interface utilisateur 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 Exécutez la commande suivante pour lancer une synchronisation entre PFxM et le fournisseur 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'
Remarque : La commande ci-dessus ne devrait rien renvoyer à l’écran en cas de réussite. Patientez jusqu’à 15 minutes, puis essayez d’ajouter un utilisateur ou un groupe à partir de l’interface utilisateur de PFxM.