私はRabbitMQによって提供されたGet Startedガイドを読んでおり、第6の例もstormed-amqpに寄稿しているので、AMQPに関する知識があります。マルチテナントシステムのRabbitMQでキューをプライベート/セキュアにするにはどうすればよいですか?
しかし、ガイドは包括的ではなく、認証や認可などのことを避けています。
RPCタイプの状況でRabbitMQを使用するマルチテナントシステムを設計しています。 RPCのこの実装に関しておそらく異なるのは、リモートプロシージャが実際にシステム上の他のテナントプログラムであるということです。
基本的に、私は以下のアサーションを含むデータバスを、分離したい:
- 当社のサーバーはは(これは容易に取り扱うと関連しているではなく、疑問視され、間違ったテナントプログラムにデータを配信しません)。
- テナントプログラムは、それらのキュー以外のキューからデータを読み取ることができません。
- テナントプログラムは、自分以外のキューに書き込むことができません。
この質問は厳密にRabbitMQセキュリティに関するものです。私はRabbitMQがエンドツーエンドの暗号化を提供するSSLをサポートしていることを知っています。私はRabbitMQがユーザー名/パスワード認証をサポートしていることを知っています。これらのことがキューの使用法(ACLとも呼ばれます)の民営化に適用されるかどうかはわかりません。つまり、接続が暗号化されている可能性があります。ユーザーは確認できますが、すべてのキューに対して読み書きできます。
誰でももっと高度なトピックを教えていただけますか?私はRabbitMQがこの種のシステムをサポートできると確信しています。私はRabbitMQに私が知らないことがあることを知っています。幽霊は何ですか?そして、彼らはこの状況で助けになるでしょうか?私はちょうど私の現在の知識のソリューションがルーティングキー、キュー名と交換に限定されて表示されません。
私は実際にその例の実装をstormed-amqpライブラリ(上記のリンク先)に書きました。私は '排他的な'指示が十分なセキュリティであるかどうか確信がありませんでしたが、私はそれがあるかどうかを調べるためにそれを試します。ありがとう。 – Brian