PowerFlex 4.X — как применить фильтр поиска группы LDAP в консоли администрирования PFxM Keyclaak
Summary: В этой статье объясняется, как создать фильтр поиска группы LDAP в консоли администрирования PFxM Keycloak.
Symptoms
Cause
Заметка: По умолчанию Keycloak проверяет подлинность любого пользователя с активной учетной записью в домене AD. Если пользователь не входит в группы фильтра, он не будет авторизован и не будет иметь доступа к пользовательскому интерфейсу PFxM.
Resolution
- Получите секрет/пароль пользователя Keycloak, выполнив следующую команду с любого узла MVM PFxM.
kubectl get secret -n powerflex keycloak-admin-credentials -o jsonpath="{.data.password}" | base64 --decode; echo
2. Перейдите в консоль пользовательского интерфейса администратора Keycloak, используя следующий URL-адрес.
https://pfmp.company.org/auth
3. Нажмите «Консоль администрирования» и войдите в систему, используя имя пользователя keycloak и секрет, указанные в выходных данных команды на шаге 1
4. Измените область «master» на область «Powerflex» в раскрывающемся списке
5. Нажмите Федерация пользователей, затем выберите настроенного поставщика LDAP.
6. Перейдите на вкладку «Mappers», затем нажмите «LdapGroupMapping»
7. Прокрутите вниз и найдите объект «LDAP Filter». Добавьте конкретные группы, которые вас интересуют, используя приведенный ниже синтаксис (это создаст фильтр «ИЛИ»). Значение (etc) в синтаксисе является заполнителем для добавления дополнительных групп при необходимости. Каждая группа, которую вы добавляете, должна содержать () вокруг значения "cn=".
(|(cn=group_name_1)(cn=group_name_2)(cn=group_name_3)(etc))
Например:
(|(cn=Monitoring_Group)(cn=Admin_Group)(cn=Deployment_Group))
8. Нажмите «Сохранить».
9. Синхронизируйте PFxM с поставщиком LDAP, выполнив следующие команды с любого узла MVM PFxM.
Задайте системные переменные для IP-адреса единого входа, маркера диспетчера платформы, IP-адреса входящего трафика и идентификатора
LDAPЗАМЕТКА: Для команды PM_TOKEN переменной замените следующее значение "Scaleio123!" с паролем администратора , который вы используете для входа в пользовательский интерфейс 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 Выполните следующую команду, чтобы инициировать синхронизацию между PFxM и поставщиком 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'
ПРИМЕЧАНИЕ. Если команда выполнена успешно, она не должна возвращать на экран никаких выводов. Подождите до 15 минут и попробуйте добавить пользователя или группу из пользовательского интерфейса PFxM.