2.3. OAuth 2.0 認証および承認


本リリースには、OAuth 2.0 トークンベースの認証および承認に対して改良された以下の機能が含まれています。

セッションの再認証

AMQ Streams の OAuth 2.0 認証は Kafka ブローカーの セッションの再認証 をサポートするようになりました。これは、Kafka クライアントと Kafka ブローカー間の認証された OAuth 2.0 セッションの最大期間を定義します。セッションの再認証は、高速のローカル JWT とイントロスペクションエンドポイントの両方のタイプでサポートされます。

セッションの再認証を設定するには、Kafka ブローカーの OAuth 2.0 設定に新しい maxSecondsWithoutReauthentication オプションを使用します。

特定のリスナーでは、maxSecondsWithoutReauthentication では以下を行うことができます。

  • セッションの再認証を有効にすることができます。
  • Kafka クライアントと Kafka ブローカー間の認証されたセッションの最大期間を秒単位で設定できます。

1 時間後にセッション再認証する設定の例

apiVersion: kafka.strimzi.io/v1beta1
kind: Kafka
spec:
  kafka:
    listeners:
      #...
      - name: tls
        port: 9093
        type: internal
        tls: true
        authentication:
          type: oauth
          maxSecondsWithoutReauthentication: 3600
          # ...

認証されたセッションは、設定されたmaxSecondsWithoutReauthentication を超えた場合や、アクセストークンの有効期限に達した場合に閉じられます。その後、クライアントは再度承認サーバーにログインし、新しいアクセストークンを取得して、Kafka ブローカーへ再認証する必要があります。これにより、既存の接続上で新しい認証セッションが確立されます。

次に再認証が必要な場合、クライアントによって試行された操作 (再認証以外) によって、ブローカーは接続を終了します。

以下を参照してください。「Kafka ブローカーのセッション再認証」および「Kafka ブローカーの OAuth 2.0 サポートの設定

JWKS キーの更新間隔

高速のローカル JWT トークン検証を使用するように Kafka ブローカーを設定する場合に、外部リスナー設定に jwksMinRefreshPauseSeconds オプションを設定できるようになりました。これは、承認サーバーによって発行される JSON Web Key Set (JWKS) 公開鍵の更新をブローカーが試行する最小間隔を定義します。

本リリースでは、Kafka ブローカーは不明な署名キーを検出した場合に、通常の更新スケジュールを待たずに JWKS キーの更新を即座に試行します。

JWKS キーの更新を実行する間隔が 2 分間である設定の例

    listeners:
      #...
      - name: external2
        port: 9095
        type: loadbalancer
        tls: false
        authentication:
          type: oauth
          validIssuerUri: <https://<auth-server-address>/auth/realms/external>
          jwksEndpointUri: <https://<auth-server-address>/auth/realms/external/protocol/openid-connect/certs>
          userNameClaim: preferred_username
          tlsTrustedCertificates:
          - secretName: oauth-server-cert
            certificate: ca.crt
          disableTlsHostnameVerification: true
          jwksExpirySeconds: 360
          jwksRefreshSeconds: 300
          jwksMinRefreshPauseSeconds: 120
          enableECDSA: "true"

JWKS キーの更新スケジュールは、jwksRefreshSeconds オプションに設定されます。不明な署名キーが検出されると、JWKS キーの更新は更新スケジュールとは別にスケジュールされます。最後の更新からの経過時間が jwksMinRefreshPauseSeconds で指定される間隔に達するまで、更新は開始されません。

jwksMinRefreshPauseSeconds のデフォルト値は 1 です。

Kafka ブローカーの OAuth 2.0 サポートの設定」を参照してください。

Red Hat Single Sign-On からの付与 (Grants) の更新

Red Hat Single Sign-On により、OAuth 2.0 のトークンベースの承認に新たな設定オプションが追加されました。Kafka ブローカーの設定時に、Red Hat SSO Authorization Service からの付与 (Grants) の更新に関連する以下のオプションを定義できます。

  • grantsRefreshPeriodSeconds:連続する付与 (Grants) 更新実行の間隔。デフォルト値は 60 です。0 以下に設定されている場合、付与 (Grants) の更新は無効になります。
  • grantsRefreshPoolSize:アクティブなセッションの付与 (Grants) を並行して取得できるスレッドの数。デフォルト値は 5 です。

OAuth 2.0 トークンベース承認の使用」および「OAuth 2.0 承認サポートの設定」を参照してください。

Red Hat Single Sign-On でのパーミッション変更の検出

本リリースでは、keycloak (Red Hat SSO) 承認によってアクティブなセッションのパーミッションの変更が定期的にチェックされるようになりました。ユーザーの変更とパーミッション管理の変更がリアルタイムで検出されるようになりました。

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

Red Hat ドキュメントについて

Legal Notice

Theme

© 2026 Red Hat
トップに戻る