RabbitMQ の暗号化されたパスワードの更新
RabbitMQ パスワードは、インストーラを使用して ThingWorx Flow をインストールする際に暗号化されます。RabbitMQ の暗号化されたパスワードを変更するには、次の手順を実行します。
1. <ThingWorx Flow のインストール場所>\modules\RabbitMQ\definitions.json ファイルで、password パラメータの値を新規パスワードに更新します。
2. 次の手順を実行することで、更新された RabbitMQ パスワードを使用して QUEUE.ADAPTERS.AMQP.CONFIG.credentials パラメータを修正します。
a. secret パラメータの値を使用して、keyfile-key を復号化します。secret パラメータの値を取得するには、ThingWorx Flow をインストールしたマシンで管理者としてコマンドプロンプトを起動し、次のコマンドを実行します。
a. pm2 ls
任意の ThingWorx Flow サービスの ID の値をメモしておきます。
b. pm2 env <id>
ここで、<id> は ThingWorx Flow サービスの ID です。例: flow-api サービスの ID。
c. CONFIG_IMAGE 変数の値をコピーします。これは secret パラメータの値です。これは、手順 3 で指定する必要がある secret パラメータの値です。
b. 次のコマンドを実行してキーファイルを復号化します。
i. <ThingWorx Flow のインストール場所> に移動します。
ii. 次のコマンドを実行します。
cd <ThingWorx Flow のインストール場所>\cryptography\tw-security-common-nodejs
Windows: npm link または Linux: sudo npm link
iii. 次のコマンドを実行して、keyfile-key をテンポラリファイルに復号化します。
node dist\PtcOrchKeyFileTool.js --secret <CONFIG_IMAGE の値> --keyfile-location <ThingWorx Flow のインストール場所>\misc\keyfile-key --plaintext <ThingWorx Flow のインストール場所>\cryptography\keys.json --encrypted <ThingWorx Flow のインストール場所>\cryptography\keys.enc decrypt
このコマンドによって、新規の復号化された keys.json ファイルが <ThingWorx Flow インストール場所>\cryptography\ フォルダ内に作成されます。
iv. keys.json ファイルで、QUEUE.ADAPTERS.AMQP.CONFIG.credentials パラメータの、ThingWorx Flow ユーザー名の後ろに表示されている値を更新後の RabbitMQ のパスワードに修正します。
例: "QUEUE.ADAPTERS.AMQP.CONFIG.credentials":"flowuser:7153f1145576c9d239db324581f6cadd"
ここで、flowuser は ThingWorx Flow ユーザー名であり、7153f1145576c9d239db324581f6cadd を更新後のパスワードに置き換える必要があります。
v. <ThingWorx Flow インストール場所>\cryptography\keys.enc ファイルのバックアップを作成します。
vi. <ThingWorx Flow インストール場所>\cryptography\keys.enc ファイルを削除します。
vii. 次のコマンドを実行して、新規の暗号化された keys.enc ファイルを作成します。
node dist\PtcOrchKeyFileTool.js --secret <CONFIG_IMAGE の値> --keyfile-location <ThingWorx Flow のインストール場所>\misc\keyfile-key --plaintext <ThingWorx Flow のインストール場所>\cryptography\keys.json --encrypted <ThingWorx Flow のインストール場所>\cryptography\keys.enc encrypt
viii. 復号化された keys.json ファイルを削除します。
3. ここで説明する手順に従って、
ThingWorx Foundation キーストアに
encrypt.queue.password の値を設定します。
4. RabbitMQ、ThingWorx-Flow、ThingWorx-Foundation の各サービスを再起動します。