第1章 3scale API Management
Kafka Bridge を OpenShift Container Platform にデプロイした場合は、3scale で使用できます。
Kafka Bridge のプレーンデプロイメントでは、認証または認可のプロビジョニングがなく、TLS 暗号化による外部クライアントへの接続はサポートされません。3scale API Management は、TLS を使用して Kafka Bridge を保護し、認証および認可を提供できます。また、3scale との統合により、メトリック、流量制御、請求などの追加機能も利用できるようになります。
3scale では、Streams for Apache Kafka にアクセスする外部クライアントからのリクエストに対して、さまざまな種類の認証を使用できます。3scale では、以下のタイプの認証がサポートされます。
- 標準 API キー
- 識別子およびシークレットトークンとして機能する、ランダムな単一文字列またはハッシュ。
- アプリケーション ID とキーのペア
- イミュータブルな識別子およびミュータブルなシークレットキー文字列。
- OpenID Connect
- 委譲された認証のプロトコル。
1.1. Kafka Bridge のサービス検出
3scale は、サービス検出を使用して統合されます。これには、3scale を Streams for Apache Kafka および Kafka Bridge と同じ OpenShift クラスターにデプロイする必要があります。
Streams for Apache Kafka Cluster Operator デプロイメントには、以下の環境変数が設定されている必要があります。
- STRIMZI_CUSTOM_KAFKA_BRIDGE_SERVICE_LABELS
- STRIMZI_CUSTOM_KAFKA_BRIDGE_SERVICE_ANNOTATIONS
Kafka Bridge をデプロイすると、Kafka Bridge の REST インターフェイスを公開するサービスは、3scale による検出にアノテーションとラベルを使用します。
-
3scale によって
discovery.3scale.net=true
ラベルが使用され、サービスが検出されます。 - アノテーションによってサービスに関する情報が提供されます。
OpenShift コンソールで設定を確認するには、Kafka Bridge インスタンスの Services に移動します。Annotations に、Kafka Bridge の OpenAPI 仕様へのエンドポイントが表示されます。