Kafka security - надежные производители - PullRequest
0 голосов
/ 23 октября 2018

Я читал о безопасности kafka и, похоже, ACKL - это путь для установки безопасной kafka.Но мой вопрос:

1) Потребительский уровень: есть ли способ более детально контролировать, какую часть данных можно прочитать по нашим темам.Например: можем ли мы каким-то образом убедиться, что какая-то часть нашего сообщения Kafka, скажем, ssn не видна для определенных пользователей?

2) Уровень продюсера: предположим, у нас есть тема для избирателей, и у нас есть разные продюсеры, пишущиена эту тему с write ackls на эту тему.Как мы контролируем, говорит производитель из штата Миссури, говорит, что избиратель проголосовал в Иллинойсе, у него есть записи по теме избирателей, тогда как в действительности он не должен.Является ли тема на уровне штата единственным решением?

1 Ответ

0 голосов
/ 23 октября 2018

Оба ваших вопроса являются своего рода указанием на права / шифрование / токенизацию для каждого поля.Это не поддерживается по умолчанию в ядре Kafka, но может быть реализовано у производителей / потребителей, если у вас есть знания и инфраструктура.

Для вопроса 1 вы бы токенизировали / шифровали любые поля и только клиенты с правильнымиключи могут расшифровать полезную нагрузку.

Для вопроса 2 вы должны зашифровать всю полезную нагрузку записи, возможно, используя заголовки Kafka для определения пары ключей, необходимой для расшифровки данных.

В обоих случаях вам понадобится некоторая система управления ключами, чтобы производители и потребители имели доступ к нужным им ключам, и вам нужно было записывать свои собственные процессы шифрования / дешифрования на клиентах.Я бы реализовал это в сериализаторе / десериализаторе, чтобы сделать его простым.

Если вы не хотите делать все это, лучше всего разделить доступ к данным с помощью списков ACL, применяемых к темам.

...