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