搜索

第 3 章 消费者配置属性

download PDF
key.deserializer

type: class
Importance: high

deserializer 类用于实现 org.apache.kafka.common.serialization.Deserializer 接口的密钥。

value.deserializer

type: class
Importance: high

deserializer 类用于实现 org.apache.kafka.common.serialization.Deserializer 接口的值。

bootstrap.servers

type: list
Default: ""
Valid Values: non-null string
Importance: high

用于建立到 Kafka 集群的初始连接的主机/端口对列表。客户端将使用所有服务器与此处为引导指定的服务器无关 - 此列表仅影响用于发现完整服务器集的初始主机。此列表的格式应为 host1:port1,host2:port2,…​。由于这些服务器仅用于初始连接来发现完整的群集成员身份(可能会动态更改),因此此列表不需要包含整组服务器(但是如果服务器停机,您可能需要多个服务器)。

fetch.min.bytes

type: int
Default: 1
Valid Values: [0,…​]
Importance: high

服务器应返回的最小数据量,用于获取请求。如果数据不足,请求将等待这么多的数据在回答请求前累积。1 字节的默认设置表示,当数据有很多字节或获取请求超时等待数据到达时,就会对获取请求进行回答。把它设置为较大的值将导致服务器等待大量数据积累,这可以提高服务器吞吐量(以一些额外的延迟为代价)。

group.id

Type: string
Default: null
Importance: high

标识此消费者所属的消费者组的唯一字符串。如果消费者使用 subscription (topic) 或基于 Kafka 的偏移管理策略,则需要此属性。

group.protocol

Type: string
Default: classic
Valid Values: (case insensitive)[CONSUMER, CLASSIC]
Importance: high

组协议消费者应使用。我们目前支持"经典"或"消费者"。如果指定了 "consumer",则使用消费者组协议。否则,将使用经典组协议。

heartbeat.interval.ms

Type: int
Default: 3000 (3 秒)
Importance: high

使用 Kafka 的组管理功能时,与消费者协调器之间预期的时间。心跳用于确保消费者保持活跃状态,并在新用户加入或离开该组时促进重新平衡。该值必须小于 session.timeout.ms,但设置的值通常不应超过这个值的 1/3。它可以调整甚至较低,以控制正常重新平衡的预期时间。

max.partition.fetch.bytes

type: int
Default: 1048576 (1 mebibyte)
Valid Values: [0,…​]
Importance: high

服务器将返回的每个分区的最大数据量。记录由消费者批量获取。如果获取的第一个非空分区中的第一个记录批处理大于这个限制,则批处理仍会返回,以确保消费者能够进行进度。代理接受的最大记录批处理大小通过 message.max.bytes (broker config)或 max.message.bytes (topic config)定义。如需限制消费者请求大小,请参阅 fetch.max.bytes。

session.timeout.ms

Type: int
Default: 45000 (45 seconds)
Importance: high

使用 Kafka 的组管理功能时检测客户端故障的超时。客户端发送定期心跳以指示其存活度到代理。如果在这个会话超时前代理没有接收心跳,则代理将从组中删除此客户端并启动重新平衡。请注意,该值必须在允许范围内,如 group.min.session.timeout.msgroup.max.session.timeout.ms 中配置。

ssl.key.password

Type: password
Default: null
Importance: high

密钥存储文件中私钥的密码或 'ssl.keystore.key' 中指定的 PEM 密钥。

ssl.keystore.certificate.chain

Type: password
Default: null
Importance: high

使用由 'ssl.keystore.type" 指定的格式的证书链。默认 SSL 引擎工厂仅支持使用 X.509 证书列表的 PEM 格式。

ssl.keystore.key

Type: password
Default: null
Importance: high

使用 'ssl.keystore.type" 指定的格式的私钥。默认 SSL 引擎工厂只支持使用 PKCS#8 密钥的 PEM 格式。如果密钥加密,必须使用 'ssl.key.password' 指定密钥密码。

ssl.keystore.location

Type: string
Default: null
Importance: high

密钥存储文件的位置。这对客户端是可选的,可用于客户端进行双向身份验证。

