Wie können Warteschlangen in RabbitMQ in einem Multitenancy-System privat / sicher gemacht werden?

Habe ich gelesen, das Einstieg guide zur Verfügung gestellt von RabbitMQ und haben sogar dazu beigetragen, den sechsten Beispiel gestürmt-amqpso habe ich eine Ahnung von wissen über AMQP.

Allerdings ist die Anleitung nicht vollständig und vermeidet Dinge wie Authentifizierung und Autorisierung.

Gestalten wir ein multitenancy-system, RabbitMQ in einem RPC-Typ von situation. Was ist vielleicht anders über diese Implementierung von RPC ist, dass die remote-Verfahren werden tatsächlich andere Mieter Programme auf dem system.

Grundsätzlich möchte ich zu isolieren, die Daten-Busse, die enthält die folgenden Behauptungen:

  1. Unserem server nicht liefern Daten an den falschen Mieter-Programm (dieses ist problemlos behandelt und ist relevant, aber nicht hinterfragt).
  2. Mieter-Programme sind nicht in der Lage sein, zum Lesen von Daten aus Warteschlangen, die nicht die ihrigen.
  3. Mieter-Programme sind nicht in der Lage zu schreiben, um Warteschlangen, die nicht die ihrigen.

Diese Frage ist unbedingt zu RabbitMQ Sicherheit. Ich weiß, dass RabbitMQ SSL unterstützt, bietet Ende-zu-Ende-Verschlüsselung, und ich weiß, RabbitMQ unterstützt Benutzername/Passwort-Authentifizierung. Ich weiß nicht, ob diese Dinge gelten zu privatisieren-queue-usage (aka ACL), D. H. die Verbindung kann verschlüsselt werden, und der Benutzer kann verifiziert werden, aber der user kann Lesen /schreiben aus allen Warteschlangen.

Kann jemand aufklären mich auf dieses fortgeschrittene Thema? Ich bin zuversichtlich, dass RabbitMQ kann die Unterstützung dieser Art von system, aber nicht gerade positiv. Ich weiß, es gibt Dinge im RabbitMQ, dass ich einfach nicht wissen, z.B. was sind die vhosts und wird Sie in dieser situation zu helfen? Ich weiß nur nicht sehen, die Lösung in meinem aktuellen wissen beschränkt sich auf routing-keys, die Namen der Queues und exchanges.

InformationsquelleAutor der Frage Brian | 2011-10-20

Schreibe einen Kommentar