4.4.2.3. 快速本地 JWT 令牌验证配置


快速本地 JWT 令牌验证在本地检查 JWT 令牌签名。

本地检查可确保令牌:

  • 通过包含访问令牌的 Bearer 声明值(拼写错误)符合类型
  • 有效(未过期)
  • 具有与 validIssuerURI匹配的签发者

在配置监听器时,您可以指定一个 validIssuerURI 属性,以便拒绝授权服务器未发布的任何令牌。

在快速本地 JWT 令牌验证期间,不需要联系授权服务器。您可以通过指定 jwksEndpointUri 属性(OAuth 2.0 授权服务器公开的端点)来激活快速本地 JWT 令牌验证。端点包含用于验证签名 JWT 令牌的公钥,这些令牌由 Kafka 客户端作为凭据发送。

注意

与授权服务器的所有通信都应使用 TLS 加密来执行。

您可以在 AMQ Streams 项目命名空间中将证书信任存储配置为 OpenShift Secret,并使用 a tlsTrustedCertificates 属性指向包含信任存储文件的 OpenShift Secret。

您可能希望配置 userNameClaim 以 从 JWT 令牌正确提取用户名。如果要使用 Kafka ACL 授权,则需要在验证过程中根据用户的用户名进行识别。( JWT 令牌中的 声明通常是唯一的 ID,而不是用户名。)

用于快速本地 JWT 令牌验证的配置示例

apiVersion: kafka.strimzi.io/v1beta1
kind: Kafka
spec:
  kafka:
    #...
    listeners:
      - name: tls
        port: 9093
        type: internal
        tls: true
        authentication:
          type: oauth
          validIssuerUri: <https://<auth-server-address>/auth/realms/tls>
          jwksEndpointUri: <https://<auth-server-address>/auth/realms/tls/protocol/openid-connect/certs>
          userNameClaim: preferred_username
          maxSecondsWithoutReauthentication: 3600
          tlsTrustedCertificates:
          - secretName: oauth-server-cert
            certificate: ca.crt
    #...

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.