ssl.keystore.password

Type: password
Default: null
Importance: high

密钥存储文件的存储密码。这对客户端是可选的,只有在配置了 'ssl.keystore.location' 时才需要。PEM 格式不支持密钥存储密码。

ssl.truststore.certificates

Type: password
Default: null
Importance: high

可信证书,格式为 'ssl.truststore.type'。默认 SSL 引擎工厂仅支持使用 X.509 证书使用 PEM 格式。

ssl.truststore.location

Type: string
Default: null
Importance: high

信任存储文件的位置。

ssl.truststore.password

Type: password
Default: null
Importance: high

信任存储文件的密码。如果没有设置密码,则仍然使用配置的信任存储文件,但禁用完整性检查。PEM 格式不支持信任存储密码。

allow.auto.create.topics

Type: boolean
Default: true
Importance: medium

在订阅或分配主题时,允许对代理自动创建主题。只有在代理允许使用 auto.create.topics.enable 代理配置时,才会自动创建订阅的主题。当使用早于 0.11.0 的代理时,此配置必须设置为 false

auto.offset.reset

Type: string
Default: latest
Valid Values: [latest, earliest, none]
Importance: medium

当 Kafka 中没有初始偏移,或者服务器上不存在当前偏移时该怎么办(例如,因为数据已被删除):

  • 最早:自动将偏移重置为最早的偏移
  • latest :自动将偏移重置为最新的偏移
  • none:如果没有为消费者的组找到以前的偏移,则向消费者丢弃异常
  • 任何其他内容:向消费者抛出异常。

    请注意,在将此配置设置为 latest 时更改分区编号可能会导致消息发送丢失,因为生成者可能开始向新添加的分区发送消息(例如,在消费者重置偏移前,也不存在初始偏移)。

client.dns.lookup

Type: string
Default: use_all_dns_ips
Valid Values: [use_all_dns_ips, resolve_canonical_bootstrap_servers_only]
Importance: medium

控制客户端如何使用 DNS 查找。如果设置为 use_all_dns_ips,请按顺序连接到每个返回的 IP 地址,直到成功建立连接。断开连接后,会使用下一个 IP。当所有 IP 都被一次使用后,客户端会再次解析主机名(JVM 和 OS 缓存 DNS 名称查找)中的 IP。如果设置为 resolve_canonical_bootstrap_servers_only,请将每个 bootstrap 地址解析为规范名称列表。bootstrap 阶段后,它的行为与 use_all_dns_ips 相同。

connections.max.idle.ms

Type: long
Default: 540000 (9 minutes)
Importance: medium

在这个配置指定的毫秒数后关闭闲置连接。

default.api.timeout.ms

type: int
Default: 60000 (1 minute)
Valid Values: [0,…​]
Importance: medium

指定客户端 API 的超时时间(以毫秒为单位)。此配置用作没有指定 timeout 参数的所有客户端操作的默认超时时间。

enable.auto.commit

Type: boolean
Default: true
Importance: medium

如果为 true,则消费者的偏移将在后台定期提交。

exclude.internal.topics

Type: boolean
Default: true
Importance: medium

订阅中是否应该排除与订阅模式匹配的内部主题。始终可以明确订阅内部主题。

fetch.max.bytes

type: int
Default: 52428800 (50 mebibytes)
Valid Values: [0,…​]
Importance: medium

服务器应返回的最大数据量,用于获取请求。记录批处理由消费者批量获取,如果获取的第一个非空分区中的第一个记录批处理大于这个值,则记录批处理仍会返回,以确保消费者进行进度。因此,这不是绝对最大值。代理接受的最大记录批处理大小通过 message.max.bytes (broker config)或 max.message.bytes (topic config)定义。请注意,消费者并行执行多个获取。

group.instance.id

Type: string
Default: null
Valid Values: non-empty string
Importance: medium

最终用户提供的消费者实例的唯一标识符。只允许非空字符串。如果设置,消费者被视为静态成员,这意味着任何时候都只允许具有此 ID 的一个实例。这可与更大的会话超时结合使用,以避免由临时不可用造成的组重新平衡(如进程重启)。如果没有设置,消费者将加入组作为动态成员,这是传统行为。

