Аутентификация панели инструментов AWS Opensearch с использованием LDAP через keycloak
Требование
Я работаю над клиентским проектом, где нам нужно настроить нашу панель инструментов OpenSearch, управляемую AWS (Kibana). В соответствии с требованием мы должны использовать keycloak для конфигураций SAML. Также необходимо использовать LDAP в качестве объединения пользователей.
Текущая настройка
- Настройка AWS OpenSearch завершена, и можно войти в систему с учетными данными главного пользователя.
- Выполнена интеграция Keycloak с панелью управления OpenSearch. Я могу войти в панель инструментов OpenSearch, используя локального пользователя keycloak, добавив его в группу all_access в панели инструментов (kibana).
- Также завершена интеграция LDAP с Keycloak. Я могу синхронизировать всех пользователей LDAP в Keycloak и могу входить в систему с отдельными пользователями LDAP при добавлении их в группу all_access в Dashboard (Kibana).
Выдать/Открыть задачи
Как я могу добавить всю группу keycloak на панель инструментов OpenSearch, чтобы мне не приходилось добавлять отдельных пользователей. Я попытался добавить имя группы на панель инструментов в разделе серверной роли, но это не сработало. Также попробовал несколько сопоставлений (не уверен, что они были правильными), но не повезло. Каждый раз выдает "отсутствует роль-свяжитесь с администратором"
Та же проблема с группами LDAP: я могу синхронизировать все группы LDAP в своем Keycloak, но не знаю, как сопоставить их с панелью управления OpenSearch для входа в систему.
Конечная цель
- Создайте две группы, одну с правами администратора и другую с ограниченным доступом , чтобы пользователи, входящие в группу администраторов, могли входить в систему с назначенными разрешениями, а пользователи в группе с ограниченным доступом могли входить в систему со своими разрешениями.
- Я не хочу добавлять отдельных пользователей на панель инструментов, они должны иметь возможность напрямую входить в систему на основе сопоставления роли/группы.
1 ответ
Проблема решена.
Ниже приведены вещи, которые я сделал, которые могут быть полезны для других, которые ищут аналогичную настройку.
- Создал две группы в моем Keycloak. " админ " и " ограниченный ".
- Создал две роли " admin_role " и " limited_role ".
- Сделал ограниченную группу группой по умолчанию, а limited_role — ролью по умолчанию, чтобы новые пользователи напрямую получали ограниченные разрешения.
- Далее, чего мне все время не хватало (и благодаря другим ответам на переполнение стека), было включение сопоставления одной роли. Для этого перейдите в область клиента role_list --> сопоставления --> список ролей --> включите «Атрибут одной роли».
- Добавлено ключевое слово «Роль» в OpenSearch в разделе ключей ролей (в дополнительных настройках в конфигурациях AWS OpenSearch SAML). Также упоминается общий пользователь в разделе основного пользователя SAML (общий пользователь, которого я создал в Keycloak), чтобы я мог получить права администратора для добавления серверных ролей в панель управления OpenSearch.
- Наконец, я вошел в свой OpenSearch под этим обычным пользователем. Перейдите в раздел «Безопасность» -> «Роли» -> «Управление сопоставлением» -> «бэкэнд-роли» -> добавил мою admin_role в all_access и limited_role в роли чтения.
Теперь я могу войти в систему со всеми пользователями, которые входят в соответствующие группы в Keycloak.