3.6.4. 認証での Kafka ブローカーへの接続
デフォルトでは、Kafka Bridge は認証なしで Kafka ブローカーへの接続を試みます。認証は KafkaBridge
リソースを使用して有効化されます。
3.6.4.1. Kafka Bridge での認証サポート
認証は、KafkaBridge.spec
の authentication
プロパティーを使用して設定します。authentication
プロパティーによって、使用する認証メカニズムのタイプと、メカニズムに応じた追加設定の詳細が指定されます。現在サポートされている認証タイプは次のとおりです。
- TLS クライアント認証
- SCRAM-SHA-512 メカニズムを使用した SASL ベースの認証
- PLAIN メカニズムを使用した SASL ベースの認証
- OAuth 2.0 のトークンベースの認証
3.6.4.1.1. TLS クライアント認証
TLS クライアント認証を使用するには、type
プロパティーを値 tls
に設定します。TLS クライアント認証は TLS 証明書を使用して認証します。証明書は certificateAndKey
プロパティーで指定され、常に OpenShift シークレットからロードされます。シークレットでは、公開鍵と秘密鍵の 2 つの鍵を使用して証明書を X509 形式で保存する必要があります。
TLS クライアント認証は TLS 接続でのみ使用できます。Kafka Bridge の TLS 設定の詳細は、「TLS を使用した Kafka ブローカーへの接続」 を参照してください。
TLS クライアント認証の設定例
apiVersion: kafka.strimzi.io/v1alpha1 kind: KafkaBridge metadata: name: my-bridge spec: # ... authentication: type: tls certificateAndKey: secretName: my-secret certificate: public.crt key: private.key # ...
3.6.4.1.2. SCRAM-SHA-512 認証
Kafka Bridge で SASL ベースの SCRAM-SHA-512 認証が使用されるようにするには、type
プロパティーを scram-sha-512
に設定します。この認証メカニズムには、ユーザー名とパスワードが必要です。
-
username
プロパティーでユーザー名を指定します。 -
passwordSecret
プロパティーで、パスワードを含むSecret
へのリンクを指定します。secretName
プロパティーにはSecret
の名前が含まれ、password
プロパティーにはSecret
内にパスワードが格納されるキーの名前が含まれます。
password
フィールドには、実際のパスワードを指定しないでください。
SASL ベースの SCRAM-SHA-512 クライアント認証の設定例
apiVersion: kafka.strimzi.io/v1alpha1 kind: KafkaBridge metadata: name: my-bridge spec: # ... authentication: type: scram-sha-512 username: my-bridge-user passwordSecret: secretName: my-bridge-user password: my-bridge-password-key # ...
3.6.4.1.3. SASL ベースの PLAIN 認証
Kafka Bridge で SASL ベースの PLAIN 認証が使用されるようにするには、type
プロパティーを plain
に設定します。この認証メカニズムには、ユーザー名とパスワードが必要です。
SASL PLAIN メカニズムでは、ネットワーク全体でユーザー名とパスワードがプレーンテキストで転送されます。TLS 暗号化が有効になっている場合にのみ SASL PLAIN 認証を使用します。
-
username
プロパティーでユーザー名を指定します。 -
passwordSecret
プロパティーで、パスワードが含まれるSecret
へのリンクを指定します。secretName
プロパティーにはSecret
の名前が含まれ、password
プロパティーにはSecret
内に保存されるパスワードのキーの名前が含まれます。
password
フィールドに実際のパスワードを指定しないでください。
SASL ベースの PLAIN クライアント認証の設定例
apiVersion: kafka.strimzi.io/v1alpha1 kind: KafkaBridge metadata: name: my-bridge spec: # ... authentication: type: plain username: my-bridge-user passwordSecret: secretName: my-bridge-user password: my-bridge-password-key # ...