第 24 章 KafkaAuthorizationCustom 模式参考


使用于: KafkaClusterSpec

KafkaAuthorizationCustom 模式属性的完整列表

Kafka 自定义资源配置为使用自定义授权器并定义访问控制列表(ACL)。

ACL 允许您定义哪些用户有权访问细致级别的资源。配置 Kafka 自定义资源,以指定实现 org.apache.kafka.server.authorizer.Authorizer 接口的授权器类来支持自定义 ACL。将 authorization 部分中的 type 属性设置为 custom,并配置超级用户列表。在不查询 ACL 规则的情况下,始终允许超级用户。添加额外的配置,以使用 Kafka.spec.kafka.config 初始化自定义授权器。

自定义授权 配置示例

apiVersion: kafka.strimzi.io/v1beta2
kind: Kafka
metadata:
  name: my-cluster
  namespace: myproject
spec:
  kafka:
    # ...
    authorization:
      type: custom
      authorizerClass: io.mycompany.CustomAuthorizer
      superUsers:
        - CN=user-1
        - user-2
        - CN=user-3
    # ...
    config:
      authorization.custom.property1=value1
      authorization.custom.property2=value2
    # ...

注意

Kafka.spec.kafka 中的 config 配置属性中的 super.user 配置选项会被忽略。改为指定 authorization 属性中的超级用户。

24.1. 将自定义授权器 JAR 文件添加到容器镜像

除了 Kafka 自定义资源配置外,包含自定义授权器类及其依赖项的 JAR 文件还必须在 Kafka 代理的类路径上可用。

您可以从 source-code 为 Apache Kafka 构建流来添加它们。Apache Kafka 构建过程的 Streams 提供了将自定义第三方库添加到生成的 Kafka 代理容器镜像的机制,方法是将自定义第三方库作为依赖项添加到 docker-images/artifacts/kafka-thirdparty-libs 目录下的 pom.xml 文件中。目录包含不同 Kafka 版本的不同文件夹。选择适当的文件夹。在修改 pom.xml 文件前,第三方库必须在 Maven 存储库中可用,并且 Maven 存储库必须可以被 Apache Kafka 构建过程访问。

另外,您可以将 JAR 添加到 Apache Kafka 容器镜像的现有 Streams 中:

FROM registry.redhat.io/amq-streams/kafka-38-rhel9:2.8.0
USER root:root
COPY ./my-authorizer/ /opt/kafka/libs/
USER 1001
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部