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の設定
Node-REDをAPI認証エンドポイントとして使用するには、Mosquittoの設定を次のように更新します:
API authenticationオプションを有効にします。HostフィールドをNode-REDドメインに設定します。ProtocolとしてHTTPSを選択し、Portに443を入力します。User routeを/mqttAuthentication/userGetとして指定します。ACLs routeを/mqttAuthentication/aclCheckとして指定します。
デバッグのために、「Authentication cache time」を1秒に設定することができます。設定が正常に動作するようになったら、推奨値は30秒です。
Mosquitto設定例
MQTT認証APIとしてのNode-REDの設定
Mosquittoの設定を更新した後、Node-REDを起動し、MQTT authenticationフローを開きます。Usersノードを編集してユーザー資格情報を設定します。提供された例には、いくつかのユーザー名とパスワードの組み合わせが含まれています。必要に応じてユーザーを追加してください。
Node-RED MQTT認証フロー