3.3. TLS セキュリティーでの Kafka ストレージの設定
AMQ Streams Operator および Service Registry Operator を、暗号化された Transport Layer Security (TLS) 接続を使用するように設定できます。
前提条件
- OperatorHub またはコマンドラインを使用して Service Registry Operator をインストールしている。
- AMQ Streams Operator がインストールされているか、Kafka が OpenShift クラスターからアクセスできる。
ここでは、AMQ Streams Operator が利用可能であることを前提としていますが、任意の Kafka デプロイメントを使用できます。この場合、Service Registry Operator が想定する Openshift シークレットを手動で作成する必要があります。
手順
- OpenShift Web コンソールで Installed Operators をクリックし、AMQ Streams Operator の詳細を選択してから、Kafka タブをクリックします。
- Create Kafka をクリックし、Service Registry ストレージの新しい Kafka クラスターをプロビジョニングします。
Kafka クラスターに TLS 認証を使用するように、
authorizationフィールドとtlsフィールドを設定します。次に例を示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow データを保存するために Service Registry によって自動作成されるデフォルトの Kafka トピック名は
kafkasql-journalです。環境変数を設定することで、この動作またはデフォルトのトピック名をオーバーライドできます。デフォルト値は以下のとおりです。-
REGISTRY_KAFKASQL_TOPIC_AUTO_CREATE=true -
REGISTRY_KAFKASQL_TOPIC=kafkasql-journal
Kafka トピックを手動で作成しない場合は、次の手順を省略します。
-
Kafka Topic タブをクリックし、Create Kafka Topic をクリックして、
kafkasql-journalトピックを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow Kafka User リソースを作成し、Service Registry ユーザーの認証および承認を設定します。
metadataセクションでユーザー名を指定するか、デフォルトのmy-userを使用できます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記このシンプルな例では、admin パーミッションを前提とし、Kafka トピックを自動的に作成します。Service Registry が必要とするトピックおよびリソースに合わせて
authorizationを設定する必要があります。次の例は、Kafka トピックを手動で作成する場合に必要な最小設定を示しています。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Workloads をクリックしてから Secrets をクリックし、Service Registry が Kafka クラスターに接続するために AMQ Streams によって作成される 2 つのシークレットを見つけます。
-
my-cluster-cluster-ca-cert- Kafka クラスターの PKCS12 トラストストアが含まれています my-user- ユーザーのキーストアが含まれます注記シークレットの名前は、クラスターまたはユーザー名によって異なります。
-
シークレットを手動で作成する場合は、以下のキーと値のペアを含める必要があります。
my-cluster-ca-cert
-
ca.p12- PKCS12 形式のトラストストア -
ca.password- truststore password
-
my-user
-
user.p12- PKCS12 形式のキーストア -
user.password- keystore password
-
Service Registry をデプロイするように、以下の設定例を設定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
プレーンでセキュアでないユースケースとは別の bootstrapServers アドレスを使用する必要があります。アドレスは TLS 接続をサポートする必要があり、指定された Kafka リソースの type:tls フィールドにあります。