group.remote.assignor

Type: string
Default: null
Importance: medium

要使用的服务器端分配器。如果没有指定分配器,则组协调器将选择一个。只有在 group.protocol 设置为 "consumer" 时,才会应用此配置。

isolation.level

Type: string
Default: read_uncommitted
Valid Values: [read_committed, read_uncommitted]
Importance: medium

控制如何读取事务写的消息。如果设置为 read_committed,则 consumer.poll ()将仅返回已提交的事务消息。如果设置为 read_uncommitted (默认值),则 consumer.poll ()将返回所有消息,即使已中止的事务消息也是如此。非事务性消息将在任一模式中无条件返回。

消息将始终以偏移顺序返回。因此,在 read_committed 模式中,consumer.poll ()将仅返回最多最后一个稳定偏移(LSO)的消息,这是第一个打开事务的偏移量。特别是,在属于持续事务的消息后出现的任何消息都会被告知,直到相关事务完成为止。因此,在有机机交易时,read_committed 的消费者将无法读取高水位线。

 Further, when in `read_committed` the seekToEnd method will return the LSO
.
max.poll.interval.ms

Type: int
Default: 300000 (5 minutes)
Valid Values: [1,…​]
Importance: medium

使用消费者组管理时,poll ()调用之间的最大延迟。这会在获取更多记录前将上限放在消费者可以闲置的时间长度。如果在这个超时时间前没有调用 poll (),则消费者被视为失败,并且组将重新平衡,以便将分区重新分配给另一个成员。对于使用达到这个超时的非null group.instance.id 的用户,不会立即重新分配分区。相反,消费者将停止发送心跳,分区将在 session.timeout.ms 过期后被重新分配。这会镜像已关闭的静态消费者的行为。

max.poll.records

Type: int
Default: 500
Valid Values: [1,…​]
Importance: medium

单个调用返回到 poll ()中返回的最大记录数。请注意,max.poll.records 不会影响底层获取行为。消费者将从每个获取请求中缓存记录,并从每个轮询递增返回记录。

partition.assignment.strategy

Type: list
Default: class org.apache.kafka.clients.consumer.RangeAssignor,class org.apache.kafka.clients.consumer.CooperativeStickyAssignor
Valid Values: non-null string
Importance: medium

类名称或类类型列表,按首选顺序排列,在使用组管理时客户端将用于在消费者实例之间分发分区所有权。可用的选项有:

  • org.apache.kafka.clients.consumer.RangeAssignor: 根据每个主题分配分区。
  • org.apache.kafka.clients.consumer.RoundRobinAssignor: 以轮循方式将分区分配给消费者。
  • org.apache.kafka.clients.consumer.StickyAssignor: Guarantees 的一个分配量是最大平衡的,同时保留尽可能多的现有分区分配。
  • org.apache.kafka.clients.consumer.CooperativeStickyAssignor: Follows 相同的 StickyAssignor 逻辑,但允许合作重新平衡。

    默认分配器为 [RangeAssignor, CooperativeStickyAssignor],它默认使用 RangeAssignor,但允许升级到 CooperativeStickyAssignor,它只从列表中删除 RangeAssignor。

    通过实施 org.apache.kafka.clients.consumer.ConsumerPartitionAssignor 接口,您可以插入自定义分配策略。

receive.buffer.bytes

type: int
Default: 65536 (64 kibibytes)
Valid Values: [-1,…​]
Importance: medium

读取数据时要使用的 TCP 接收缓冲区(SO_RCVBUF)的大小。如果值为 -1,则使用操作系统默认值。

request.timeout.ms

type: int
Default: 30000 (30 秒)
Valid Values: [0,…​]
Importance: medium

配置控制客户端等待请求响应的最长时间。如果在超时之前没有收到响应,客户端将在需要时重新发送请求(如果重试用时失败)。

sasl.client.callback.handler.class

Type: class
Default: null
Importance: medium

