当前位置: 首页 > 知识库问答 >
问题:

如何使用 Java API 添加 SCRAM-SHA-512 Kafka配置?

罗渝
2023-03-14

我想向我的kafka集群添加新用户,方法似乎是在zookeeper数据库中添加SCRAM-SHA-512/256配置,但我只知道如何使用命令行实用程序来完成,如下所示:

bin/kafka-configs.sh --zookeeper zookeeper_server_address --alter --add-config "SCRAM-SHA-512=[password=password]" --entity-type users --entity-name userName

有没有使用Kafka API for Java的替代方法?

共有1个答案

周瀚
2023-03-14

我看到一个帖子说Kafka api没有这个功能,所以我做了一个定制。用于创建用户的sh脚本(create-user.sh):

#!/bin/bash

SERVER=$1
USER=$2
PASSWORD=$3

if [ "x$SERVER" = "x" ] || [ "x$USER" = "x" ] || [ "x$PASSWORD" = "x" ]; then
    echo "usage: $0 <server:port> <user> <password>"
    exit
fi
bin/kafka-configs.sh --zookeeper $SERVER --alter --add-config "SCRAM-SHA-512=[password=$PASSWORD]" --entity-type users --entity-name $USER

我从java程序中调用它:

ProcessBuilder pb = new ProcessBuilder("./create-user.sh", "zookeeper-server", "sampleUser", "password");
        pb.environment().put("PATH", "/home/myHome/Programs/java/jdk-13.0.2/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin");

Process p = pb.redirectErrorStream(true)
                .directory(new File("/home/myHome/Desktop/Kafka/kafka_2.12-2.4.1"))
                .start();

注意,我需要在PATH中指定一些目录,并将其作为环境变量传递给ProcessBuilder,因为如果不这样做,它将抛出错误,指出有命令找不到

 类似资料:
  • 我能够让SCRAM-SHA-256身份验证与pgpool一起使用,但是我还没有找到一个很好的例子来设置pgbouner。我正在尝试使用auth_query。在postgres中,pgbounker将连接的用户将密码加密并存储在SCRAM-SHA-256中。但是我不知道如何在userlist.txt.中创建条目这应该是格式: 存储密钥和服务器密钥到底是什么,我如何生成它们?我可以使用哪些工具来创建它

  • 我想使用CREATE USER命令和已经散列的密码摘要创建一个Postgres用户。经过大量搜索,我认为只有MD5才有可能,直到我找到这个链接。我已经验证了它是这样工作的: 然后,我可以使用密码登录该用户,本文不一定说,但它是“postgres”。现在我知道这是可能的,如何使用.NET 5生成Postgres 13将接受的scram-sha-256摘要?我见过其他Postgres文章使用过时的MD

  • 我试图在Firebase中创建一个动态链接,当我选择android应用程序时,它显示一个错误,说“将SHA-1添加到这个android应用程序”,我已经添加了一个凭据,但我不确定我到底如何“将SHA-1添加到应用程序” 这是怎么做到的?

  • 当我尝试安装 patroni 时,我可以使用 md5 初始化数据库,所有的集群都运行良好。. 但当我试图用初始化紧急停堆sha 256安装patroni时,它没有启动,状态也保持不变 群集中所有数据库实例的“副本”。同样在patroni日志上,我可以看到这个错误“”postgres“没有有效的SCRAM验证器”。解决方案是什么? 信息:password_encryption是scram-sha 2

  • 在PostgreSQL 10中,scram-sha-256设置使用了多少次迭代? 医生只是说 将此参数设置为scram-sha-256将使用scram-sha-256加密密码。 生成日志读取。 添加SCRAM-SHA-256对密码协商和存储的支持(Michael Paquier, Heikki Linnakangas)这证明了比现有的md5协商和存储方法更好的安全性。

  • 我正在考虑将PostgreSQL密码加密从MD5更改为SHA的问题,以找出如何将Postgres中的用户密码哈希更改为MD5以外的内容,因为据我所知,它现在基本上已经过时了。 但我很好奇服务器的< code>pg_hpa.conf文件是否需要更改,因为根据本教程https://blog . big binary . com/2016/01/23/configure-PostgreSQL-to-al