手动配置 kafka 用户密码,认证方式等的方式
2023-12-18 17:48:20
场景
部分场景会指定使用某一kafka 来提高安全性,这里就不得不使用用户密码认证方式等来控制
方法示例
// 手动加载配置信息
private Map<String, Object> consumerConfigs() {
Map<String, Object> props = new HashMap<>();
props.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, serverUrl);
props.put(ConsumerConfig.ENABLE_AUTO_COMMIT_CONFIG, enableAutoCommit);
props.put(ConsumerConfig.GROUP_ID_CONFIG, groupId);
props.put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class);
props.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class);
props.put(ConsumerConfig.AUTO_OFFSET_RESET_CONFIG, autoOffsetReset);
// 用户密码 以及认证方式等配置的加载方式
if (StringUtils.isNotEmpty(username)) {
String jaasTemplate =
"org.apache.kafka.common.security.scram.ScramLoginModule required username=\"%s\" %s=\"%s\";";
String jaasCfg = String.format(jaasTemplate, username, "password", password);
props.put("sasl.mechanism",StringUtils.isNotEmpty(saslMechanism) ? saslMechanism : "PLAIN");
props.put("security.protocol",StringUtils.isNotEmpty(securityProtocol) ? securityProtocol : "SASL_PLAINTEXT");
props.put("sasl.jaas.config", jaasCfg);
}
return props;
}
文章来源:https://blog.csdn.net/weixin_44131922/article/details/135065852
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!