实现 AuthenticateCallbackHandler 接口的 SASL 客户端回调处理程序类的完全限定名称。

sasl.jaas.config

Type: password
Default: null
Importance: medium

用于 SASL 连接的 JAAS 登录上下文参数,其格式供 JAAS 配置文件使用。JAAS 配置文件格式描述 在此处。该值的格式是: loginModuleClass controlFlag (optionName=optionValue)*;。对于代理,配置必须在小写中带有监听前缀和 SASL 机制名称前缀。例如: listener.name.sasl_ssl.scram-sha-256.sasl.jaas.config=com.example.ScramLoginModule required;。

sasl.kerberos.service.name

Type: string
Default: null
Importance: medium

Kafka 运行的 Kerberos 主体名称。这可以在 Kafka 的 JAAS 配置或 Kafka 配置中定义。

sasl.login.callback.handler.class

Type: class
Default: null
Importance: medium

实现 AuthenticateCallbackHandler 接口的 SASL 登录回调处理程序类的完全限定名称。对于代理,登录回调处理器配置必须以监听器前缀和 SASL 机制名称作为前缀作为前缀。例如: listener.name.sasl_ssl.scram-sha-256.sasl.login.callback.handler.class=com.example.CustomScramLoginCallbackHandler。

sasl.login.class

Type: class
Default: null
Importance: medium

实现登录接口的类的完全限定名称。对于代理,登录配置必须在小写中带有监听前缀和 SASL 机制名称前缀。For example, listener.name.sasl_ssl.scram-sha-256.sasl.login.class=com.example.CustomScramLogin.

sasl.mechanism

Type: string
Default: GSSAPI
Importance: medium

用于客户端连接的 SASL 机制。这可能是提供安全提供程序的任何机制。GSSAPI 是默认机制。

sasl.oauthbearer.jwks.endpoint.url

Type: string
Default: null
Importance: medium

可以从中检索供应商的 JWKS (JSON Web Key Set) 的 OAuth/OIDC 供应商 URL。URL 可以是基于 HTTP (S)或基于文件的 URL。如果 URL 基于 HTTP (S),则 JWKS 数据将通过代理启动时配置的 URL 从 OAuth/OIDC 供应商中检索。所有 then-current 密钥都将缓存在代理上以进行传入请求。如果为 JWT 收到了身份验证请求,其中包含缓存中尚未在缓存中的"kid"标头声明值,则将根据需要再次查询 JWKS 端点。但是,代理会轮询每个 sasl.oauthbearer.jwks.endpoint.refresh.ms 毫秒的 URL,以便在收到包含这些密钥的任何 JWT 请求前刷新缓存。如果 URL 基于文件,代理将在启动时从配置的位置加载 JWKS 文件。如果 JWT 包含没有在 JWKS 文件中的 "kid" 标头值,代理将拒绝 JWT 并且身份验证将失败。

sasl.oauthbearer.token.endpoint.url

Type: string
Default: null
Importance: medium

OAuth/OIDC 身份提供程序的 URL。如果 URL 基于 HTTP (S),这是签发者的令牌端点 URL,其请求将根据 sasl.jaas.config 中的配置登录。如果 URL 基于文件,它指定一个包含由 OAuth/OIDC 身份提供程序发布的访问令牌( JWT 序列化形式)的文件,以用于授权。

security.protocol

Type: string
Default: PLAINTEXT
Valid Values: (case insensitive)[SASL_SSL, PLAINTEXT, SSL, SASL_PLAINTEXT]
Importance: medium

用于与代理通信的协议。有效值为: PLAINTEXT, SSL, SASL_PLAINTEXT, SASL_SSL。

send.buffer.bytes

type: int
Default: 131072 (128 kibibytes)
Valid Values: [-1,…​]
Importance: medium

发送数据时要使用的 TCP 发送缓冲区(SO_SNDBUF)的大小。如果值为 -1,则使用操作系统默认值。

socket.connection.setup.timeout.max.ms

type: long
Default: 30000 (30 秒)
Importance: medium

