2.16. OAuth 2.0 認証および承認


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

JWT アクセストークンのチェック

JWT アクセストークンに、2 つの追加チェックを設定できるようになりました。これらのチェックはいずれも Kafka ブローカーリスナーの OAuth 2.0 設定で設定されます。

カスタムクレームチェック

カスタムクレームチェックでは、Kafka ブローカーによる JWT アクセストークンの検証にカスタムルールが適用されます。これらは JsonPath フィルタークエリーを使用して定義されます。

アクセストークンに必要なデータが含まれていないと拒否されます。イントロスペクションエンドポイントトークン検証を使用する場合は、カスタムチェックがイントロスペクションエンドポイントの応答 JSON に適用されます。

カスタムクレームチェックを設定するには、customClaimCheck オプションを追加して JsonPath フィルタークエリーを定義します。カスタムクレームチェックはデフォルトで無効になっています。

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

オーディエンスチェック

承認サーバーは、JWT アクセストークンに aud (オーディエンス) クレームを提供することがあります。

オーディエンスチェックが有効な場合、Kafka ブローカーは aud クレームにブローカーの clientId が含まれていないトークンを拒否します。

オーディエンスチェックを有効にするには、checkAudience オプションを true に設定します。オーディエンスチェックはデフォルトで無効になっています。

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

SASL PLAIN 認証での OAuth 2.0 のサポート

Kafka クライアントと Kafka ブローカー間の OAuth 2.0 認証に PLAIN メカニズムを設定できるようになりました。これまでは、認証されるメカニズムは OAUTHBEARER のみでした。

PLAIN は、すべての Kafka クライアントツール (kafkacat などの開発者ツールを含む) によって使用される簡易認証メカニズムです。AMQ Streams には、PLAIN を OAuth 2.0 認証と使用できるようにするサーバー側のコールバックが含まれています。これらの機能は OAuth 2.0 over PLAIN と呼ばれます。

注記

Red Hat は、可能な限りクライアントに OAUTHBEARER 認証を使用することを推奨します。OAUTHBEARER では、クライアントクレデンシャルは Kafka ブローカーと共有されることがないため、PLAIN よりも高レベルのセキュリティーが提供されます。OAUTHBEARER をサポートしない Kafka クライアントの場合のみ、PLAIN の使用を検討してください。

提供される OAuth 2.0 over PLAIN コールバックと併用すると、Kafka クライアントは以下のいずれかの方法を使用して Kafka ブローカーで認証することができます。

  • クライアント ID およびシークレット (OAuth 2.0 クライアントクレデンシャルメカニズムを使用)
  • 設定時に手動で取得された有効期限の長いアクセストークン

PLAIN を使用するには、Kafka ブローカーの oauth リスナー設定で有効にする必要があります。新しい 3 つの設定オプションがサポートされるようになりました。

  • enableOauthBearer
  • enablePlain
  • tokenEndpointUri

oauth リスナーの設定例

  # ...
  name: external
  port: 9094
  type: loadbalancer
  tls: true
  authentication:
    type: oauth
    # ...
    checkIssuer: false
    fallbackUserNameClaim: client_id
    fallbackUserNamePrefix: client-account-
    validTokenType: bearer
    userInfoEndpointUri: https://OAUTH-SERVER-ADDRESS/auth/realms/external/protocol/openid-connect/userinfo
    enableOauthBearer: false 
1

    enablePlain: true 
2

    tokenEndpointUri: https://OAUTH-SERVER-ADDRESS/auth/realms/external/protocol/openid-connect/token 
3

    #...
Copy to Clipboard Toggle word wrap

1
リスナーでの OAUTHBEARER 認証を無効にします。true またはオプションが指定されていない場合は、OAUTHBEARER 認証が有効になります。
2
リスナーで PLAIN 認証を有効にします。デフォルトは false です。
3
承認サーバーへの OAuth 2.0 トークンエンドポイント URL。enablePlaintrue で、クライアント ID とシークレットが認証に使用される場合に設定する必要があります。

OAuth 2.0 認証メカニズム」および「Kafka ブローカーの OAuth 2.0 サポートの設定」を参照してください。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

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

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

会社概要

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

Theme

© 2026 Red Hat