第 3 章 消费者配置属性
key.deserializertype: class
Importance: high
实施
org.apache.kafka.common.serialization.Deserializer接口的密钥的反序列化类。value.deserializertype: class
Importance: high
deserializer 类用于实施
org.apache.kafka.common.serialization.Deserializer接口的值。bootstrap.serverstype: list
Default: ""
Valid Values: non-null string
Importance: high
用于建立到 Kafka 集群的初始连接的主机/端口对列表。客户端将使用此处指定的服务器的所有服务器进行引导 - 此列表仅影响用于发现整套服务器的初始主机。此列表应该采用
host1:port1,host2:port2,…的形式。由于这些服务器仅用于初始连接来发现完整的群集成员(这可能会动态更改),此列表不需要包含完整的服务器集合(但在服务器停机的情况下可能需要多个服务器)。fetch.min.bytestype: int
Default: 1
Valid Values: [0,…]
Importance: high
服务器应该为获取请求返回的最小数据量。如果数据不足,请求将在回答请求之前等待大量数据。默认设置为 1 字节表示,当单个字节数据可用或获取请求超时等待数据到达时,会马上处理获取请求。把它设置为大于 1 的某些内容将导致服务器等待大量数据累积,这会以一些额外的延迟的成本提高服务器吞吐量。
group.idType: string
Default: null
Importance: high
标识此消费者所属的消费者组的唯一字符串。如果消费者使用 subscription
(topic)或基于 Kafka 的偏移管理策略,则需要此属性。heartbeat.interval.msType: int
Default: 3000 (3 秒)
Importance: high
使用 Kafka 的组管理功能时,心跳到消费者协调器之间的预期时间。心跳用于确保消费者的会话保持活跃状态,并在新消费者加入或离开组时进行重新平衡。该值必须小于
session.timeout.ms,但设置的值通常不应超过这个值的 1/3。它甚至可以降低以控制正常重新平衡的预期时间。max.partition.fetch.bytestype: 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.msType: int
Default: 45000 (45 秒)
Importance: high
使用 Kafka 组管理功能时用于检测客户端故障的超时。客户端发送定期心跳以指明其存活度到代理。如果在此会话超时前代理没有接收心跳,则代理将从组中删除此客户端并启动重新平衡。请注意,该值必须在允许范围内,由
group.min.session.timeout.ms和group.max.session.timeout.ms进行配置。ssl.key.passwordType: password
Default: null
Importance: high
密钥存储文件或 'ssl.keystore.key' 中指定的 PEM 密钥中的私钥密码。
ssl.keystore.certificate.chainType: password
Default: null
Importance: high
使用由 'ssl.keystore.type" 指定的格式的证书链。默认 SSL 引擎工厂只支持带有 X.509 证书列表的 PEM 格式。
ssl.keystore.keyType: password
Default: null
Importance: high
使用 'ssl.keystore.type" 指定的格式的私钥。默认 SSL 引擎工厂只支持带有 PKCS#8 密钥的 PEM 格式。如果密钥加密,则必须使用 'ssl.key.password' 指定密钥密码。
ssl.keystore.locationType: string
Default: null
Importance: high
密钥存储文件的位置。这是可选的,可用于客户端双向身份验证。
ssl.keystore.passwordType: password
Default: null
Importance: high
密钥存储文件的存储密码。这适用于客户端,只有在配置了 'ssl.keystore.location' 时才需要。PEM 格式不支持密钥存储密码。
ssl.truststore.certificatesType: password
Default: null
Importance: high
可信证书,格式为 'ssl.truststore.type'。默认 SSL 引擎工厂仅支持使用 X.509 证书使用 PEM 格式。
ssl.truststore.locationType: string
Default: null
Importance: high
信任存储文件的位置。
ssl.truststore.passwordType: password
Default: null
Importance: high
信任存储文件的密码。如果没有设置密码,则仍将使用配置的信任存储文件,但会禁用完整性检查。PEM 格式不支持信任存储密码。
allow.auto.create.topicsType: boolean
Default: true
Importance: medium
当订阅或分配主题时,允许在代理上自动创建主题。只有在代理允许使用
auto.create.topics.enable代理配置时,才会自动创建订阅的主题。当使用早于 0.11.0 的代理时,此配置必须设为false。auto.offset.resettype: string
Default: latest
Valid Values: [latest, earliest, none]
Importance: medium
Kafka 中没有初始偏移,或者当前偏移没有在服务器上(例如,因为删除了数据)时,应该做什么:
- earliest:自动将偏移重置为最早的偏移量
- latest :自动将偏移重置为最新的偏移量
- none :为消费者的组找不到以前的偏移时,向消费者抛出异常
- 其它内容:向消费者抛出异常。
client.dns.lookuptype: 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.msType: long
Default: 540000 (9 分钟)
Importance: medium
在此配置指定的毫秒数后关闭闲置连接。
default.api.timeout.mstype: int
Default: 60000 (1 minute)
Valid Values: [0,…]
Importance: medium
指定客户端 API 的超时时间(以毫秒为单位)。此配置用作没有指定
timeout参数的所有客户端操作的默认超时时间。enable.auto.commitType: boolean
Default: true
Importance: medium
如果为 true,使用者偏移将定期在后台提交。
exclude.internal.topicsType: boolean
Default: true
Importance: medium
订阅中排除了与订阅模式匹配的内部主题。始终可以显式订阅一个内部主题。
fetch.max.bytestype: int
Default: 52428800 (50 mebibytes)
Valid Values: [0,…]
Importance: medium
服务器为获取请求返回的最大数据量。记录由消费者批量获取,如果获取的第一个非空分区中的第一个记录批处理大于这个值,则记录批处理仍会返回,以确保消费者能够进行进度。因此,这不是绝对的最大值。代理接受的最大记录批处理大小通过
message.max.bytes(broker config)或max.message.bytes(topic config)定义。请注意,消费者并行执行多个获取。group.instance.idtype: string
Default: null
Valid Values: non-empty string
Importance: medium
最终用户提供的使用者实例的唯一标识符。仅允许非空字符串。如果设置,使用者将被视为静态成员,这意味着任何消费者组中只允许具有此 ID 的一个实例。这可以与更大的会话超时结合使用,以避免由临时不可用(如进程重启)导致的组重新平衡。如果没有设置,使用者将作为动态成员加入组,这是传统的行为。
isolation.leveltype: 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),即小于第一个打开事务偏移偏移的偏移值。特别是任何属于持续事务的消息后,直到相关的事务完成为止。因此,当进行 Iflight 事务时,read_committed用户将无法读取到高水位线。Further, when in `read_committed` the seekToEnd method will return the LSO .
Further, when in `read_committed` the seekToEnd method will return the LSO .Copy to Clipboard Copied! Toggle word wrap Toggle overflow max.poll.interval.mstype: int
Default: 300000 (5 minutes)
Valid Values: [1,…]
Importance: medium
使用消费者组管理时轮询()调用之间的最大延迟。这会在获取更多记录前,在消费者闲置的时间上绑定上。如果在此超时过期之前没有调用 poll (),那么消费者将被视为失败,并且组将重新平衡,以便将分区重新分配给另一个成员。对于使用达到此超时的非null
group.instance.id的用户,不会立即重新分配分区。相反,消费者会在session.timeout.ms过期后再重新分配发送心跳和分区。这会镜像已关闭的静态使用者的行为。max.poll.recordstype: int
Default: 500
Valid Values: [1,…]
Importance: medium
在要 poll ()的单个调用中返回的最大记录数。请注意,
max.poll.records不会影响底层获取行为。消费者将缓存来自每个获取请求的记录,并以递增方式从每个轮询返回它们。partition.assignment.strategytype: list
Default: class org.apache.kafka.clients.consumer.RangeAssignor,class org.apache.kafka.clients.consumer.CorphanStickyAssignor
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 same StickyAssignor 逻辑,但允许合作重新平衡。默认分配器为 [RangeAssignor,CooperativeStickyAssignor],它将默认使用 RangeAssignor,但允许升级到 CooperativeStickyAssignor,只有一个滚动禁止从列表中删除 RangeAssignor。
通过实施
org.apache.kafka.clients.consumer.ConsumerPartitionAssignor接口,您可以插入自定义分配策略。
-
receive.buffer.bytestype: int
Default: 65536 (64 kibibytes)
Valid Values: [-1,…]
Importance: medium
读取数据时使用的 TCP 接收缓冲区的大小(SO_RCVBUF)。如果值为 -1,则会使用 OS 默认值。
request.timeout.mstype: int
Default: 30000 (30 seconds)
Valid Values: [0,…]
Importance: medium
配置控制客户端等待请求响应的最长时间。如果响应在超时前收到,客户端会在必要时重新发送请求,或者在重试已耗尽时失败请求。
sasl.client.callback.handler.classType: class
Default: null
Importance: medium
实现 AuthenticateCallbackHandler 接口的 SASL 客户端回调处理器类的完全限定名称。
sasl.jaas.configType: 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;.sasl.kerberos.service.nameType: string
Default: null
Importance: medium
Kafka 运行的 Kerberos 主体名称。这可以在 Kafka 的 JAAS 配置或 Kafka 配置中定义。
sasl.login.callback.handler.classType: 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.classType: class
Default: null
Importance: medium
实现 Login 接口的类的完全限定名称。对于代理,登录配置必须在小写中带有监听前缀和 SASL 机制名称前缀。For example, listener.name.sasl_ssl.scram-sha-256.sasl.login.class=com.example.CustomScramLogin.
sasl.mechanismtype: string
Default: GSSAPI
Importance: medium
用于客户端连接的 SASL 机制。这可能是提供安全提供程序的任何机制。GSSAPI 是默认机制。
sasl.oauthbearer.jwks.endpoint.urlType: 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.urlType: string
Default: null
Importance: medium
OAuth/OIDC 身份提供程序的 URL。如果 URL 基于 HTTP (S),则它是签发者的令牌端点 URL,请求将根据 sasl.jaas.config 中的配置登录。如果 URL 基于文件,它指定一个包含由 OAuth/OIDC 身份提供程序发布的访问令牌(在 JWT 序列化形式)的文件,以用于授权。
security.protocolType: string
Default: PLAINTEXT
Valid Values: [PLAINTEXT, SSL, SASL_PLAINTEXT, SASL_SSL]
Importance: medium
用于与代理通信的协议。有效值为: PLAINTEXT, SSL, SASL_PLAINTEXT, SASL_SSL.
send.buffer.bytestype: int
Default: 131072 (128 kibibytes)
Valid Values: [-1,…]
Importance: medium
在发送数据时使用的 TCP 发送缓冲区的大小(SO_SNDBUF)。如果值为 -1,则会使用 OS 默认值。
socket.connection.setup.timeout.max.msType: long
Default: 30000 (30 秒)
Importance: medium
客户端将等待套接字连接建立的最长时间。对于每个连续连接失败,连接设置超时将以指数级增长到此最大值。为避免连接失败,0.2 的随机因素将应用于超时,导致在计算值高于计算值的 20% 到 20% 之间的随机范围。
socket.connection.setup.timeout.msType: long
Default: 10000 (10 秒)
Importance: medium
客户端将等待套接字连接建立的时间。如果在超时前没有构建连接,客户端将关闭套接字频道。
ssl.enabled.protocolstype: list
Default: TLSv1.2,TLSv1.3
Importance: medium
为 SSL 连接启用的协议列表。使用 Java 11 或更高版本 'TLSv1.2' 运行时,默认为 'TLSv1.2'。使用 Java 11 的默认值,如果客户端和服务器同时支持 TLSv1.3,则客户端和服务器将首选 TLSv1.3,否则将回退到 TLSv1.2(假设两者都至少支持 TLSv1.2)。这个默认值对于大多数情况来说应该可以正常工作。另请参阅
ssl.protocol的配置文档。ssl.keystore.typetype: string
Default: JKS
Importance: medium
密钥存储文件的文件格式。这对客户端是可选的。默认
ssl.engine.factory.class目前支持的值是 [JKS, PKCS12, PEM]。ssl.protocoltype: string
Default: TLSv1.3
Importance: medium
用于生成 SSLContext 的 SSL 协议。使用 Java 11 或更高版本 'TLSv1.2' 运行时,默认为 'TLSv1.3'。这个值应该适用于大多数用例。最近的 JVM 中的允许值为 'TLSv1.2' 和 'TLSv1.3'。'TLS', 'TLSv1.1', 'SSL', 'SSLv2' 和 'SSLv3' 可能在较旧的 JVM 中被支持,但由于已知的安全漏洞,不建议使用它们的使用。使用这个配置和 'ssl.enabled.protocols' 的默认值,如果服务器不支持 'TLSv1.3',客户端将降级为 'TLSv1.2'。如果此配置被设置为 'TLSv1.2',则客户端将不会使用 'TLSv1.3',即使它是 ssl.enabled.protocols 中的一个值,且服务器只支持 'TLSv1.3'。
ssl.providerType: string
Default: null
Importance: medium
用于 SSL 连接的安全提供程序的名称。默认值为 JVM 的默认安全提供程序。
ssl.truststore.typetype: string
Default: JKS
Importance: medium
信任存储文件的文件格式。默认
ssl.engine.factory.class目前支持的值是 [JKS, PKCS12, PEM]。auto.commit.interval.mstype: int
Default: 5000 (5 秒)
Valid Values: [0,…]
Importance: low
如果
enable.auto.commit设为true,则使用者偏移的频率(毫秒)自动提交为 Kafka。auto.include.jmx.reporterType: boolean
Default: true
Importance: low
已弃用。即使没有在
metric.reporters中列出,也自动包含 JmxReporter。此配置将在 Kafka 4.0 中删除,用户应改为将org.apache.kafka.common.metrics.JmxReporter包含在metric.reporters中,以便启用 JmxReporter。check.crcsType: boolean
Default: true
Importance: low
自动检查已使用的记录的 CRC32。这样可确保发生消息的在线或磁盘损坏。此检查添加了一些开销,因此在寻求极端性能的情况下可能会禁用它。
client.idtype: string
Default: ""
Importance: low
在发出请求时传递给服务器的 id 字符串。这样做的目的是通过允许将逻辑应用程序名称包含在服务器端请求日志中来跟踪超过 ip/port 的请求源。
client.racktype: string
Default: ""
Importance: low
此客户端的机架标识符。这可以是任何字符串值,指示此客户端物理位置。它与代理配置 'broker.rack' 对应。
fetch.max.wait.mstype: int
Default: 500
Valid Values: [0,…]
Importance: low
如果没有足够的数据来立即满足 fetch.min.bytes 给出的要求,服务器在回答获取请求前将阻止的最大时间。
interceptor.classestype: list
Default: ""
Valid Values: non-null string
Importance: low
用作拦截器的类列表。通过实施
org.apache.kafka.clients.consumer.ConsumerInterceptor接口,您可以拦截(可能)消费者收到的记录。默认情况下,没有拦截器。metadata.max.age.msType: long
Default: 300000 (5 minutes)
Valid Values: [0,…]
Importance: low
以毫秒为单位的时间,我们强制刷新元数据,即使我们未看到任何分区领导更改来主动发现任何新的代理或分区。
metric.reporterstype: list
Default: ""
Valid Values: non-null string
Importance: low
用作指标报告器的类列表。通过实施
org.apache.kafka.common.metrics.MetricsReporter接口,可以插入新指标创建通知的类。JmxReporter 始终包含在注册 JMX 统计数据中。metrics.num.samplestype: int
Default: 2
Valid Values: [1,…]
Importance: low
维护到计算指标的示例数量。
metrics.recording.leveltype: string
Default: INFO
Valid Values: [INFO, DEBUG, TRACE]
Importance: low
指标的最高记录级别。
metrics.sample.window.msType: long
Default: 30000 (30 seconds)
Valid Values: [0,…]
Importance: low
计算指标示例的时间窗口。
reconnect.backoff.max.msType: long
Default: 1000 (1 second)
Valid Values: [0,…]
Importance: low
当重新连接到重复连接失败的代理时,需要等待的最大时间(毫秒)。如果提供,每个主机的 backoff 将为每个连续的连接失败指数增加,直到最高值。在计算 backoff 增长后,会添加 20% 随机的 jitter 以避免连接 storms。
reconnect.backoff.msType: long
Default: 50
Valid Values: [0,…]
Importance: low
尝试重新连接到给定主机前需要等待的基本时间。这可避免在紧张循环中重复连接到主机。这个 backoff 适用于客户端到代理的所有连接尝试。
retry.backoff.msType: long
Default: 100
Valid Values: [0,…]
Importance: low
尝试重试失败的请求到给定主题分区前等待的时间。这可避免在某些故障情况下在严格的循环中重复发送请求。
sasl.kerberos.kinit.cmdtype: string
Default: /usr/bin/kinit
Importance: low
Kerberos kinit 命令路径。
sasl.kerberos.min.time.before.reloginType: long
Default: 60000
Importance: low
刷新尝试之间的登录线程睡眠时间。
sasl.kerberos.ticket.renew.jitterType: double
Default: 0.05
Importance: low
添加到续订时间的随机 jitter 百分比。
sasl.kerberos.ticket.renew.window.factorType: double
Default: 0.8
Importance: low
登录线程会处于睡眠状态,直到最后一次刷新到票据到期时间的指定窗口因子被达到,此时它将尝试续订票据。
sasl.login.connect.timeout.msType: int
Default: null
Importance: low
(可选)外部身份验证供应商连接超时的值(以毫秒为单位)。目前仅适用于 OAUTHBEARER。
sasl.login.read.timeout.msType: int
Default: null
Importance: low
(可选)外部身份验证提供程序读取超时的值(以毫秒为单位)。目前仅适用于 OAUTHBEARER。
sasl.login.refresh.buffer.secondsType: 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.secondsType: short
Default: 60
Valid Values: [0,…,900]
Importance: low
在刷新凭证前,登录刷新线程需要最少的时间(以秒为单位)。法律值介于 0 到 900 (15 分钟);如果没有指定值,则使用默认值 60 (1 分钟)。如果其总和超过凭证的剩余生命周期,则这个值和 sasl.login.refresh.buffer.seconds 都会被忽略。目前仅适用于 OAUTHBEARER。
sasl.login.refresh.window.factorType: 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.jitterType: 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.msType: long
Default: 10000 (10 秒)
Importance: low
(可选)值(可选)值,以毫秒为单位,登录尝试外部身份验证提供程序之间的最长等待时间。login 使用基于 sasl.login.retry.backoff.ms 设置的初始等待时间的 exponential backoff 算法,并在尝试通过 sasl.login.retry.backoff.max.ms 设置指定的最大等待长度之间以等待长度加倍。目前仅适用于 OAUTHBEARER。
sasl.login.retry.backoff.msType: long
Default: 100
Importance: low
(可选)值(可选)值,以毫秒为单位,用于登录尝试外部身份验证提供程序之间的初始等待。login 使用基于 sasl.login.retry.backoff.ms 设置的初始等待时间的 exponential backoff 算法,并在尝试通过 sasl.login.retry.backoff.max.ms 设置指定的最大等待长度之间以等待长度加倍。目前仅适用于 OAUTHBEARER。
sasl.oauthbearer.clock.skew.secondsType: int
Default: 30
Importance: low
(可选)值(以秒为单位)允许 OAuth/OIDC 身份提供程序和代理的时间之间的区别。
sasl.oauthbearer.expected.audiencetype: list
Default: null
Importance: low
(可选)代理的以逗号分隔的设置,用于验证为预期受众之一发布的 JWT。JWT 将检查是否有标准的 OAuth "aud" 声明,如果设置了这个值,代理将匹配 JWT 的"aud"声明中的值,以查看是否有完全匹配。如果没有匹配项,代理将拒绝 JWT,身份验证将失败。
sasl.oauthbearer.expected.issuerType: string
Default: null
Importance: low
(可选)代理用于验证 JWT 是由预期签发者创建的。JWT 将检查是否有标准的 OAuth"iss"声明,如果设置了这个值,代理将完全与 JWT 的"iss"声明中的内容匹配。如果没有匹配项,代理将拒绝 JWT,身份验证将失败。
sasl.oauthbearer.jwks.endpoint.refresh.msType: long
Default: 3600000 (1 小时)
Importance: low
(可选)值(可选)代理在刷新其 JWKS (JSON Web Key Set)缓存之间等待的时间(以毫秒为单位),其中包含验证 JWT 签名的密钥。
sasl.oauthbearer.jwks.endpoint.retry.backoff.max.msType: long
Default: 10000 (10 秒)
Importance: low
(可选)值(可选)值(以毫秒为单位),尝试从外部身份验证供应商检索 JWKS (JSON Web Key Set)之间的最长等待时间。JWKS 检索使用基于 sasl.oauthbearer.jwks.endpoint.retry.backoff.ms 设置的初始等待时间,在尝试达到由 sasl.oauthbearer.jwks.endpoint.retry.backoff.max.ms 设置指定的最大等待长度之间会重复等待长度。
sasl.oauthbearer.jwks.endpoint.retry.backoff.msType: long
Default: 100
Importance: low
(可选)值(可选)值,以毫秒为单位,用于来自外部身份验证提供程序的 JWKS (JSON Web Key Set)检索尝试。JWKS 检索使用基于 sasl.oauthbearer.jwks.endpoint.retry.backoff.ms 设置的初始等待时间,在尝试达到由 sasl.oauthbearer.jwks.endpoint.retry.backoff.max.ms 设置指定的最大等待长度之间会重复等待长度。
sasl.oauthbearer.scope.claim.nametype: string
Default: scope
Importance: low
范围的 OAuth 声明通常命名为"scope",但这(可选)设置可以提供与 JWT 有效负载声明中包含的范围使用不同的名称,如果 OAuth/OIDC 供应商对该声明使用不同的名称。
sasl.oauthbearer.sub.claim.nametype: string
Default: sub
Importance: low
主题的 OAuth 声明通常名为"sub",但这(可选)设置可以提供与 JWT 有效负载声明中包含的主题使用不同的名称,如果 OAuth/OIDC 供应商对该声明使用不同的名称。
security.providersType: string
Default: null
Importance: low
可配置的创建者类列表,每个都返回实施安全算法的供应商。这些类应该实施
org.apache.kafka.common.security.auth.SecurityProviderCreator接口。ssl.cipher.suitestype: list
Default: null
Importance: low
密码套件列表。这是身份验证、加密、MAC 和密钥交换算法的命名组合,用于使用 TLS 或 SSL 网络协议协商网络连接的安全设置。默认情况下支持所有可用的密码套件。
ssl.endpoint.identification.algorithmtype: string
Default: https
Importance: low
使用服务器证书验证服务器主机名的端点标识算法。
ssl.engine.factory.classType: class
Default: null
Importance: low
用于提供 SSLEngine 对象的 org.apache.kafka.common.security.auth.SslEngineFactory 类型的类。默认值为 org.apache.kafka.common.security.ssl.DefaultSslEngineFactory。
ssl.keymanager.algorithmtype: string
Default: SunX509
Importance: low
用于 SSL 连接的密钥管理器工厂使用的算法。Default 值是为 Java 虚拟机配置的密钥管理器工厂算法。
ssl.secure.random.implementationType: string
Default: null
Importance: low
用于 SSL 加密操作的 SecureRandom PRNG 实现。
ssl.trustmanager.algorithmtype: string
Default: PKIX
Importance: low
信任管理器工厂用于 SSL 连接的算法。Default 值是为 Java 虚拟机配置的信任管理器工厂算法。