我一直在阅读有关kafka安全性的信息,看起来ACKL是进行安全kafka设置的方法。但是我的问题是:
1)消费者级别:是否有一种方法可以更精细地控制 可以阅读有关我们主题的数据的哪一部分。例如:我们可以 以某种方式确保我们的Kafka消息的某些部分,例如ssn不是 对于某些用户可见?
2)生产者级别:假设我们有一个针对选民的主题,我们 有不同的制作人用
error_reporting()
来写关于该主题的文章 该主题。密苏里州的一位生产商说,我们如何控制 在伊利诺伊州投票的选民,他在选民话题上写了ackls 而实际上他不应该。是否只有每个州的主题 解决方案?
答案 0 :(得分:0)
您的两个问题都是针对每个字段的权利/加密/令牌化。默认情况下,核心Kafka不支持此功能,但是如果您具有知识和基础架构,则可以在生产者/消费者中实现。
对于问题1,您将标记/加密任何字段,只有具有正确密钥的客户端才能解密有效负载。
对于问题2,您将加密整个记录有效负载,可能使用Kafka的标头来确定解密数据所需的密钥对。
在这两种情况下,您都需要某种密钥管理系统以确保生产者和使用者可以访问他们所需的密钥,并且需要将自己的加密/解密过程写入客户端。我将在序列化器/反序列化器中实现这一点以使其变得简单。
如果您不想做所有这些事情,那么最好通过应用于主题的ACL分隔对数据的访问。