客户端等待套接字连接建立的最大时间。当每个连续连接失败时,连接设置超时会达到这个最大值。为避免连接差异,将把一个随机化因值应用于超时,导致计算值高于 20% 的随机范围。

socket.connection.setup.timeout.ms

type: long
Default: 10000 (10 seconds)
Importance: medium

客户端等待套接字连接建立的时间长度。如果在超时时间前没有构建连接,客户端将关闭套接字频道。这个值是初始 backoff 值,每个连续连接失败都会按指数增加,最高为 socket.connection.setup.timeout.max.ms 值。

ssl.enabled.protocols

type: list
Default: TLSv1.2,TLSv1.3
Importance: medium

为 SSL 连接启用的协议列表。在使用 Java 11 或更新版本时,默认为 'TLSv1.2,TLSv1.3',否则 'TLSv1.2'。使用 Java 11 的默认值,如果客户端和服务器同时支持 TLSv1.3,则客户端和服务器将首选 TLSv1.3,否则将回退到 TLSv1.2(假设两者都至少支持 TLSv1.2)。对于大多数情况,这个默认值应该可以正常工作。另请参阅 ssl.protocol 的配置文档。

ssl.keystore.type

Type: string
Default: JKS
Importance: medium

密钥存储文件的文件格式。这对客户端是可选的。默认 ssl.engine.factory.class 当前支持的值为 [JKS、PKCS12、PEM]。

ssl.protocol

type: string
Default: TLSv1.3
Importance: medium

用于生成 SSLContext 的 SSL 协议。使用 Java 11 或更新版本运行时,默认为 'TLSv1.3',否则 'TLSv1.2'。对于大多数用例,这个值应该可以正常工作。最近的 JVM 中允许的值为 'TLSv1.2' 和 'TLSv1.3'。旧的 JVM 可以支持 'TLS', 'TLSv1.1', 'SSLv2', 'SSLv2' 和 'SSLv3',但由于已知的安全漏洞,不建议使用它们。使用这个配置和 'ssl.enabled.protocols' 的默认值,如果服务器不支持 'TLSv1.3',客户端将降级为 'TLSv1.2'。如果此配置被设置为 'TLSv1.2',客户端将不会使用 'TLSv1.3',即使它是 ssl.enabled.protocols 中的值之一,服务器只支持 'TLSv1.3'。

ssl.provider

Type: string
Default: null
Importance: medium

用于 SSL 连接的安全供应商的名称。默认值是 JVM 的默认安全提供程序。

ssl.truststore.type

Type: string
Default: JKS
Importance: medium

信任存储文件的文件格式。默认 ssl.engine.factory.class 当前支持的值为 [JKS、PKCS12、PEM]。

auto.commit.interval.ms

Type: int
Default: 5000 (5 seconds)
Valid Values: [0,…​]
Importance: low

如果 enable.auto.commit 设置为 true,则消费者偏移的频率(以毫秒为单位)。

auto.include.jmx.reporter

Type: boolean
Default: true
Importance: low

已弃用。是否自动包含 JmxReporter,即使它在 metric.reporters 中未列出。此配置将在 Kafka 4.0 中删除,用户应在 metric.reporters 中包含 org.apache.kafka.common.metrics.JmxReporter,以启用 JmxReporter。

check.crcs

Type: boolean
Default: true
Importance: low

自动检查消耗的记录的 CRC32。这样可确保不会发生对消息进行 on-wire 或 on-disk 崩溃。此检查增加了一些开销,因此在寻求极佳性能的情况下可能会禁用它。

client.id

Type: string
Default: ""
Importance: low

在发出请求时传递给服务器的 id 字符串。这样做的目的是通过允许逻辑应用程序名称包含在服务器端请求日志记录中,从而跟踪除 ip/port 以外的请求源。

client.rack

Type: string
Default: ""
Importance: low

此客户端的机架标识符。这可以是任何字符串值,这表示此客户端物理位置。它与代理配置 'broker.rack' 对应。

enable.metrics.push

Type: boolean
Default: true
Importance: low

是否启用将客户端指标推送到集群,如果集群具有与此客户端匹配的客户端指标订阅。

