gpt4 book ai didi

rest - 保护对 Kafka Connect 的 REST API 的访问

转载 作者:行者123 更新时间:2023-12-01 09:47:47 27 4
gpt4 key购买 nike

Kafka Connect 的 REST API 没有得到保护和验证。
由于未经过身份验证,因此任何人都可以轻松访问连接器或任务的配置。由于这些配置可能包含关于如何访问源系统 [在 SourceConnector 的情况下] 和目标系统 [在 SinkConnector 的情况下],是否有标准方法来限制对这些 API 的访问?

最佳答案

在 Kafka 2.1.0 中,可以为 Kafka Connect 的 REST 接口(interface)配置 http 基本身份验证,而无需编写任何自定义代码。

由于 REST 扩展机制的实现,这成为现实(参见 KIP-285)。

简而言之,配置过程如下:

  • 将扩展类添加到工作配置文件:
  • rest.extension.classes = org.apache.kafka.connect.rest.basic.auth.extension.BasicAuthSecurityRestExtension
  • 为应用程序名称“KafkaConnect”创建 JAAS 配置文件(即 connect_jaas.conf):
  • KafkaConnect {
    org.apache.kafka.connect.rest.basic.auth.extension.PropertyFileLoginModule required
    file="/your/path/rest-credentials.properties";
    };
  • 创建 rest-credentials.properties上述目录中的文件:
  • user=password
  • 最后,通知 java 你的 JAAS 配置文件,例如,通过向 java 添加命令行属性:
  • -Djava.security.auth.login.config=/your/path/connect_jaas.conf 

    重新启动 Kafka Connect 后,您将无法在没有基本身份验证的情况下使用 REST API。

    请记住,使用的类只是示例而不是生产就绪功能。

    链接:
  • Connect configuratin
  • BasicAuthSecurityRestExtension
  • JaasBasicAuthFilter
  • PropertyFileLoginModule
  • 关于rest - 保护对 Kafka Connect 的 REST API 的访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45250575/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com