问题标签 [apache-kafka-security]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
apache-kafka - 有没有办法设置 Kafka ACL 以允许使用任何消费者组而不列出它们
我正在尝试设置 Kafka,其中每个用户都有几个主题,但每个主题可以由该主题所属的用户与任意数量的消费者组一起使用。
使用的 Kafka 服务器版本:kafka_2.12-2.4.0 (Commit:77a89fcf8d7fa018)
使用的 Kafka 客户端版本:confluent kafka 1.2.2
在 Kafka ACL 中已经成功配置了用户,所以他们只能访问自己的主题。我正在努力以这样一种方式设置组权限,即每个用户都可以为自己的主题使用任意数量的消费者组,而不会看到其他人拥有的消费者组。
以下内容使每个用户都可以使用任何消费者组:
但是,根据https://docs.confluent.io/current/kafka/authorization.html读取操作隐式授予 Describe 操作。由于描述操作包括访问“ListGroup”API,我不希望我的用户能够这样做,我执行了以下操作:
上面的两个命令会产生以下 ACL:
问题是我收到以下异常:
这让我相信我要么尝试实现不可能的事情,要么尝试错误。
TLDR:是否可以设置 Kafka ACL 以允许使用任何消费者组而不同时授予 ListGroups API 权限?
感谢您的任何回答。
apache-kafka - 架构注册表安全配置
尝试使用 SSL 配置架构注册表。尝试将 HTTPS 模式注册表与 AVRO Producer 一起使用时,失败并出现错误
我已配置为忽略主机名检查。但仍然没有工作。类似的配置已经在 KAFKA REST、CONNECT 和 KSQL 上起作用。
还尝试从使用模式注册表的 KSQL 运行查询。失败并出现与未找到 SAN 名称相同的错误。
以下是 HTTPS 架构注册表的配置;
在 avro producer 和 KSQL 上,我配置了 truststore 并指定
您能否帮助使用 HTTPS 配置 Schema 注册表并使其与 avro producer 和 KSQL 一起使用?
apache-kafka - 是否可以在 osquery 代理上配置 Kafka SASL 身份验证?
我正在尝试将 osquery 日志设置为带有 SASL 普通身份验证的 Kafka 生产者。但不确定是否可能。
根据此页面https://osquery.readthedocs.io/en/stable/deployment/logging/#logging-as-a-kafka-producer
有 3 种 Kafka 配置作为选项公开:带或不带端口的代理的逗号分隔列表;一个默认主题[默认值:“”],和acks...有关详细信息,请参阅官方文档。
这是否意味着osquery不支持身份验证设置?
这是一段配置:
在 Kafka 官方文档中仅提供“JAAS 配置属性”:https ://kafka.apache.org/documentation/#security_sasl_plain_clientconfig
有没有办法将此属性用于osquery?
apache-kafka - 仅允许来自某些主机/IP 的消费者访问 kafka 主题
我们有一个基于 Kafka 的系统,以及一个庞大的开发团队正在开发这个系统。我们仍处于开发和测试阶段,尚未投入生产。对于大多数本地开发测试,我们不需要使用 Kafka 消息,但我们确实需要与 QA 环境中的数据库和其他应用程序交互,因此开发人员在运行他们的应用程序时将使用 QA 配置文件属性(这些是 Java Spring Boot应用)。
问题是,当开发人员使用 QA 配置文件在本地运行应用程序时,本地应用程序正在消耗来自 QA 环境的消息并中断测试。我们还有一个更大的担忧,即当我们进入生产环境时,开发人员可能会使用生产配置文件运行,以便能够查看一些生产数据,并无意中消耗生产消息,从而导致严重问题。
有没有办法将 Kafka 配置为只允许某些主机/IP 使用它的消息?
docker - 如何在动态环境中设置 Kafka 安全性和侦听器?
这些资源为如何设置 kafka 安全性(加密 + ssl)和 kafka 侦听器的好主意提供了很好的视角。
- 设置 ssl 身份验证
- 听众和广告听众:a、b、c、d(来自 confluent guy - Robin M)
但这似乎在静态环境中运行良好,那么动态环境呢?
当使用 K8S 和容器(通过 EC2 使用 k8s 的 docker 等)或其他一些编排框架时,主机名和副本数量(即使没有自动缩放场景)是事先不知道的。那么我们如何动态创建证书、密钥库和信任库。以及如何listeners
在 server.properties 文件中动态配置值。
apache-kafka - 访问 SSL-Auth 安全的 Kafka 代理/集群时需要 Java Producer/Consumer kafka 客户端属性吗?
当我们连接到 Kafka 集群/kafka 时,在 java 客户端中我们定义了某些属性 -生产者属性
示例
示例消费者属性-
同样,在连接到使用 SSL-Auth 保护的 Kafka 集群时,是否应在此处提及与 SSL-Auth 相关的任何属性(如密钥库和信任库路径等)。
有人可以详细说明一下 java 客户端如何连接到安全的 Kafka 集群。
Ref - 以上道具取自 Kafka 文档 - kafka producer / kafka consumer
apache-kafka - Zookeeper:cnxn.saslServer 为空,Kafka:仲裁成员的 saslToken 为空
为了只提供对 kafka 的访问以创建、删除主题,我正在 kafka 和 zookeeper 之间创建一个纯文本 SASL 安全性。我收到以下错误,无法弄清楚原因。
docker-compose-sasl-plaintext.yml
kafka_server_jaas.conf
security - 如何在 Windows 机器上使用 oAuth 进行 Kafka 安全设置 SASL_SSL?
我已启用 SASL_SSL 配置,并与生产和消费数据的客户端进行了测试
服务器属性
消费者属性
生产者属性
kafka_server_jaas.conf
如何提及端点以生成新令牌
apache-kafka - 为 Apache KAFKA 配置外部和内部侦听器以及外部发布/订阅的 SASL 身份验证
我想使用 2 个侦听器配置 Kafka 身份验证(现在只需要身份验证,不需要加密):
- 一种用于具有 PLAINTEXT 安全性的经纪人间私人通信
- 一种用于消费者/生产者与 SASL_PLAINTEXT 和 SCRAM-SHA-256 的公共通信
我有一个只有一个代理(用于测试目的)的 Kafka 集群和一个有 2 个节点的 Zookeeper 集群
我已经完成的步骤是:
- 在 zookeeper 上创建 'admin' 和 'test-user' 用户
- 配置服务器属性如下:
- 创建一个文件 kafka_server_jaas.conf 并在引导期间使用-Djava.security.auth.login.config=/opt/kafka/config/kafka_server_jaas.conf将其传递给 kafka
- 创建一个测试主题来发布/订阅
- 使用 test-user 及其凭据创建要发布的 client-secure.properties 文件:
- 最后尝试使用EXTERNAL监听器发布到之前创建的'test-topic'使用'test-user'进行身份验证
我总是收到以下错误:
为什么服务器上没有启用 SCRAM-SHA-256 机制?不应该使用“server.properties”文件上的“sasl.enabled.mechanisms=PLAIN, SCRAM-SHA-256”属性和“kafka_server_jaas.conf”文件上定义的外部侦听器配置上的 scram 配置来启用它吗?
我已经连续两天与这种应用不同的配置作斗争,但没有任何成功。任何帮助将非常感激
提前致谢
elasticsearch - 如何使用密码保留为空白的 ca.crt 文件生成新的 Elasticsearch 密钥?
我之前使用空白密码设置了我的 ca.crt 文件。
现在,当我向 elasticsearch 集群添加更多客户端时,我想使用相同的 ca 权限。
但是,当我在生成新证书时提供现有 ca.crt 文件的路径时,它会要求输入我保留为空白的密码。
使用--pass ""
标志不起作用。
有人在生成新证书时遇到过同样的问题吗?
另外,我正在使用 bin/elasticsearch-certutil。