You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS MSK集群配置Bearer Token认证(KIP-768)相关资源咨询

AWS MSK(Kafka 3.3.1)基于KIP-768配置Bearer Token认证指南

KIP-768在Kafka 2.8版本已正式引入,AWS MSK 3.3.1完全支持该特性。以下是具体配置步骤,覆盖集群端与客户端实现:

一、MSK集群配置

作为托管服务,MSK需通过自定义配置组添加KIP-768相关参数:

  • 启用SASL_SSL监听器与OAUTHBEARER机制
    在集群自定义配置中添加:

    listener.name.sasl_ssl.security.protocol=SASL_SSL
    listener.name.sasl_ssl.sasl.enabled.mechanisms=OAUTHBEARER
    

    若已有其他SASL机制(如SCRAM-SHA-512),用逗号分隔多个值即可,例如SCRAM-SHA-512,OAUTHBEARER。

  • 配置Token验证逻辑
    指定官方验证回调处理器,并关联你的OAuth2授权服务器信息,用于校验Token合法性:

    listener.name.sasl_ssl.bearer.sasl.server.callback.handler.class=org.apache.kafka.common.security.oauthbearer.OAuthBearerValidatorCallbackHandler
    listener.name.sasl_ssl.bearer.sasl.oauth.valid.issuer.uri=https://your-oauth-issuer-domain.com
    listener.name.sasl_ssl.bearer.sasl.oauth.jwks.endpoint.uri=https://your-oauth-issuer-domain.com/.well-known/jwks.json
    

    需确保MSK集群能访问上述授权服务器的JWKS端点,用于验证Token签名。

  • 可选:集群内部通信启用Bearer Token
    若需要Broker间通信也采用该认证方式,添加:

    listener.name.sasl_ssl.sasl.mechanism.inter.broker.protocol=OAUTHBEARER
    

    无需则保持原有内部通信机制即可。

二、生产者/消费者客户端配置

客户端需配置SASL_OAUTHBEARER认证逻辑,自动获取并使用Bearer Token与集群通信:

生产者配置示例

bootstrap.servers=your-msk-bootstrap-servers:9094
security.protocol=SASL_SSL
sasl.mechanism=OAUTHBEARER
sasl.jaas.config=org.apache.kafka.common.security.oauthbearer.OAuthBearerLoginModule required \
  oauth.client.id="your-client-id" \
  oauth.client.secret="your-client-secret" \
  oauth.token.endpoint.uri="https://your-oauth-issuer-domain.com/token";
sasl.login.callback.handler.class=org.apache.kafka.common.security.oauthbearer.OAuthBearerLoginCallbackHandler

消费者配置示例

bootstrap.servers=your-msk-bootstrap-servers:9094
group.id=your-consumer-group-id
security.protocol=SASL_SSL
sasl.mechanism=OAUTHBEARER
sasl.jaas.config=org.apache.kafka.common.security.oauthbearer.OAuthBearerLoginModule required \
  oauth.client.id="your-client-id" \
  oauth.client.secret="your-client-secret" \
  oauth.token.endpoint.uri="https://your-oauth-issuer-domain.com/token";
sasl.login.callback.handler.class=org.apache.kafka.common.security.oauthbearer.OAuthBearerLoginCallbackHandler

关键注意事项

  • Token声明要求:OAuth2授权服务器生成的Token必须包含sub(主体标识)、iat(签发时间)、exp(过期时间)核心声明;若需细粒度权限控制,可添加kafka.resource类声明,配合Kafka ACL实现资源访问限制。
  • 网络连通性:确保MSK集群安全组允许访问OAuth2授权服务器的Token与JWKS端点,同时客户端能访问MSK的SASL_SSL端口(默认9094)。
  • 自定义验证扩展:若官方验证处理器无法满足需求,可编写自定义OAuthBearerValidatorCallbackHandler,打包为JAR后通过MSK插件功能部署到集群。

内容的提问来源于stack exchange,提问作者Vivere

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 10:55:21