2.2.2.3. Kafka クレデンシャルの取得
アプリケーションまたはサービスを Kafka インスタンスに接続するには、まず以下の Kafka クレデンシャルを取得する必要があります。
- ブートストラップ URL を取得します。
- クレデンシャル (ユーザー名とパスワード) を使用してサービスアカウントを作成します。
OpenShift Streams では、認証プロトコルは SASL_SSL です。
前提条件
- Kafka インスタンスを作成し、ステータスが ready である。
- Kafka トピックを作成している。
手順
Kafka ブローカーの URL (ブートストラップ URL) を取得します。
rhoas status
コマンドは、以下のような出力を返します。
Kafka --------------------------------------------------------------- ID: 1ptdfZRHmLKwqW6A3YKM2MawgDh Name: my-kafka Status: ready Bootstrap URL: my-kafka--ptdfzrhmlkwqw-a-ykm-mawgdh.kafka.devshift.org:443
ユーザー名とパスワードを取得するには、以下の構文を使用してサービスアカウントを作成します。
rhoas service-account create --name "<account-name>" --file-format json
注記サービスアカウントの作成時に、ファイル形式および場所を選択してクレデンシャルを保存できます。詳細は、
rhoas service-account create --help
コマンドを参照してください。以下に例を示します。
rhoas service-account create --name "my-service-acct" --file-format json
サービスアカウントが作成され、JSON ファイルに保存されます。
サービスアカウントの認証情報を確認するには、
credentials.json
ファイルを表示します。cat credentials.json
コマンドは、以下のような出力を返します。
{"clientID":"srvc-acct-eb575691-b94a-41f1-ab97-50ade0cd1094", "password":"facf3df1-3c8d-4253-aa87-8c95ca5e1225"}
Kakfa トピックとの間でメッセージを送受信する権限を付与します。以下のコマンドを使用します。ここで、
clientID
は (ステップ 3 からの)credentials.json
ファイルで指定される値に置き換えます。rhoas kafka acl grant-access --producer --consumer --service-account $CLIENT_ID --topic test-topic --group all
以下に例を示します。
rhoas kafka acl grant-access --producer --consumer --service-account srvc-acct-eb575691-b94a-41f1-ab97-50ade0cd1094 --topic test-topic --group all