Apache kafka kafka流媒体中的消息加密

Apache kafka kafka流媒体中的消息加密,apache-kafka,microservices,apache-kafka-streams,Apache Kafka,Microservices,Apache Kafka Streams,我最近尝试使用kafka流媒体进行一些敏感的数据处理。我希望实现的目标是,当敏感数据被加密时,微服务体系结构的能力不会受到影响,即,服务和流数据处理的耦合性差 我的问题是,在kafka流媒体中,我是否可能使用一个密钥解密传入消息,然后使用另一个密钥再次加密?我有一个计划,但由于我不熟悉卡夫卡流媒体,我无法证明卡夫卡流媒体能够使用Streams DSL处理此功能。有人能帮我解决这个问题吗?最好是告诉我Streams DSL中的哪个函数可以处理这个问题 更新:基本上,我要问的是:我正在尝试对流媒体管

我最近尝试使用kafka流媒体进行一些敏感的数据处理。我希望实现的目标是,当敏感数据被加密时,微服务体系结构的能力不会受到影响,即,服务和流数据处理的耦合性差

我的问题是,在kafka流媒体中,我是否可能使用一个密钥解密传入消息,然后使用另一个密钥再次加密?我有一个计划,但由于我不熟悉卡夫卡流媒体,我无法证明卡夫卡流媒体能够使用Streams DSL处理此功能。有人能帮我解决这个问题吗?最好是告诉我Streams DSL中的哪个函数可以处理这个问题

更新:基本上,我要问的是:我正在尝试对流媒体管道中的一条消息使用两次公钥加密。一次在入站主题上,一次在出站主题上。只是不确定DSL是否能够解密和加密,以及密钥应该存储在哪里


谢谢

如果您只是想阻止其他人检查您的数据,Kafka为客户端和代理之间的加密提供SSL连接,尽管静态数据仍将不加密。您可以将SASL添加到附加的“添加授权”中,以限制谁可以访问群集。限制SSH访问以访问代理文件也会有所帮助

您所要求的是requires,所有Kafka API都使用它


当使用Kafka Streams API时,您可以将其包装在一个Serde类中,并在启动之前将其提供给您的Streams属性,或者在两个DSL方法之间,由
生成。使用
消费。如果您只是想阻止其他人检查您的数据,Kafka为客户端和代理之间的加密提供SSL连接,尽管静态数据仍将不加密。您可以将SASL添加到附加的“添加授权”中,以限制谁可以访问群集。限制SSH访问以访问代理文件也会有所帮助

您所要求的是requires,所有Kafka API都使用它


当使用Kafka Streams API时,您会将它们包装在一个Serde类中,并在启动之前将其提供给您的Streams属性,或者在两个DSL方法之间,由
生成。使用
消费。使用

恐怕这不是我要问的。我在问,在播放DSL的数据处理阶段,是否可以在Kafka流媒体管道中对消息进行解密和加密。加密只是序列化的包装,除非您的意思是在整个Kafka安装中添加SSL。。。这超出了您的单个应用程序的范围。不,我正在尝试对流媒体管道中的单个消息使用两次公钥加密。一次在入站主题上,一次在出站主题上。只是不确定DSL是否能够解密和加密,以及密钥应该存储在哪里。卡夫卡没有SSL之外的消息加密形式。为了加密任何内容,您需要处理消息的字节。。这正是序列化程序接口的用途。因此,如果您计划在Streams DSL或处理器API中执行此操作,则必须通过Serde执行。您甚至可以使用
BytesSerde
,然后
map()
自己加密数据。。。您可以通过其
configure
方法将序列化程序配置为您想要的任何属性,然后可以从您的文件系统加载文件/证书。我恐怕这不是我要问的。我在问,在播放DSL的数据处理阶段,是否可以在Kafka流媒体管道中对消息进行解密和加密。加密只是序列化的包装,除非您的意思是在整个Kafka安装中添加SSL。。。这超出了您的单个应用程序的范围。不,我正在尝试对流媒体管道中的单个消息使用两次公钥加密。一次在入站主题上,一次在出站主题上。只是不确定DSL是否能够解密和加密,以及密钥应该存储在哪里。卡夫卡没有SSL之外的消息加密形式。为了加密任何内容,您需要处理消息的字节。。这正是序列化程序接口的用途。因此,如果您计划在Streams DSL或处理器API中执行此操作,则必须通过Serde执行。您甚至可以使用
BytesSerde
,然后
map()
自己加密数据。。。您可以通过其
configure
方法配置序列化程序的任何属性,然后从文件系统加载文件/证书