fetch.max.wait.ms

Type: int
Default: 500
Valid Values: [0,…​]
Importance: low

如果没有足够的数据立即满足 fetch.min.bytes 提供的要求,服务器将在回答获取请求前阻断的最大时间。

interceptor.classes

type: list
Default: ""
Valid Values: non-null string
Importance: low

用作拦截器的类列表。通过实施 org.apache.kafka.clients.consumer.ConsumerInterceptor 接口,您可以截获(并可能修改)消费者收到的记录。默认情况下,没有拦截器。

metadata.max.age.ms

Type: long
Default: 300000 (5 minutes)
Valid Values: [0,…​]
Importance: low

即使我们未看到任何分区领导力更改来主动发现任何新的代理或分区,我们才会强制刷新元数据的时间(以毫秒为单位)。

metric.reporters

type: list
Default: ""
Valid Values: non-null string
Importance: low

用作指标报告器的类列表。实施 org.apache.kafka.common.metrics.MetricsReporter 接口,允许插入将收到新指标创建通知的类。总是包括 JmxReporter 来注册 JMX 统计信息。

metrics.num.samples

type: int
Default: 2
Valid Values: [1,…​]
Importance: low

为计算指标维护的示例数量。

metrics.recording.level

Type: string
Default: INFO
Valid Values: [INFO, DEBUG, TRACE]
Importance: low

指标的最高记录级别。

metrics.sample.window.ms

type: long
Default: 30000 (30 秒)
Valid Values: [0,…​]
Importance: low

计算指标示例的时间窗口。

reconnect.backoff.max.ms

type: long
Default: 1000 (1 second)
Valid Values: [0,…​]
Importance: low

重新连接到重复连接失败的代理时等待的最大时间(以毫秒为单位)。如果提供,每个主机的 backoff 将为每个连续的连接失败指数增加,直到最高值。在计算 backoff 增长后,添加了 20% 的随机 jitter,以避免连接状况。

reconnect.backoff.ms

type: long
Default: 50
Valid Values: [0,…​]
Importance: low

尝试重新连接到给定主机前等待的基本时间。这可避免在紧密循环中重复连接到主机。此 backoff 应用到客户端到代理的所有连接尝试。这个值是初始 backoff 值,并为每个连续连接失败指数增加,最高为 reconnect.backoff.max.ms 值。

retry.backoff.max.ms

type: long
Default: 1000 (1 second)
Valid Values: [0,…​]
Importance: low

当重试请求重复失败的代理时,等待的最大时间(毫秒)。如果提供,每个客户端将为每个失败请求按指数增加 backoff,直到达到这个最大值。要防止所有客户端在重试时同步,一个随机的 jitter 会被应用到 backoff,从而导致 backoff 在以下 20 到 20% 之间的范围内,超过计算值。如果将 retry.backoff.ms 设置为大于 retry.backoff.max.ms,则 retry.backoff.max.ms 将用作开始的常量 backoff,而不会增加任何指数增加。

retry.backoff.ms

Type: long
Default: 100
Valid Values: [0,…​]
Importance: low

尝试重试对给定主题分区失败的请求前等待的时间。这可避免在某些故障场景中的紧密循环中重复发送请求。这个值是初始 backoff 值,每个失败请求都会按指数增加,最多为 retry.backoff.max.ms 值。

sasl.kerberos.kinit.cmd

type: string
Default: /usr/bin/kinit
Importance: low

Kerberos kinit 命令路径。

sasl.kerberos.min.time.before.relogin

Type: long
Default: 60000
Importance: low

刷新尝试之间的登录线程睡眠时间。

sasl.kerberos.ticket.renew.jitter

type: double
Default: 0.05
Importance: low

添加到续订时间的随机 jitter 的百分比。

sasl.kerberos.ticket.renew.window.factor

Type: double
Default: 0.8
Importance: low

登录线程将处于睡眠状态,直到达到最后一次刷新到票据到期的时间因素前处于睡眠状态,此时将尝试续订票据。

sasl.login.connect.timeout.ms

type: int
Default: null
Importance: low

