手动配置 kafka 用户密码,认证方式等的方式

场景

部分场景会指定使用某一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;
    }
  • 10
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是Kafka配置用户认证的步骤: 1. 首先,需要在Kafka服务器上创建一个Kafka用户,并为其设置密码。可以使用以下命令创建用户并设置密码: ```shell $ sudo kafka-configs.sh --zookeeper localhost:2181 --alter --add-config 'SCRAM-SHA-256=[password=your_password]' --entity-type users --entity-name kafka_user ``` 其中,`your_password`是你为Kafka用户设置的密码,`kafka_user`是你创建Kafka用户的名称。 2. 接下来,需要在Kafka服务器上启用SASL/SCRAM认证。可以通过编辑Kafka服务器的配置文件`server.properties`来启用SASL/SCRAM认证。找到以下配置项并取消注释: ``` listeners=SASL_PLAINTEXT://:9092 security.inter.broker.protocol=SASL_PLAINTEXT sasl.mechanism.inter.broker.protocol=SCRAM-SHA-256 sasl.enabled.mechanisms=SCRAM-SHA-256 sasl.mechanism.inter.broker.protocol=SCRAM-SHA-256 sasl.server.callback.handler.class=io.confluent.kafka.security.auth.sasl.SaslServerCallbackHandler sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required username="kafka_user" password="your_password"; ``` 其中,`kafka_user`是你创建Kafka用户的名称,`your_password`是你为Kafka用户设置的密码。 3. 最后,需要在Kafka客户端上配置SASL/SCRAM认证。可以通过编辑Kafka客户端的配置文件来配置SASL/SCRAM认证。找到以下配置项并取消注释: ``` security.protocol=SASL_PLAINTEXT sasl.mechanism=SCRAM-SHA-256 sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required username="kafka_user" password="your_password"; ``` 其中,`kafka_user`是你创建Kafka用户的名称,`your_password`是你为Kafka用户设置的密码

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值