Аутентификация панели инструментов AWS Opensearch с использованием LDAP через keycloak

Требование

Я работаю над клиентским проектом, где нам нужно настроить нашу панель инструментов OpenSearch, управляемую AWS (Kibana). В соответствии с требованием мы должны использовать keycloak для конфигураций SAML. Также необходимо использовать LDAP в качестве объединения пользователей.

Текущая настройка

  1. Настройка AWS OpenSearch завершена, и можно войти в систему с учетными данными главного пользователя.
  2. Выполнена интеграция Keycloak с панелью управления OpenSearch. Я могу войти в панель инструментов OpenSearch, используя локального пользователя keycloak, добавив его в группу all_access в панели инструментов (kibana).
  3. Также завершена интеграция LDAP с Keycloak. Я могу синхронизировать всех пользователей LDAP в Keycloak и могу входить в систему с отдельными пользователями LDAP при добавлении их в группу all_access в Dashboard (Kibana).

Выдать/Открыть задачи

  1. Как я могу добавить всю группу keycloak на панель инструментов OpenSearch, чтобы мне не приходилось добавлять отдельных пользователей. Я попытался добавить имя группы на панель инструментов в разделе серверной роли, но это не сработало. Также попробовал несколько сопоставлений (не уверен, что они были правильными), но не повезло. Каждый раз выдает "отсутствует роль-свяжитесь с администратором"

  2. Та же проблема с группами LDAP: я могу синхронизировать все группы LDAP в своем Keycloak, но не знаю, как сопоставить их с панелью управления OpenSearch для входа в систему.

Конечная цель

  1. Создайте две группы, одну с правами администратора и другую с ограниченным доступом , чтобы пользователи, входящие в группу администраторов, могли входить в систему с назначенными разрешениями, а пользователи в группе с ограниченным доступом могли входить в систему со своими разрешениями.
  2. Я не хочу добавлять отдельных пользователей на панель инструментов, они должны иметь возможность напрямую входить в систему на основе сопоставления роли/группы.

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.

Другие вопросы по тегам