搜索

第 9 章 KafkaListenerAuthenticationOAuth 模式参考

download PDF

使用 in: GenericKafkaListener

type 属性是一种辨别器,它会区分来自 KafkaListenerAuthenticationTls, KafkaListenerAuthenticationScramSha512, KafkaListenerAuthenticationCustomKafkaListenerAuthenticationOAuth 类型的使用。对于类型 KafkaListenerAuthenticationOAuth,它需要带有值 oauth

属性属性类型描述

accessTokenIsJwt

布尔值

配置访问令牌是否被视为 JWT。如果授权服务器返回不透明令牌,则必须将其设置为 false。默认值为 true

checkAccessTokenType

布尔值

配置是否执行访问令牌类型检查。如果授权服务器没有在 JWT 令牌中包含"typ"声明,则这应设为 false。默认值为 true

checkAudience

布尔值

启用或禁用受众检查。受众检查可识别令牌的接收者。如果启用了 audience 检查,还必须使用 clientId 属性配置 OAuth 客户端 ID。Kafka 代理将拒绝在其 aud (audience) 声明中没有其 clientId 的令牌。默认值为 false

checkIssuer

布尔值

启用或禁用签发者检查。默认情况下,使用由 validIssuerUri 配置的值来检查签发者。默认值为 true

clientAudience

string

向授权服务器令牌端点发出请求时使用的受众。用于 Inter-broker 身份验证,并使用 clientIdsecret 方法配置 OAuth 2.0。

clientId

string

Kafka 代理可用于对授权服务器进行身份验证的 OAuth 客户端 ID,并使用 introspection 端点 URI。

clientScope

string

向授权服务器令牌端点发出请求时使用的范围。用于 Inter-broker 身份验证,并使用 clientIdsecret 方法配置 OAuth 2.0。

clientSecret

GenericSecretSource

链接到包含 Kafka 代理可用于向授权服务器进行身份验证的 OAuth 客户端 secret 的 OpenShift Secret,并使用 introspection 端点 URI。

connectTimeoutSeconds

整数

连接到授权服务器时的连接超时(以秒为单位)。如果没有设置,则有效的连接超时为 60 秒。

customClaimCheck

string

要应用到 JWT 令牌或内省端点的响应以进行额外令牌验证的 jsonpath 过滤器查询。默认不设置。

disableTlsHostnameVerification

布尔值

启用或禁用 TLS 主机名验证。默认值为 false

enableECDSA

布尔值

enableECDSA 属性已弃用。通过安装 BouncyCastle crypto provider 启用或禁用 ECDSA 支持。ECDSA 支持总是被启用。BouncyCastle 库不再与 Apache Kafka 的 Streams 一起打包。值将被忽略。

enableMetrics

布尔值

启用或禁用 OAuth 指标。默认值为 false

enableOauthBearer

布尔值

启用或禁用 SASL_OAUTHBEARER 的 OAuth 身份验证。默认值为 true

enablePlain

布尔值

启用或禁用 SASL_PLAIN 的 OAuth 身份验证。当使用此机制时,没有重新身份验证的支持。默认值为 false

failFast

布尔值

启用或禁用 Kafka 代理进程的终止,因为启动过程中可能会恢复的运行时错误。默认值为 true

fallbackUserNameClaim

string

如果 userNameClaim 指定的声明不存在,用于用户 id 的回退用户名声明。这仅在 client_credentials 身份验证生成在另一个声明中提供客户端 ID 时很有用。只有在设置了 userNameClaim 时,它才会生效。

fallbackUserNamePrefix

string

用于值 fallbackUserNameClaim 的前缀,以构造用户 id。这只有在 fallbackUserNameClaim 为 true 且声明存在值时才生效。将 username 和 client id 映射到同一用户 ID 空间对于防止名称冲突非常有用。

groupsClaim

string

用于在身份验证期间提取用户的组的 jsonpath 查询。提取的组可由自定义授权器使用。默认情况下,不会提取任何组。

groupsClaimDelimiter

string

当以单个 String 值而不是 JSON 数组中提取时,用于解析组的分隔符。默认值为 ','(comma)。

httpRetries

整数

初始 HTTP 请求失败时尝试的最大重试次数。如果没有设置,则默认为不尝试任何重试。

httpRetryPauseMs

整数

重试失败的 HTTP 请求前需要暂停。如果没有设置,则默认为根本不暂停,而是立即重复请求。

includeAcceptHeader

布尔值

Accept 标头是否应该在请求中设置到授权服务器。默认值为 true

introspectionEndpointUri

string

令牌内省端点的 URI,可用于验证不透明的非 JWT 令牌。

jwksEndpointUri

string

JWKS 证书端点的 URI,可用于本地 JWT 验证。

jwksExpirySeconds

整数

配置 JWKS 证书被视为有效的频率。到期间隔必须至少为 60 秒,然后在 jwksRefreshSeconds 中指定刷新间隔。默认为 360 秒。

jwksIgnoreKeyUse

布尔值

用于忽略 JWKS 端点响应中 密钥 声明的 'use' 属性。默认值为 false

jwksMinRefreshPauseSeconds

整数

连续两个刷新之间的最小暂停。当遇到未知签名密钥时,将立即调度刷新,但总是等待这个最小暂停。默认值为 1 秒。

jwksRefreshSeconds

整数

配置刷新的 JWKS 证书的频率。刷新间隔必须至少为 60 秒,然后是 jwksExpirySeconds 中指定的到期间隔。默认值为 300 秒。

maxSecondsWithoutReauthentication

整数

在不重新身份验证的情况下,经过身份验证的会话保持有效的最大秒数。这可让 Apache Kafka 重新身份验证功能,并在访问令牌过期时导致会话过期。如果访问令牌在最大时间前过期,或者达到最大时间,客户端必须重新验证,否则服务器将丢弃连接。默认情况下不设置 - 经过身份验证的会话不会在访问令牌过期时过期。这个选项只适用于 SASL_OAUTHBEARER 身份验证机制(当 enableOauthBearertrue时)。

readTimeoutSeconds

整数

连接到授权服务器时读取超时(以秒为单位)。如果没有设置,则有效读取超时为 60 秒。

tlsTrustedCertificates

CertSecretSource 数组

用于 TLS 连接到 OAuth 服务器的可信证书。

tokenEndpointUri

string

当客户端使用 clientIdsecret 进行身份验证时,用于 SASL_PLAIN 机制的令牌端点的 URI。如果设置,客户端可以通过 SASL_PLAIN 进行身份验证,方法是将 username 设置为 clientId,并将 password 设置为客户端的 secret,或者将 username 设置为账户用户名,将 password 设置为带有 $accessToken: 前缀的访问令牌。如果没有设置这个选项,密码 总是被解释为访问令牌(没有前缀),用户名作为帐户用户名 (称为 'no-client-credentials' 模式)。

type

string

必须是 oauth

userInfoEndpointUri

string

当 Introspection 端点没有返回可用于用户 ID 的信息时,用作回退的 User Info Endpoint 的 URI,以获取用户 id。

userNameClaim

string

来自 JWT 身份验证令牌、Introspection Endpoint 响应或用户信息端点响应的声明名称,用于提取用户 ID。默认为 sub

validIssuerUri

string

用于身份验证的令牌签发者的 URI。

validTokenType

string

Introspection Endpoint 返回的 token_type 属性的有效值。没有默认值,默认情况下不检查。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.