(可选)外部身份验证供应商连接超时的值(以毫秒为单位)。目前仅适用于 OAUTHBEARER。

sasl.login.read.timeout.ms

type: int
Default: null
Importance: low

(可选)外部身份验证供应商读取超时的值(以毫秒为单位)。目前仅适用于 OAUTHBEARER。

sasl.login.refresh.buffer.seconds

Type: short
Default: 300
Valid Values: [0,…​,3600]
Importance: low

在刷新凭证时凭证过期前的缓冲时间(以秒为单位)。如果刷新情况比缓冲区秒数接近过期,则刷新将移动,以尽可能多地维护缓冲区时间。法律值介于 0 到 3600 (1 小时)之间;如果没有指定值,则使用默认值 300 (5 分钟)。如果这个值和 sasl.login.refresh.min.period.seconds 超过了凭证剩余的生命周期,则忽略这个值。目前仅适用于 OAUTHBEARER。

sasl.login.refresh.min.period.seconds

Type: short
Default: 60
Valid Values: [0,…​,900]
Importance: low

登录刷新线程在刷新凭证前等待的时间(以秒为单位)。法律值介于 0 到 900 (15 分钟)之间;如果没有指定值,则使用默认值 60 (1 分钟)。如果这个值和 sasl.login.refresh.buffer.seconds 都会被忽略,如果它们的总和超过凭证的剩余生命周期。目前仅适用于 OAUTHBEARER。

sasl.login.refresh.window.factor

type: double
Default: 0.8
Valid Values: [0.5,…​,1.0]
Importance: low

登录刷新线程将休眠到与凭证生命周期相关的指定窗口因素,此时将尝试刷新凭证。法律值介于 0.5 (50%)和 1.0 (100%)之间,如果没有指定值,则使用默认值 0.8 (80%)。目前仅适用于 OAUTHBEARER。

sasl.login.refresh.window.jitter

type: double
Default: 0.05
Valid Values: [0.0,…​,0.25]
Importance: low

与凭证的生命周期相关的最大随机 jitter 量添加到登录刷新线程的睡眠时间中。法律值介于 0 到 0.25(25%)之间,如果没有指定值,则使用默认值 0.05(5%)。目前仅适用于 OAUTHBEARER。

sasl.login.retry.backoff.max.ms

type: long
Default: 10000 (10 seconds)
Importance: low

(可选)登录尝试外部身份验证提供程序之间等待的最大等待值(以毫秒为单位)。登录使用基于 sasl.login.retry.backoff.ms 设置的初始等待的指数 backoff 算法,并在尝试到 sasl.login.retry.backoff.max.ms 设置指定的最大等待长度之间加倍。目前仅适用于 OAUTHBEARER。

sasl.login.retry.backoff.ms

Type: long
Default: 100
Importance: low

(可选)登录尝试外部身份验证提供程序期间初始等待的值(以毫秒为单位)。登录使用基于 sasl.login.retry.backoff.ms 设置的初始等待的指数 backoff 算法,并在尝试到 sasl.login.retry.backoff.max.ms 设置指定的最大等待长度之间加倍。目前仅适用于 OAUTHBEARER。

sasl.oauthbearer.clock.skew.seconds

Type: int
Default: 30
Importance: low

(可选)值(以秒为单位),允许 OAuth/OIDC 身份提供程序和代理间的差别。

sasl.oauthbearer.expected.audience

Type: list
Default: null
Importance: low

(可选)代理用逗号分隔的设置来验证是否已为其中一个预期的受众发出 JWT。JWT 将检查是否有标准的 OAuth "aud" 声明,如果设置了这个值,代理将与 JWT 的"aud"声明中的值匹配,以查看是否有完全匹配。如果没有匹配项,代理将拒绝 JWT,身份验证将失败。

sasl.oauthbearer.expected.issuer

Type: string
Default: null
Importance: low

代理的 (可选)用于验证 JWT 是否已由预期签发者创建的(可选)设置。JWT 将检查是否有标准 OAuth "iss" 声明,如果设置了这个值,代理会完全匹配 JWT 的"iss"声明中的内容。如果没有匹配项,代理将拒绝 JWT,身份验证将失败。

