Как использовать Kafka с OpenID-Connect? - PullRequest
0 голосов
/ 10 марта 2020

Я начинаю с Кафки.

Я вижу, что могу передавать заголовки при создании сообщений.

Традиционно у каждого был бы веб-клиент (одностраничное приложение), где пользователь входит в систему через некоторый удаленный oid c idp и получает токен. Затем этот токен отправляется через заголовок Authentication: Bearer token-here в какой-либо бэкэнд RESTful, где токен проверяется на достоверность, а полезные данные обрабатываются, сохраняются в базе данных или других данных, и что-то возвращается или нет.

Теперь есть Apache Кафка. У него есть REST-прокси. Я могу передавать заголовки в REST-прокси и создавать сообщения или использовать их, но меня интересует часть «secure my RESTful JSON API».

В настоящее время без Kafka у меня есть либо oid c прокси (использующий keycloak, это keycloak-gatekeeper), который выполняет фильтрацию того, какой запрос делает его бэкэнду, или у меня есть клиент oid c, который выполняет проверку токена как некоторая функция промежуточного программного обеспечения внутри бэкэнда. Я полагаю, что в любом случае недействительные запросы не «регистрируются», как в Kafka.

Где проверка токена oid c и фильтрация запросов соответствуют экосистеме Kafka / Confluent?

Предположим, у нас есть SPA, который общается с Confluent REST Proxy. Некоторые вошедшие в систему пользователи хотят публиковать сообщения, а некоторые не вошедшие в систему пользователи не должны этого делать.

Как Кафка и / или его инструменты справляются с этим сценарием?

1 Ответ

0 голосов
/ 16 марта 2020

Kafka обычно использует SASL и другие плагины авторизации для предотвращения доступа.

Сертификаты будут распространяться среди клиентов (здесь это REST Proxy). Вам понадобятся другие прокси или плагины около , что , чтобы предотвратить дальнейший доступ или аудит запросов, как с любым другим веб-сервером.

HTTPS-сертификаты будут использоваться для защиты трафика c для REST-прокси, но, похоже, вы спрашиваете о чем-то более конкретном c.

В документации нет ссылки на OpenID, только LDAP RBA C, как коммерческое предложение

...