AKHQ支持使用Apache Kafka的SMT(Single Message Transformation)将消息中的敏感信息进行脱敏处理。具体步骤如下:
akhq.smt.classes=org.apache.kafka.connect.transforms.MaskField$Value
这会启用Kafka Connect的脱敏功能。
在转换器配置中,定义需要脱敏的字段,并为其指定一个脱敏模式,例如:
transforms.masker.type=org.apache.kafka.connect.transforms.MaskField$Value
transforms.masker.fields=credit_card_number,social_security_number
transforms.masker.replacement=X
此配置将对所有消息中的“credit_card_number”和“social_security_number”字段进行脱敏,并用“X”替换所有脱敏内容。
对于主题,可以在AKHQ的主题设置中指定转换器。对于消费者,可以在消费者设置中指定转换器。例如,在消费者设置中,设置以下配置:
transforms=masker
transforms.masker.type=org.apache.kafka.connect.transforms.MaskField$Value
transforms.masker.fields=credit_card_number,social_security_number
transforms.masker.replacement=X
这样,所有从此消费者消费的消息中的敏感信息都会被脱敏。