Mosquitto: Node-REDでのMQTT API認証

このドキュメントはAPI認証ガイドの一部です。完全なガイドはこちらからご覧いただけます:外部APIを使用して数千のデバイスを認証する方法

👋 Stackhero ドキュメントへようこそ!

Stackhero では、信頼性と柔軟性を重視したフルマネージドの Mosquitto MQTT クラウド 環境をご提供しています:

  • 無制限のメッセージスループットとデータ転送により、ワークフローが人工的な制限に達することはありません。
  • 独自の外部 API を利用した 無制限のデバイス認証で、オンボーディングやアクセス管理もシームレスに行えます。
  • トピック、ユーザー、アクションごとに細かく制御できる 高度な ACL
  • HTTPS 対応の カスタムドメイン名で、セキュアかつブランド化されたエンドポイントを提供します(例:https://mqtt.your-company.com)。
  • ワンクリックで適用できるアップデートにより、改善やセキュリティパッチも手間なく実施可能です。
  • すべてのインスタンスが プライベートかつ専用インフラ上で稼働し、安定した パフォーマンスと強固な セキュリティを実現します。

IoT プロジェクトを加速し、運用負荷を大幅に削減しましょう。セキュアで本番運用に対応した Mosquitto MQTT クラウドホスティング インスタンスを、わずか数分で立ち上げることができます。

Stackhero for Node-REDにはMosquittoサーバーが含まれています。しかし、高度な使用のためには、スタンドアロンのMosquittoサービスを持つことが推奨されます。 この例は、スタンドアロンのMosquittoサービスとNode-REDサービスを使用してAPI認証システムを使用する方法を示しています。 Node-REDに含まれるMosquittoサービスを使用している場合、このガイドは適用されません。

Stackhero for Node-REDは、「MQTT authentication」という名前のフローでMQTT API接続の例を提供しています。このフローは、Stackhero for Node-REDに統合されたMosquittoサーバーでも使用されます。

Node-REDをAPI認証エンドポイントとして使用するには、Mosquittoの設定を次のように更新します:

  1. API authenticationオプションを有効にします。
  2. HostフィールドをNode-REDドメインに設定します。
  3. ProtocolとしてHTTPSを選択し、Port443を入力します。
  4. User route/mqttAuthentication/userGetとして指定します。
  5. ACLs route/mqttAuthentication/aclCheckとして指定します。

デバッグのために、「Authentication cache time」を1秒に設定することができます。設定が正常に動作するようになったら、推奨値は30秒です。

Mosquitto設定例Mosquitto設定例

Mosquittoの設定を更新した後、Node-REDを起動し、MQTT authenticationフローを開きます。Usersノードを編集してユーザー資格情報を設定します。提供された例には、いくつかのユーザー名とパスワードの組み合わせが含まれています。必要に応じてユーザーを追加してください。

Node-RED MQTT認証フローNode-RED MQTT認証フロー