JAAS と Kerberos

バージョン 2.0 から、Kerberos 構成を支援するために KafkaJaasLoginModuleInitializer クラスが追加されました。この Bean を必要な構成でアプリケーションコンテキストに追加できます。次の例は、そのような Bean を構成します。

@Bean
public KafkaJaasLoginModuleInitializer jaasConfig() throws IOException {
    KafkaJaasLoginModuleInitializer jaasConfig = new KafkaJaasLoginModuleInitializer();
    jaasConfig.setControlFlag("REQUIRED");
    Map<String, String> options = new HashMap<>();
    options.put("useKeyTab", "true");
    options.put("storeKey", "true");
    options.put("keyTab", "/etc/security/keytabs/kafka_client.keytab");
    options.put("principal", "[email protected] (英語)  ");
    jaasConfig.setOptions(options);
    return jaasConfig;
}