【问题标题】:Changing the kerberos principal更改 kerberos 主体
【发布时间】:2021-03-09 14:29:15
【问题描述】:

我正在编写一个测试,检查我们是否可以创建一个 kafka 生产者并将消息发送到使用 kerberos 进行身份验证的 kafka 集群。这工作正常。 (测试1)

我还需要编写一个测试来检查未经身份验证的用户是否无法创建生产者/发送消息(Jaas 中的主体不正确)。 (测试2)

测试看起来像:

public void test(){
        System.setProperty("java.security.auth.login.config", **jaas_path**);
        System.setProperty("java.security.krb5.conf", **krb5_path**);

        createKafkaProducer();
        sendMessages();
}

test1 有正确的 jaas 文件的 jaas_path,而 test2 有错误主体的 jaas 文件的路径。

我的问题是,如果 test1 先运行,test2 仍然使用 test1 的 jaas 的主体。我的意思是 test2 仍然加载了 test1 的 jaas 文件(principal & keytab)并使用它们。

有什么方法可以清除 Kerberos 凭据并更改主体?

【问题讨论】:

    标签: authentication testing apache-kafka kerberos


    【解决方案1】:

    Configuration.getConfiguration().refresh() 解决了我的问题。

    public void test(){
            System.setProperty("java.security.auth.login.config", **jaas_path**);
            System.setProperty("java.security.krb5.conf", **krb5_path**);
    
            Configuration.getConfiguration().refresh();
    
            createKafkaProducer();
            sendMessages();
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-01-15
      • 1970-01-01
      • 1970-01-01
      • 2022-01-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多