2.2.2.3. Kafka クレデンシャルの取得
アプリケーションまたはサービスを Kafka インスタンスに接続するには、まず以下の Kafka クレデンシャルを取得する必要があります。
- ブートストラップ URL を取得します。
- クレデンシャル (ユーザー名とパスワード) を使用してサービスアカウントを作成します。
OpenShift Streams では、認証プロトコルは SASL_SSL です。
前提条件
- Kafka インスタンスを作成し、ステータスが ready である。
- Kafka トピックを作成している。
手順
Kafka ブローカーの URL (ブートストラップ URL) を取得します。
rhoas statusコマンドは、以下のような出力を返します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ユーザー名とパスワードを取得するには、以下の構文を使用してサービスアカウントを作成します。
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"}{"clientID":"srvc-acct-eb575691-b94a-41f1-ab97-50ade0cd1094", "password":"facf3df1-3c8d-4253-aa87-8c95ca5e1225"}Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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 $CLIENT_ID --topic test-topic --group allCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下は例になります。
rhoas kafka acl grant-access --producer --consumer --service-account srvc-acct-eb575691-b94a-41f1-ab97-50ade0cd1094 --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 allCopy to Clipboard Copied! Toggle word wrap Toggle overflow