sasl.oauthbearer.jwks.endpoint.refresh.ms

Type: long
Default: 3600000 (1 hour)
Importance: low

(可选)代理在刷新其 JWKS (JSON Web Key Set)缓存之间等待的值,其中包含键以验证 JWT 的签名。

sasl.oauthbearer.jwks.endpoint.retry.backoff.max.ms

type: long
Default: 10000 (10 seconds)
Importance: low

(可选)尝试从外部身份验证提供程序检索 JWKS (JSON Web Key Set)之间的最大等待值(以毫秒为单位)。JWKS 检索使用基于 sasl.oauthbearer.jwks.endpoint.retry.backoff.ms 设置的初始等待算法的指数 backoff 算法,并在尝试到 sasl.oauthbearer.jwks.endpoint.retry.backoff.max.ms 设置所指定的最大等待长度之间加倍。

sasl.oauthbearer.jwks.endpoint.retry.backoff.ms

Type: long
Default: 100
Importance: low

(可选)在 JWKS (JSON Web Key Set)检索外部身份验证提供程序尝试时的初始等待值(以毫秒为单位)。JWKS 检索使用基于 sasl.oauthbearer.jwks.endpoint.retry.backoff.ms 设置的初始等待算法的指数 backoff 算法,并在尝试到 sasl.oauthbearer.jwks.endpoint.retry.backoff.max.ms 设置所指定的最大等待长度之间加倍。

sasl.oauthbearer.scope.claim.name

Type: string
Default: scope
Importance: low

范围的 OAuth 声明通常命名为 "scope",但如果 OAuth/OIDC 供应商为该声明使用不同的名称,则此(可选)设置可以提供用于 JWT 有效负载声明中包含的范围的名称。

sasl.oauthbearer.sub.claim.name

Type: string
Default: sub
Importance: low

该主题的 OAuth 声明通常命名为 "sub",但如果 OAuth/OIDC 供应商为该声明使用不同的名称,则此(可选)设置可以为 JWT 有效负载的声明中包含的主题提供不同的名称。

security.providers

Type: string
Default: null
Importance: low

每个返回供应商实施安全算法的可配置创建者类列表。这些类应实施 org.apache.kafka.common.security.auth.SecurityProviderCreator 接口。

ssl.cipher.suites

Type: list
Default: null
Importance: low

密码套件列表。这是用来使用 TLS 或 SSL 网络协议协商网络连接的安全设置的身份验证、加密、MAC 和密钥交换算法的命名组合。默认情况下,支持所有可用的密码套件。

ssl.endpoint.identification.algorithm

Type: string
Default: https
Importance: low

使用服务器证书验证服务器主机名的端点标识算法。

ssl.engine.factory.class

Type: class
Default: null
Importance: low

org.apache.kafka.common.security.auth.SslEngineFactory 类型的类提供 SSLEngine 对象。默认值为 org.apache.kafka.common.security.ssl.DefaultSslEngineFactory。或者,将其设置为 org.apache.kafka.common.security.ssl.CommonNameLoggingSslEngineFactory 将记录客户端用于与日志级别 INFO 的任何代理进行身份验证的通用 SSL 证书名称。请注意,由于检查客户端提供的证书链,这会在建立从 mTLS 客户端到代理的新连接时造成小延迟。请注意,该实施还使用基于标准 Java 信任存储的自定义信任存储,因此由于标准版本不成熟,因此可能会被视为安全风险。

ssl.keymanager.algorithm

Type: string
Default: SunX509
Importance: low

密钥管理器工厂用于 SSL 连接的算法。默认值是为 Java 虚拟机配置的密钥管理器工厂算法。

ssl.secure.random.implementation

Type: string
Default: null
Importance: low

用于 SSL 加密操作的 SecureRandom PRNG 实施。

ssl.trustmanager.algorithm

Type: string
Default: PKIX
Importance: low

信任管理器工厂用于 SSL 连接的算法。默认值是为 Java 虚拟机配置的信任管理器工厂算法。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.