Pra*_*bha 8 rest apache-kafka apache-kafka-connect
用于 Kafka Connect 的 REST API 不受保护和身份验证。由于未经身份验证,任何人都可以轻松访问连接器或任务的配置。由于这些配置可能包含关于如何访问源系统 [在 SourceConnector 的情况下] 和目标系统 [在 SinkConnector 的情况下],是否有标准方法来限制对这些 API 的访问?
在 Kafka 2.1.0 中,可以在不编写任何自定义代码的情况下为 Kafka Connect 的 REST 接口配置 http 基本身份验证。
由于 REST 扩展机制的实现(参见KIP-285),这成为现实。
简而言之,配置过程如下:
rest.extension.classes = org.apache.kafka.connect.rest.basic.auth.extension.BasicAuthSecurityRestExtension
Run Code Online (Sandbox Code Playgroud)
connect_jaas.conf为应用程序名称“KafkaConnect”创建 JAAS 配置文件(即):KafkaConnect {
org.apache.kafka.connect.rest.basic.auth.extension.PropertyFileLoginModule required
file="/your/path/rest-credentials.properties";
};
Run Code Online (Sandbox Code Playgroud)
rest-credentials.properties在上述目录中创建文件:user=password
Run Code Online (Sandbox Code Playgroud)
-Djava.security.auth.login.config=/your/path/connect_jaas.conf
Run Code Online (Sandbox Code Playgroud)
重启 Kafka Connect 后,如果没有基本身份验证,您将无法使用 REST API。
请记住,使用的类只是示例,而不是生产就绪的功能。
链接:
这是未来需要改进的已知领域,但现在您应该在 Kafka Connect 计算机上使用防火墙以及 API 管理工具(Apigee 等)或反向代理(haproxy、nginx 等)来确保HTTPS 在您可以配置访问控制规则的端点处终止,然后让防火墙仅接受来自安全代理的连接。对于某些产品,防火墙、访问控制和 SSL/TLS 终止功能都可以在较少数量的产品中完成。
| 归档时间: |
|
| 查看次数: |
3377 次 |
| 最近记录: |